summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/bibtex/bib/IEEEtran/IEEEabrv.bib411
-rw-r--r--Master/texmf-dist/bibtex/bib/IEEEtran/IEEEbcpat.bib77
-rw-r--r--Master/texmf-dist/bibtex/bib/IEEEtran/IEEEexample.bib1067
-rw-r--r--Master/texmf-dist/bibtex/bib/IEEEtran/IEEEfull.bib381
-rw-r--r--Master/texmf-dist/bibtex/bib/abstyles/acompat.bib45
-rw-r--r--Master/texmf-dist/bibtex/bib/acmconf/pubform.bib96
-rw-r--r--Master/texmf-dist/bibtex/bib/acmtrans/acmtr.bib116
-rw-r--r--Master/texmf-dist/bibtex/bib/adrconv/example.bib73
-rw-r--r--Master/texmf-dist/bibtex/bib/aiaa/bibtex_database.bib124
-rw-r--r--Master/texmf-dist/bibtex/bib/amslatex/jr.bib214
-rw-r--r--Master/texmf-dist/bibtex/bib/apacite/apa5ex.bib2013
-rw-r--r--Master/texmf-dist/bibtex/bib/asaetr/asaetr.bib16
-rw-r--r--Master/texmf-dist/bibtex/bib/ascelike/ascexmpl.bib276
-rw-r--r--Master/texmf-dist/bibtex/bib/babelbib/babelbibtest.bib3803
-rw-r--r--Master/texmf-dist/bibtex/bib/base/xampl.bib356
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/gut.bib1368
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/komoedie.bib365
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/texbook1.bib5888
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/texbook2.bib8427
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/texbook3.bib13664
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/texgraph.bib2839
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/texjourn.bib1378
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/texnique.bib546
-rw-r--r--Master/texmf-dist/bibtex/bib/beebe/tugboat.bib39815
-rw-r--r--Master/texmf-dist/bibtex/bib/bibhtml/bibrefs.bib64
-rw-r--r--Master/texmf-dist/bibtex/bib/bibtopic/articles.bib48
-rw-r--r--Master/texmf-dist/bibtex/bib/bibtopic/books.bib38
-rw-r--r--Master/texmf-dist/bibtex/bib/biocon/literature.bib43
-rw-r--r--Master/texmf-dist/bibtex/bib/camel/camel.bib154
-rw-r--r--Master/texmf-dist/bibtex/bib/computational-complexity/journals.bib728
-rw-r--r--Master/texmf-dist/bibtex/bib/directory/business.bib32
-rw-r--r--Master/texmf-dist/bibtex/bib/directory/family.bib70
-rw-r--r--Master/texmf-dist/bibtex/bib/directory/test.bib30
-rw-r--r--Master/texmf-dist/bibtex/bib/dk-bib/litteratur.bib10
-rw-r--r--Master/texmf-dist/bibtex/bib/dtk/beispiel.bib80
-rw-r--r--Master/texmf-dist/bibtex/bib/dtk/dtk.bib11386
-rw-r--r--Master/texmf-dist/bibtex/bib/figbib/figbib_sample.bib18
-rw-r--r--Master/texmf-dist/bibtex/bib/gatech-thesis/example-thesis.bib138
-rw-r--r--Master/texmf-dist/bibtex/bib/geomsty/manual.bib69
-rw-r--r--Master/texmf-dist/bibtex/bib/germbib/README.bibgerm24
-rw-r--r--Master/texmf-dist/bibtex/bib/germbib/gerbibtx.bib54
-rw-r--r--Master/texmf-dist/bibtex/bib/germbib/gerxampl.bib359
-rw-r--r--Master/texmf-dist/bibtex/bib/germbib/schaum.bib531
-rw-r--r--Master/texmf-dist/bibtex/bib/gloss/glsbase.bib37
-rw-r--r--Master/texmf-dist/bibtex/bib/gloss/sample.bib98
-rw-r--r--Master/texmf-dist/bibtex/bib/gustlib/plbib.bib20
-rw-r--r--Master/texmf-dist/bibtex/bib/harvard/harvard.bib42
-rw-r--r--Master/texmf-dist/bibtex/bib/ieeepes/ieeepes_check.bib61
-rw-r--r--Master/texmf-dist/bibtex/bib/ifacmtg/ifacsam.bib93
-rw-r--r--Master/texmf-dist/bibtex/bib/imac/imac.bib36
-rw-r--r--Master/texmf-dist/bibtex/bib/index/test.bib121
-rwxr-xr-xMaster/texmf-dist/bibtex/bib/iopart-num/iopart-num-example.bib65
-rw-r--r--Master/texmf-dist/bibtex/bib/jurabib/book.bib108
-rw-r--r--Master/texmf-dist/bibtex/bib/jurabib/comment.bib56
-rw-r--r--Master/texmf-dist/bibtex/bib/jurabib/jbtest.bib226
-rw-r--r--Master/texmf-dist/bibtex/bib/jurabib/jbtesthu.bib128
-rw-r--r--Master/texmf-dist/bibtex/bib/minitoc/add.bib24
-rw-r--r--Master/texmf-dist/bibtex/bib/minitoc/fminitoc.bib435
-rw-r--r--Master/texmf-dist/bibtex/bib/minitoc/minitoc.bib438
-rw-r--r--Master/texmf-dist/bibtex/bib/msc/biblio.bib60
-rw-r--r--Master/texmf-dist/bibtex/bib/pst-labo/pst-labo-doc.bib100
-rw-r--r--Master/texmf-dist/bibtex/bib/revtex/apssamp.bib21
-rw-r--r--Master/texmf-dist/bibtex/bib/spie/report.bib61
-rw-r--r--Master/texmf-dist/bibtex/bib/tugboat/tubguide.bib106
-rw-r--r--Master/texmf-dist/bibtex/bib/urlbst/urlbst.bib71
-rw-r--r--Master/texmf-dist/bibtex/bib/uwthesis/uwthesis.bib84
-rw-r--r--Master/texmf-dist/bibtex/bst/IEEEtran/IEEEtran.bst2369
-rw-r--r--Master/texmf-dist/bibtex/bst/IEEEtran/IEEEtranS.bst2550
-rw-r--r--Master/texmf-dist/bibtex/bst/abstyles/aabbrv.bst1062
-rw-r--r--Master/texmf-dist/bibtex/bst/abstyles/aalpha.bst1211
-rw-r--r--Master/texmf-dist/bibtex/bst/abstyles/anotit.bst1075
-rw-r--r--Master/texmf-dist/bibtex/bst/abstyles/aplain.bst1062
-rw-r--r--Master/texmf-dist/bibtex/bst/abstyles/aunsnot.bst941
-rw-r--r--Master/texmf-dist/bibtex/bst/abstyles/aunsrt.bst928
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemso.bst943
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemsol.bst966
-rw-r--r--Master/texmf-dist/bibtex/bst/acmtrans/acmtrans.bst1768
-rw-r--r--Master/texmf-dist/bibtex/bst/adrconv/adrconv.bst151
-rw-r--r--Master/texmf-dist/bibtex/bst/adrconv/adrfax.bst150
-rw-r--r--Master/texmf-dist/bibtex/bst/adrconv/birthday.bst158
-rw-r--r--Master/texmf-dist/bibtex/bst/adrconv/email.bst141
-rw-r--r--Master/texmf-dist/bibtex/bst/aguplus/agu.bst1714
-rw-r--r--Master/texmf-dist/bibtex/bst/aguplus/agufull.bst1689
-rw-r--r--Master/texmf-dist/bibtex/bst/aiaa/aiaa.bst1255
-rw-r--r--Master/texmf-dist/bibtex/bst/amslatex/amsalpha.bst1404
-rw-r--r--Master/texmf-dist/bibtex/bst/amslatex/amsplain.bst1255
-rw-r--r--Master/texmf-dist/bibtex/bst/amslatex/amsra.bst775
-rw-r--r--Master/texmf-dist/bibtex/bst/amslatex/amsrn.bst660
-rw-r--r--Master/texmf-dist/bibtex/bst/amslatex/amsrs.bst773
-rw-r--r--Master/texmf-dist/bibtex/bst/amslatex/amsru.bst536
-rw-r--r--Master/texmf-dist/bibtex/bst/amslatex/amsry.bst774
-rw-r--r--Master/texmf-dist/bibtex/bst/apacite/apacite.bst5091
-rw-r--r--Master/texmf-dist/bibtex/bst/apacite/apacitex.bst5091
-rw-r--r--Master/texmf-dist/bibtex/bst/asaetr/asaetr.bst1209
-rw-r--r--Master/texmf-dist/bibtex/bst/ascelike/ascelike.bst1461
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/bababbr3-fl.bst1343
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/bababbr3-lf.bst1341
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/bababbr3.bst1342
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/bababbrv-fl.bst1337
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/bababbrv-lf.bst1335
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/bababbrv.bst1336
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babalpha-fl.bst1494
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babalpha-lf.bst1492
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babalpha.bst1493
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babamspl.bst1210
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babplai3-fl.bst1343
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babplai3-lf.bst1341
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babplai3.bst1342
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babplain-fl.bst1337
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babplain-lf.bst1335
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babplain.bst1336
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babunsrt-fl.bst1191
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babunsrt-lf.bst1189
-rw-r--r--Master/texmf-dist/bibtex/bst/babelbib/babunsrt.bst1190
-rw-r--r--Master/texmf-dist/bibtex/bst/base/abbrv.bst1097
-rw-r--r--Master/texmf-dist/bibtex/bst/base/acm.bst1134
-rw-r--r--Master/texmf-dist/bibtex/bst/base/alpha.bst1257
-rw-r--r--Master/texmf-dist/bibtex/bst/base/apalike.bst1101
-rw-r--r--Master/texmf-dist/bibtex/bst/base/ieeetr.bst970
-rw-r--r--Master/texmf-dist/bibtex/bst/base/plain.bst1097
-rw-r--r--Master/texmf-dist/bibtex/bst/base/siam.bst1035
-rw-r--r--Master/texmf-dist/bibtex/bst/base/unsrt.bst951
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/aaai-named.bst1283
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/abstract.bst1340
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/annotate.bst1280
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/annotation.bst1105
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/apa.bst1130
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/apalike2.bst1273
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/astron.bst1175
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/authordate1.bst1309
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/authordate2.bst1310
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/authordate3.bst1309
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/authordate4.bst1310
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/bbs.bst1162
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/bibtoref.bst201
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/cbe.bst1161
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/cell.bst1442
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/chicago.bst1654
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/chicagoa.bst1684
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/econometrica.bst1292
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/humanbio.bst1134
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/humannat.bst1205
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/is-abbrv.bst1833
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/is-alpha.bst2020
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/is-plain.bst1835
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/is-unsrt.bst1673
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/jas99.bst1336
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/jbact.bst1490
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/jmb.bst1368
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/jtb.bst1202
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/jthcarsu.bst986
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/named.bst1287
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/namunsrt.bst949
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/nar.bst1056
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/nature.bst1012
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/newapa.bst1468
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phaip.bst1885
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phapalik.bst1943
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phcpc.bst1885
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phiaea.bst1889
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phjcp.bst1888
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phnf.bst1890
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phnflet.bst1883
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phpf.bst1877
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phppcf.bst2009
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phreport.bst1885
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/phrmp.bst2150
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/plainyr.bst1144
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/refer.bst163
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/xbtxbst.doc2665
-rw-r--r--Master/texmf-dist/bibtex/bst/bibhtml/alphahtml.bst1410
-rw-r--r--Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst1420
-rw-r--r--Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldater.bst1420
-rw-r--r--Master/texmf-dist/bibtex/bst/bibhtml/plainhtml.bst1286
-rw-r--r--Master/texmf-dist/bibtex/bst/bibhtml/plainhtmldate.bst1083
-rw-r--r--Master/texmf-dist/bibtex/bst/bibhtml/plainhtmldater.bst1294
-rw-r--r--Master/texmf-dist/bibtex/bst/camel/law.bst1685
-rw-r--r--Master/texmf-dist/bibtex/bst/chem-journal/jcc.bst990
-rw-r--r--Master/texmf-dist/bibtex/bst/chem-journal/jpc.bst990
-rw-r--r--Master/texmf-dist/bibtex/bst/chem-journal/pccp.bst989
-rw-r--r--Master/texmf-dist/bibtex/bst/chem-journal/revcompchem.bst993
-rw-r--r--Master/texmf-dist/bibtex/bst/computational-complexity/cc.bst1383
-rw-r--r--Master/texmf-dist/bibtex/bst/computational-complexity/cc2.bst1667
-rw-r--r--Master/texmf-dist/bibtex/bst/context/cont-ab.bst1120
-rw-r--r--Master/texmf-dist/bibtex/bst/context/cont-au.bst1120
-rw-r--r--Master/texmf-dist/bibtex/bst/context/cont-no.bst1120
-rw-r--r--Master/texmf-dist/bibtex/bst/context/cont-ti.bst1120
-rw-r--r--Master/texmf-dist/bibtex/bst/dinat/dinat.bst1952
-rw-r--r--Master/texmf-dist/bibtex/bst/directory/address-html.bst791
-rw-r--r--Master/texmf-dist/bibtex/bst/directory/address.bst767
-rw-r--r--Master/texmf-dist/bibtex/bst/directory/email-html.bst361
-rw-r--r--Master/texmf-dist/bibtex/bst/directory/letter.bst272
-rw-r--r--Master/texmf-dist/bibtex/bst/directory/phone.bst487
-rw-r--r--Master/texmf-dist/bibtex/bst/dk-bib/dk-abbrv.bst1301
-rw-r--r--Master/texmf-dist/bibtex/bst/dk-bib/dk-alpha.bst1455
-rw-r--r--Master/texmf-dist/bibtex/bst/dk-bib/dk-apali.bst1295
-rw-r--r--Master/texmf-dist/bibtex/bst/dk-bib/dk-plain.bst1301
-rw-r--r--Master/texmf-dist/bibtex/bst/dk-bib/dk-unsrt.bst1155
-rw-r--r--Master/texmf-dist/bibtex/bst/dtk/dtk.bst1342
-rw-r--r--Master/texmf-dist/bibtex/bst/elsevier/elsart-harv.bst1528
-rw-r--r--Master/texmf-dist/bibtex/bst/elsevier/elsart-num.bst1262
-rw-r--r--Master/texmf-dist/bibtex/bst/figbib/figbib.bst56
-rw-r--r--Master/texmf-dist/bibtex/bst/figbib/figbib1.bst56
-rw-r--r--Master/texmf-dist/bibtex/bst/finbib/finplain.bst1213
-rw-r--r--Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis-losa.bst264
-rw-r--r--Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis.bst1137
-rw-r--r--Master/texmf-dist/bibtex/bst/germbib/gerabbrv.bst1208
-rw-r--r--Master/texmf-dist/bibtex/bst/germbib/geralpha.bst1369
-rw-r--r--Master/texmf-dist/bibtex/bst/germbib/gerapali.bst1227
-rw-r--r--Master/texmf-dist/bibtex/bst/germbib/gerplain.bst1209
-rw-r--r--Master/texmf-dist/bibtex/bst/germbib/gerunsrt.bst1063
-rw-r--r--Master/texmf-dist/bibtex/bst/gloss/glsplain.bst252
-rw-r--r--Master/texmf-dist/bibtex/bst/gloss/glsshort.bst251
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost71s.bst1577
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost71u.bst1465
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost780s.bst1540
-rw-r--r--Master/texmf-dist/bibtex/bst/gost/gost780u.bst1428
-rw-r--r--Master/texmf-dist/bibtex/bst/gustlib/plabbrv.bst1209
-rw-r--r--Master/texmf-dist/bibtex/bst/gustlib/plalpha.bst1410
-rw-r--r--Master/texmf-dist/bibtex/bst/gustlib/plplain.bst1234
-rw-r--r--Master/texmf-dist/bibtex/bst/gustlib/plunsrt.bst1072
-rw-r--r--Master/texmf-dist/bibtex/bst/harvard/agsm.bst1353
-rw-r--r--Master/texmf-dist/bibtex/bst/harvard/apsr.bst1378
-rw-r--r--Master/texmf-dist/bibtex/bst/harvard/jmr.bst1357
-rw-r--r--Master/texmf-dist/bibtex/bst/harvard/jphysicsB.bst1322
-rw-r--r--Master/texmf-dist/bibtex/bst/harvard/kluwer.bst1355
-rw-r--r--Master/texmf-dist/bibtex/bst/harvard/nederlands.bst1621
-rw-r--r--Master/texmf-dist/bibtex/bst/hc/hc-de.bst1507
-rw-r--r--Master/texmf-dist/bibtex/bst/hc/hc-en.bst1539
-rw-r--r--Master/texmf-dist/bibtex/bst/ieeepes/ieeepes.bst1014
-rw-r--r--Master/texmf-dist/bibtex/bst/ifacmtg/ifac.bst1294
-rw-r--r--Master/texmf-dist/bibtex/bst/imac/imac.bst1227
-rw-r--r--Master/texmf-dist/bibtex/bst/index/xagsm.bst1274
-rw-r--r--Master/texmf-dist/bibtex/bst/index/xplain.bst1135
-rw-r--r--Master/texmf-dist/bibtex/bst/inlinebib/inlinebib.bst1125
-rwxr-xr-xMaster/texmf-dist/bibtex/bst/iopart-num/iopart-num.bst1512
-rw-r--r--Master/texmf-dist/bibtex/bst/jurabib/jox.bst2397
-rw-r--r--Master/texmf-dist/bibtex/bst/jurabib/jurabib.bst2894
-rw-r--r--Master/texmf-dist/bibtex/bst/jurabib/jureco.bst2809
-rw-r--r--Master/texmf-dist/bibtex/bst/jurabib/jurunsrt.bst2835
-rw-r--r--Master/texmf-dist/bibtex/bst/kluwer/klunamed.bst1181
-rw-r--r--Master/texmf-dist/bibtex/bst/kluwer/klunum.bst1159
-rw-r--r--Master/texmf-dist/bibtex/bst/minitoc/frplain1.bst1129
-rw-r--r--Master/texmf-dist/bibtex/bst/mslapa/mslapa.bst1604
-rw-r--r--Master/texmf-dist/bibtex/bst/multibib/mbplain.bst1107
-rw-r--r--Master/texmf-dist/bibtex/bst/natbib/abbrvnat.bst1432
-rw-r--r--Master/texmf-dist/bibtex/bst/natbib/plainnat.bst1432
-rw-r--r--Master/texmf-dist/bibtex/bst/natbib/unsrtnat.bst1322
-rw-r--r--Master/texmf-dist/bibtex/bst/nature/naturemag.bst1524
-rw-r--r--Master/texmf-dist/bibtex/bst/opcit/opcit.bst789
-rw-r--r--Master/texmf-dist/bibtex/bst/oxford/oxford_en.bst1889
-rw-r--r--Master/texmf-dist/bibtex/bst/oxford/oxford_in.bst1889
-rw-r--r--Master/texmf-dist/bibtex/bst/oxford/oxford_se.bst1890
-rw-r--r--Master/texmf-dist/bibtex/bst/perception/perception.bst1584
-rw-r--r--Master/texmf-dist/bibtex/bst/revtex/apsrev.bst2380
-rw-r--r--Master/texmf-dist/bibtex/bst/revtex/apsrmp.bst2359
-rw-r--r--Master/texmf-dist/bibtex/bst/savetrees/savetrees.bst1420
-rw-r--r--Master/texmf-dist/bibtex/bst/smflatex/smfalpha.bst1279
-rw-r--r--Master/texmf-dist/bibtex/bst/smflatex/smfplain.bst1118
-rw-r--r--Master/texmf-dist/bibtex/bst/spie/spiebib.bst1050
-rw-r--r--Master/texmf-dist/bibtex/bst/swebib/sweabbrv.bst1096
-rw-r--r--Master/texmf-dist/bibtex/bst/swebib/swealpha.bst1256
-rw-r--r--Master/texmf-dist/bibtex/bst/swebib/sweplain.bst1096
-rw-r--r--Master/texmf-dist/bibtex/bst/texsis/texsis.bst1195
-rw-r--r--Master/texmf-dist/bibtex/bst/tugboat/ltugbib.bst1181
-rw-r--r--Master/texmf-dist/bibtex/bst/urlbst/abbrvurl.bst1250
-rw-r--r--Master/texmf-dist/bibtex/bst/urlbst/alphaurl.bst1410
-rw-r--r--Master/texmf-dist/bibtex/bst/urlbst/plainurl.bst1250
-rw-r--r--Master/texmf-dist/bibtex/bst/urlbst/unsrturl.bst1104
-rw-r--r--Master/texmf-dist/bibtex/csf/base/88592pl.csf291
-rw-r--r--Master/texmf-dist/bibtex/csf/base/cp1250pl.csf292
-rw-r--r--Master/texmf-dist/bibtex/csf/base/cp852pl.csf292
-rw-r--r--Master/texmf-dist/bibtex/csf/base/iso8859-7.csf107
-rw-r--r--Master/texmf-dist/bibtex/csf/dk-bib/88591-dk.csf106
-rw-r--r--Master/texmf-dist/bibtex/csf/dk-bib/cp850-dk.csf106
-rw-r--r--Master/texmf-dist/bibtex/csf/dk-bib/mac-dk.csf99
-rw-r--r--Master/texmf-dist/bibtex/csf/dk-bib/utf8-dk.csf127
-rw-r--r--Master/texmf-dist/bibtex/csf/gost/cp1251.csf275
-rw-r--r--Master/texmf-dist/bibtex/csf/gost/koi8u.csf275
-rw-r--r--Master/texmf-dist/bibtex/csf/gost/ruscii.csf275
280 files changed, 372453 insertions, 0 deletions
diff --git a/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEabrv.bib b/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEabrv.bib
new file mode 100644
index 00000000000..e5277445e98
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEabrv.bib
@@ -0,0 +1,411 @@
+%%
+%% IEEEabrv.bib
+%%
+%% BibTeX bibliography string definitions of the ABBREVIATED titles of
+%% IEEE journals and magazines
+%%
+%% NOTE: This text file uses UNIX line feed conventions. When (human)
+%% reading this file on other platforms, you may have to use a text
+%% editor that can handle lines terminated by the UNIX line feed
+%% character (0x0A).
+%%
+%% This file is designed for bibliography styles that require
+%% abbreviated titles and is not for use in bibliographies that
+%% require full-length titles.
+%%
+%% Version 1.10 (2003/04/02)
+%%
+%% Composed by Michael Shell
+%%
+%% See:
+%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
+%% for latest version and current contact information.
+%%
+%% Special thanks to Laura Hyslop of IEEE for her help in obtaining the
+%% information needed to compile this file. Also, Volker Kuhlmann kindly
+%% provided some corrections and additions.
+%%
+%%**********************************************************************
+%% Legal Notice:
+%% This code is offered as-is without any warranty either expressed or
+%% implied; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE!
+%% User assumes all risk.
+%% In no event shall IEEE or any contributor to this code be liable for
+%% any damages or losses, including, but not limited to, incidental,
+%% consequential, or any other damages, resulting from the use or misuse
+%% of any information contained here.
+%%
+%% This code is distributed under the Perl Artistic License
+%% ( http://language.perl.com/misc/Artistic.html )
+%% and may be freely used, distributed and modified - subject to the
+%% constraints therein.
+%% Retain all contribution notices, credits and disclaimers.
+%%
+%% All comments are the opinions of their respective authors and are not
+%% necessarily endorsed by the IEEE.
+%%**********************************************************************
+%
+%
+% USAGE:
+%
+% \bibliographystyle{mybstfile}
+% \bibliography{IEEEabrv,mybibfile}
+%
+% where the IEEE titles in the .bib database entries use the strings
+% defined here. e.g.,
+%
+%
+% journal = IEEE_J_AC,
+%
+%
+% to yield "{IEEE} Trans. Automat. Contr."
+%
+%
+% IEEE uses abbreviated journal titles in their bibliographies -
+% this file is suitable for work that is to be submitted to the IEEE.
+%
+%
+% For work that requires full-length titles, you should use the full
+% titles provided in the companion file, IEEEfull.bib.
+%
+%
+% ** NOTES **
+%
+% 1. Journals have been grouped according to subject in order to make it
+% easier to locate and extract the definitions for related journals -
+% as most works use references that are confined to a single topic.
+% Magazines are listed in straight alphabetical order.
+%
+% 2. String names are closely based on IEEE's own internal acronyms.
+%
+% 3. Abbreviations follow IEEE's style.
+%
+% 4. Older, out-of-print IEEE titles are included (but not including titles
+% dating prior to IEEE's formation from the IRE and AIEE in 1963).
+%
+% 5. The following NEW/current journal definitions have been disabled because
+% their abbreviations have not yet been finalized/verified:
+%
+% STRING{IEEE_J_MC = "{IEEE} Trans. Mobile Comput."}
+% STRING{IEEE_J_JEM = "{IEEE/TMS} J. Electron. Mater."}
+% STRING{IEEE_J_MCTE = "{IEEE} Trans. Molecular Cellular Tissue Eng."}
+% STRING{IEEE_J_ESSL = "{IEEE/ECS} Electrochemical Solid-State Lett."}
+% STRING{IEEE_J_CJECE = "Canadian J. Elect. Comput. Eng."}
+%
+% 6. The following OLD journal definitions have been disabled because
+% their abbreviations have not yet been found/verified:
+%
+% STRING{IEEE_J_EWS = "{IEEE} Trans. Eng. Writing Speech"}
+% STRING{IEEE_J_BCTV = "{IEEE} Trans. Broadcast Television Receivers"}
+%
+% If you know what the proper abbreviation is for a string in #5 or #6 above,
+% email me and I will correct them in the next release.
+
+
+
+
+%%%%%%%%%%%%%%%%%%%
+%% IEEE Journals %%
+%%%%%%%%%%%%%%%%%%%
+
+
+% aerospace and military
+@STRING{IEEE_J_AES = "{IEEE} Trans. Aerosp. Electron. Syst."}
+@STRING{IEEE_J_ANE = "{IEEE} Trans. Aerosp. Navig. Electron."}
+@STRING{IEEE_J_ANNE = "{IEEE} Trans. Aeronaut. Navig. Electron."}
+@STRING{IEEE_J_AS = "{IEEE} Trans. Aerosp."}
+@STRING{IEEE_J_AIRE = "{IEEE} Trans. Airborne Electron."}
+@STRING{IEEE_J_MIL = "{IEEE} Trans. Mil. Electron."}
+
+
+
+% autos, transportation and vehicles (non-aerospace)
+@STRING{IEEE_J_ITS = "{IEEE} Trans. Intell. Transport. Syst."}
+@STRING{IEEE_J_VT = "{IEEE} Trans. Veh. Technol."}
+@STRING{IEEE_J_VC = "{IEEE} Trans. Veh. Commun."}
+
+
+
+% circuits, signals, systems, audio and controls
+@STRING{IEEE_J_SPL = "{IEEE} Signal Processing Lett."}
+@STRING{IEEE_J_ASSP = "{IEEE} Trans. Acoust., Speech, Signal Processing"}
+@STRING{IEEE_J_AU = "{IEEE} Trans. Audio"}
+@STRING{IEEE_J_AUEA = "{IEEE} Trans. Audio Electroacoust."}
+@STRING{IEEE_J_AC = "{IEEE} Trans. Automat. Contr."}
+@STRING{IEEE_J_CAS = "{IEEE} Trans. Circuits Syst."}
+@STRING{IEEE_J_CASVT = "{IEEE} Trans. Circuits Syst. Video Technol."}
+@STRING{IEEE_J_CASI = "{IEEE} Trans. Circuits Syst. {I}"}
+@STRING{IEEE_J_CASII = "{IEEE} Trans. Circuits Syst. {II}"}
+@STRING{IEEE_J_CT = "{IEEE} Trans. Circuit Theory"}
+@STRING{IEEE_J_CST = "{IEEE} Trans. Contr. Syst. Technol."}
+@STRING{IEEE_J_SP = "{IEEE} Trans. Signal Processing"}
+@STRING{IEEE_J_SU = "{IEEE} Trans. Sonics Ultrason."}
+@STRING{IEEE_J_SAP = "{IEEE} Trans. Speech Audio Processing"}
+@STRING{IEEE_J_UE = "{IEEE} Trans. Ultrason. Eng."}
+@STRING{IEEE_J_UFFC = "{IEEE} Trans. Ultrason., Ferroelect., Freq. Contr."}
+
+
+
+% communications
+@STRING{IEEE_J_COML = "{IEEE} Commun. Lett."}
+@STRING{IEEE_J_JSAC = "{IEEE} J. Select. Areas Commun."}
+@STRING{IEEE_J_COM = "{IEEE} Trans. Commun."}
+@STRING{IEEE_J_COMT = "{IEEE} Trans. Commun. Technol."}
+@STRING{IEEE_J_WCOM = "{IEEE} Trans. Wireless Commun."}
+
+
+
+% components, packaging and manufacturing
+@STRING{IEEE_J_ADVP = "{IEEE} Trans. Adv. Packag."}
+@STRING{IEEE_J_CHMT = "{IEEE} Trans. Comp., Hybrids, Manufact. Technol."}
+@STRING{IEEE_J_CPMTA = "{IEEE} Trans. Comp., Packag., Manufact. Technol. {A}"}
+@STRING{IEEE_J_CPMTB = "{IEEE} Trans. Comp., Packag., Manufact. Technol. {B}"}
+@STRING{IEEE_J_CPMTC = "{IEEE} Trans. Comp., Packag., Manufact. Technol. {C}"}
+@STRING{IEEE_J_CAPT = "{IEEE} Trans. Comp. Packag. Technol."}
+@STRING{IEEE_J_CAPTS = "{IEEE} Trans. Comp. Packag. Technol."}
+@STRING{IEEE_J_CPART = "{IEEE} Trans. Comp. Parts"}
+@STRING{IEEE_J_EPM = "{IEEE} Trans. Electron. Packag. Manufact."}
+@STRING{IEEE_J_MFT = "{IEEE} Trans. Manufact. Technol."}
+@STRING{IEEE_J_PHP = "{IEEE} Trans. Parts, Hybrids, Packag."}
+@STRING{IEEE_J_PMP = "{IEEE} Trans. Parts, Mater., Packag."}
+
+
+
+% CAD
+@STRING{IEEE_J_TCAD = "{IEEE} J. Technol. Computer Aided Design"}
+@STRING{IEEE_J_CAD = "{IEEE} Trans. Computer-Aided Design"}
+
+
+
+% coding, data, information, knowledge
+@STRING{IEEE_J_IT = "{IEEE} Trans. Inform. Theory"}
+@STRING{IEEE_J_KDE = "{IEEE} Trans. Knowledge Data Eng."}
+
+
+
+% computers, computation, networking and software
+@STRING{IEEE_J_C = "{IEEE} Trans. Comput."}
+@STRING{IEEE_J_ECOMP = "{IEEE} Trans. Electron. Comput."}
+@STRING{IEEE_J_EVC = "{IEEE} Trans. Evol. Comput."}
+@STRING{IEEE_J_FUZZ = "{IEEE} Trans. Fuzzy Syst."}
+% disabled till definition finalized
+STRING{IEEE_J_MC = "{IEEE} Trans. Mobile Comput."}
+@STRING{IEEE_J_NET = "{IEEE/ACM} Trans. Networking"}
+@STRING{IEEE_J_NN = "{IEEE} Trans. Neural Networks"}
+@STRING{IEEE_J_PDS = "{IEEE} Trans. Parallel Distrib. Syst."}
+@STRING{IEEE_J_SE = "{IEEE} Trans. Software Eng."}
+
+
+
+% computer graphics, imaging, and multimedia
+@STRING{IEEE_J_IP = "{IEEE} Trans. Image Processing"}
+@STRING{IEEE_J_MM = "{IEEE} Trans. Multimedia"}
+@STRING{IEEE_J_VCG = "{IEEE} Trans. Visual. Comput. Graphics"}
+
+
+
+% cybernetics, ergonomics, robots, man-machine, and automation
+@STRING{IEEE_J_JRA = "{IEEE} J. Robot. Automat."}
+@STRING{IEEE_J_HFE = "{IEEE} Trans. Hum. Factors Electron."}
+@STRING{IEEE_J_MMS = "{IEEE} Trans. Man-Mach. Syst."}
+@STRING{IEEE_J_PAMI = "{IEEE} Trans. Pattern Anal. Machine Intell."}
+@STRING{IEEE_J_RA = "{IEEE} Trans. Robot. Automat."}
+@STRING{IEEE_J_SMC = "{IEEE} Trans. Syst., Man, Cybern."}
+@STRING{IEEE_J_SMCA = "{IEEE} Trans. Syst., Man, Cybern. {A}"}
+@STRING{IEEE_J_SMCB = "{IEEE} Trans. Syst., Man, Cybern. {B}"}
+@STRING{IEEE_J_SMCC = "{IEEE} Trans. Syst., Man, Cybern. {C}"}
+@STRING{IEEE_J_SSC = "{IEEE} Trans. Syst. Sci. Cybernetics"}
+
+
+
+% earth, wind, fire and water
+@STRING{IEEE_J_GE = "{IEEE} Trans. Geosci. Electron."}
+@STRING{IEEE_J_GRS = "{IEEE} Trans. Geosci. Remote Sensing"}
+@STRING{IEEE_J_OE = "{IEEE} J. Oceanic Eng."}
+
+
+
+% education, engineering, history, IEEE, professional
+% disabled till definition is verified
+STRING{IEEE_J_CJECE = "Canadian J. Elect. Comput. Eng."}
+@STRING{IEEE_J_PROC = "Proc. {IEEE}"}
+@STRING{IEEE_J_EDU = "{IEEE} Trans. Educ."}
+@STRING{IEEE_J_EM = "{IEEE} Trans. Eng. Manage."}
+% disabled till definition is verified
+STRING{IEEE_J_EWS = "{IEEE} Trans. Eng. Writing Speech"}
+@STRING{IEEE_J_PC = "{IEEE} Trans. Prof. Commun."}
+
+
+
+% electromagnetics, antennas, EMI, magnetics and microwave
+@STRING{IEEE_J_AWPL = "{IEEE} Antennas Wireless Propagat. Lett."}
+@STRING{IEEE_J_MGWL = "{IEEE} Microwave Guided Wave Lett."}
+% IEEE seems to want "Compon." here, not "Comp."
+@STRING{IEEE_J_MWCL = "{IEEE} Microwave Wireless Compon. Lett."}
+@STRING{IEEE_J_AP = "{IEEE} Trans. Antennas Propagat."}
+@STRING{IEEE_J_EMC = "{IEEE} Trans. Electromagn. Compat."}
+@STRING{IEEE_J_MAG = "{IEEE} Trans. Magn."}
+@STRING{IEEE_J_MTT = "{IEEE} Trans. Microwave Theory Tech."}
+@STRING{IEEE_J_RFI = "{IEEE} Trans. Radio Freq. Interference"}
+@STRING{IEEE_J_TJMJ = "{IEEE} Transl. J. Magn. Jpn."}
+
+
+
+% energy and power
+@STRING{IEEE_J_EC = "{IEEE} Trans. Energy Conversion"}
+@STRING{IEEE_J_PWRAS = "{IEEE} Trans. Power App. Syst."}
+@STRING{IEEE_J_PWRD = "{IEEE} Trans. Power Delivery"}
+@STRING{IEEE_J_PWRE = "{IEEE} Trans. Power Electron."}
+@STRING{IEEE_J_PWRS = "{IEEE} Trans. Power Syst."}
+
+
+
+% industrial, commercial and consumer
+@STRING{IEEE_J_APPIND = "{IEEE} Trans. Applicat. Ind."}
+@STRING{IEEE_J_BC = "{IEEE} Trans. Broadcast."}
+% disabled till definition is verified
+STRING{IEEE_J_BCTV = "{IEEE} Trans. Broadcast Television Receivers"}
+@STRING{IEEE_J_CE = "{IEEE} Trans. Consumer Electron."}
+@STRING{IEEE_J_IE = "{IEEE} Trans. Ind. Electron."}
+@STRING{IEEE_J_IECI = "{IEEE} Trans. Ind. Electron. Contr. Instrum."}
+@STRING{IEEE_J_IA = "{IEEE} Trans. Ind. Applicat."}
+@STRING{IEEE_J_IGA = "{IEEE} Trans. Ind. Gen. Applicat."}
+
+
+
+% instrumentation and measurement
+@STRING{IEEE_J_IM = "{IEEE} Trans. Instrum. Meas."}
+
+
+
+% insulation and materials
+% disabled till definition finalized
+STRING{IEEE_J_JEM = "{IEEE/TMS} J. Electron. Mater."}
+@STRING{IEEE_J_DEI = "{IEEE} Trans. Dielect. Elect. Insulation"}
+@STRING{IEEE_J_EI = "{IEEE} Trans. Elect. Insulation"}
+
+
+
+% mechanical
+@STRING{IEEE_J_MECH = "{IEEE/ASME} Trans. Mechatron."}
+@STRING{IEEE_J_MEMS = "J. Microelectromech. Syst."}
+
+
+
+% medical and biological
+@STRING{IEEE_J_BME = "{IEEE} Trans. Biomed. Eng."}
+% Note: The B-ME journal later dropped the hyphen and became the BME.
+@STRING{IEEE_J_B-ME = "{IEEE} Trans. Bio-Med. Eng."}
+@STRING{IEEE_J_BMELC = "{IEEE} Trans. Bio-Med. Electron."}
+@STRING{IEEE_J_ITBM = "{IEEE} Trans. Inform. Technol. Biomed."}
+@STRING{IEEE_J_ME = "{IEEE} Trans. Med. Electron."}
+@STRING{IEEE_J_MI = "{IEEE} Trans. Med. Imag."}
+% disabled till definition finalized
+STRING{IEEE_J_MCTE = "{IEEE} Trans. Molecular Cellular Tissue Eng."}
+@STRING{IEEE_J_NB = "{IEEE} Trans. Nanobiosci."}
+@STRING{IEEE_J_NSRE = "{IEEE} Trans. Neural Syst. Rehab. Eng."}
+@STRING{IEEE_J_RE = "{IEEE} Trans. Rehab. Eng."}
+
+
+
+% optics, lightwave and photonics
+@STRING{IEEE_J_PTL = "{IEEE} Photon. Technol. Lett."}
+@STRING{IEEE_J_JLT = "J. Lightwave Technol."}
+
+
+
+% physics, electrons, nanotechnology, nuclear and quantum electronics
+@STRING{IEEE_J_EDL = "{IEEE} Electron Device Lett."}
+@STRING{IEEE_J_JQE = "{IEEE} J. Quantum Electron."}
+@STRING{IEEE_J_JSTQE = "{IEEE} J. Select. Topics Quantum Electron."}
+@STRING{IEEE_J_ED = "{IEEE} Trans. Electron Devices"}
+@STRING{IEEE_J_NANO = "{IEEE} Trans. Nanotechnol."}
+@STRING{IEEE_J_NS = "{IEEE} Trans. Nucl. Sci."}
+@STRING{IEEE_J_PS = "{IEEE} Trans. Plasma Sci."}
+
+
+
+% reliability
+% IEEE seems to want "Mat." here, not "Mater."
+@STRING{IEEE_J_DMR = "{IEEE} Trans. Device Mat. Rel."}
+@STRING{IEEE_J_R = "{IEEE} Trans. Rel."}
+
+
+
+% semiconductors, superconductors, electrochemical and solid state
+% disabled till definition finalized
+STRING{IEEE_J_ESSL = "{IEEE/ECS} Electrochemical Solid-State Lett."}
+@STRING{IEEE_J_JSSC = "{IEEE} J. Solid-State Circuits"}
+@STRING{IEEE_J_ASC = "{IEEE} Trans. Appl. Superconduct."}
+@STRING{IEEE_J_SM = "{IEEE} Trans. Semiconduct. Manufact."}
+
+
+
+% sensors
+@STRING{IEEE_J_SENSOR = "{IEEE} Sensors J."}
+
+
+
+% VLSI
+@STRING{IEEE_J_VLSI = "{IEEE} Trans. {VLSI} Syst."}
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%
+%% IEEE Magazines %%
+%%%%%%%%%%%%%%%%%%%%
+
+
+@STRING{IEEE_M_AES = "{IEEE} Aerosp. Electron. Syst. Mag"}
+@STRING{IEEE_M_HIST = "{IEEE} Annals Hist. Comput."}
+@STRING{IEEE_M_AP = "{IEEE} Antennas Propagat. Mag."}
+@STRING{IEEE_M_ASSP = "{IEEE} {ASSP} Mag."}
+@STRING{IEEE_M_CD = "{IEEE} Circuits Devices Mag."}
+@STRING{IEEE_M_CAS = "{IEEE} Circuits Syst. Mag."}
+@STRING{IEEE_M_COM = "{IEEE} Commun. Mag."}
+@STRING{IEEE_M_COMSOC = "{IEEE} Commun. Soc. Mag."}
+% CSEM changed to CSE in 1999
+@STRING{IEEE_M_CSE = "{IEEE} Comput. Sci. Eng."}
+@STRING{IEEE_M_CSEM = "{IEEE} Comput. Sci. Eng. Mag."}
+@STRING{IEEE_M_C = "{IEEE} Computer"}
+@STRING{IEEE_M_CAP = "{IEEE} Comput. Appl. Power"}
+@STRING{IEEE_M_CGA = "{IEEE} Comput. Graph. Appl."}
+@STRING{IEEE_M_CONC = "{IEEE} Concurrency"}
+@STRING{IEEE_M_CS = "{IEEE} Control Syst. Mag."}
+@STRING{IEEE_M_DTC = "{IEEE} Des. Test. Comput."}
+@STRING{IEEE_M_EI = "{IEEE} Electr. Insul. Mag."}
+@STRING{IEEE_M_EMB = "{IEEE} Eng. Med. Biol. Mag."}
+@STRING{IEEE_M_EMR = "{IEEE} Eng. Manag. Rev."}
+@STRING{IEEE_M_EXP = "{IEEE} Expert"}
+@STRING{IEEE_M_IA = "{IEEE} Ind. Appl. Mag."}
+@STRING{IEEE_M_IM = "{IEEE} Instrum. Meas. Mag."}
+@STRING{IEEE_M_IS = "{IEEE} Intell. Syst."}
+@STRING{IEEE_M_IC = "{IEEE} Internet Comput."}
+@STRING{IEEE_M_ITP = "{IEEE} {IT} Prof."}
+@STRING{IEEE_M_MICRO = "{IEEE} Micro"}
+@STRING{IEEE_M_MW = "{IEEE} Microwave"}
+@STRING{IEEE_M_MM = "{IEEE} Multimedia"}
+@STRING{IEEE_M_NET = "{IEEE} Network"}
+% IEEE's editorial manual lists "Pers. Commun.",
+% but "Personal Commun. Mag." seems to be what is used in the journals
+@STRING{IEEE_M_PCOM = "{IEEE} Personal Commun. Mag."}
+@STRING{IEEE_M_POT = "{IEEE} Potentials"}
+% CAP and PER merged to form PE in 2003
+@STRING{IEEE_M_PE = "{IEEE} Power Energy Mag."}
+@STRING{IEEE_M_PER = "{IEEE} Power Eng. Rev."}
+@STRING{IEEE_M_RA = "{IEEE} Robot. Automat. Mag."}
+@STRING{IEEE_M_SP = "{IEEE} Signal Processing Mag."}
+@STRING{IEEE_M_S = "{IEEE} Softw."}
+@STRING{IEEE_M_SPECT = "{IEEE} Spectr."}
+@STRING{IEEE_M_TS = "{IEEE} Technol. Soc. Mag."}
+@STRING{IEEE_M_WC = "{IEEE} Wireless Commun. Mag."}
+@STRING{IEEE_M_TODAY = "Today's Eng."}
+
+
+
+
+%--
+%EOF
diff --git a/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEbcpat.bib b/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEbcpat.bib
new file mode 100644
index 00000000000..c63f5e8d9e6
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEbcpat.bib
@@ -0,0 +1,77 @@
+%% IEEEbcpat.bib
+%%
+%% Obsolete BibTeX bibliography string definitions for backward
+%% compatibility of IEEEtran.bst - DO NOT USE FOR NEW WORK!
+%%
+%% NOTE: This text file uses UNIX line feed conventions. When (human)
+%% reading this file on other platforms, you may have to use a text
+%% editor that can handle lines terminated by the UNIX line feed
+%% character (0x0A).
+%%
+%% The strings defined here are unchanged from the originals that were
+%% contained in the older ieeetr.bst and IEEEbib.bst files.
+%%
+%% THESE STRING DEFINITIONS ARE NOT CORRECT FOR IEEE RELATED WORK!
+%%
+%% Please update your databases to use the modern IEEEabrv.bst and not
+%% any strings contained here.
+%%
+%% Version 1.00 (2002/08/13)
+%%
+%% Composed by Michael Shell
+%%
+%% See:
+%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
+%% for latest version and current contact information.
+%%
+%%**********************************************************************
+%% Legal Notice:
+%% This code is offered as-is without any warranty either expressed or
+%% implied; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE!
+%% User assumes all risk.
+%% In no event shall IEEE or any contributor to this code be liable for
+%% any damages or losses, including, but not limited to, incidental,
+%% consequential, or any other damages, resulting from the use or misuse
+%% of any information contained here.
+%%
+%% This code is distributed under the Perl Artistic License
+%% ( http://language.perl.com/misc/Artistic.html )
+%% and may be freely used, distributed and modified - subject to the
+%% constraints therein.
+%% Retain all contribution notices, credits and disclaimers.
+%%
+%% All comments are the opinions of their respective authors and are not
+%% necessarily endorsed by the IEEE.
+%%**********************************************************************
+%
+%
+% USAGE:
+%
+% \bibliographystyle{mybstfile}
+% \bibliography{IEEEbcpat,mybibfile}
+
+
+@STRING{acmcs = "ACM Computing Surveys"}
+@STRING{acta = "Acta Informatica"}
+@STRING{cacm = "Communications of the ACM"}
+@STRING{ibmjrd = "IBM Journal of Research and Development"}
+@STRING{ibmsj = "IBM Systems Journal"}
+@STRING{ieeese = "IEEE Transactions on Software Engineering"}
+@STRING{ieeetc = "IEEE Transactions on Computers"}
+@STRING{ieeetcad = "IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+@STRING{ipl = "Information Processing Letters"}
+@STRING{jacm = "Journal of the ACM"}
+@STRING{jcss = "Journal of Computer and System Sciences"}
+@STRING{scp = "Science of Computer Programming"}
+@STRING{sicomp = "SIAM Journal on Computing"}
+@STRING{tocs = "ACM Transactions on Computer Systems"}
+@STRING{tods = "ACM Transactions on Database Systems"}
+@STRING{tog = "ACM Transactions on Graphics"}
+@STRING{toms = "ACM Transactions on Mathematical Software"}
+@STRING{toois = "ACM Transactions on Office Information Systems"}
+@STRING{toplas = "ACM Transactions on Programming Languages and Systems"}
+@STRING{tcs = "Theoretical Computer Science"}
+
+
+
diff --git a/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEexample.bib b/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEexample.bib
new file mode 100644
index 00000000000..ad22d5b4b69
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEexample.bib
@@ -0,0 +1,1067 @@
+
+%% IEEEexample.bib
+%% V1.10
+%% 2002/09/27
+%% Copyright (c) 2002 by Michael Shell
+%% mshell(at)ece.gatech.edu
+%% See support website below for current contact information.
+%%
+%% NOTE: This text file uses UNIX line feed conventions. When (human)
+%% reading this file on other platforms, you may have to use a text
+%% editor that can handle lines terminated by the UNIX line feed
+%% character (0x0A).
+%%
+%% This is an example BibTeX database for the official IEEEtran.bst
+%% BibTeX style file.
+%%
+%% Some entries call strings that are defined in the IEEEabrv.bib file.
+%% Therefore, IEEEabrv.bib should be loaded prior to this file.
+%% Usage:
+%%
+%% \bibliographystyle{./IEEEtran} % use IEEEtran.bst style
+%% \bibliography{./IEEEabrv,./IEEEexample}
+%%
+%%
+%% Support sites:
+%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
+%% and/or
+%% http://www.ieee.org
+%%**********************************************************************
+%% Legal Notice:
+%% This code is offered as-is without any warranty either expressed or
+%% implied; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE!
+%% User assumes all risk.
+%% In no event shall IEEE or any contributor to this code be liable for
+%% any damages or losses, including, but not limited to, incidental,
+%% consequential, or any other damages, resulting from the use or misuse
+%% of any information contained here.
+%%
+%% This code is distributed under the Perl Artistic License
+%% ( http://language.perl.com/misc/Artistic.html )
+%% and may be freely used, distributed and modified - subject to the
+%% constraints therein.
+%% Retain all contribution notices, credits and disclaimers.
+%%
+%% All comments are the opinions of their respective authors and are not
+%% necessarily endorsed by the IEEE.
+%%**********************************************************************
+
+
+% Note that, because the example references were taken from actual IEEE
+% publications, these examples do not always contain the full amount
+% of information that may be desirable (for use with other BibTeX styles).
+% In particular, full names (not abbreviated with initials) should be
+% entered whenever possible as some (non-IEEE) bibliography styles use
+% full names. IEEEtran.bst will automatically abbreviate when it
+% encounters full names.
+
+
+
+
+% references for the IEEEtran.bst documentation
+% the distribution site for IEEEtran.bst
+@electronic{IEEEexample:shellCTANpage,
+ author = "Michael Shell",
+ title = "{IEEE}tran Homepage on {CTAN}",
+ url = "http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/",
+ year = "2002"
+};
+
+% the IEEE website
+% sort key is needed for sorting styles
+@electronic{IEEEexample:IEEEwebsite,
+ title = "The {IEEE} Website",
+ url = "http://www.ieee.org/",
+ year = "2002",
+ key = "IEEE"
+};
+
+% The BibTeX user's guide.
+% The filename could have been put in the URL instead. But, there might
+% be other interesting things for the user in the same directory - and
+% the filename might change before the directory that contains it.
+@electronic{IEEEexample:bibtexuser,
+ author = "Oren Patashnik",
+ title = "{\BibTeX}ing",
+ howpublished = "{btxdoc.pdf}",
+ url = "http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/",
+ month = feb,
+ year = "1988"
+};
+
+% The BibTeX style designer's guide.
+@electronic{IEEEexample:bibtexdesign,
+ author = "Oren Patashnik",
+ title = "Designing {\BibTeX\ } Styles",
+ howpublished = "{btxhak.pdf}",
+ url = "http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/",
+ month = feb,
+ year = "1988"
+};
+
+% The BibTeX Tips and FAQ guide.
+@electronic{IEEEexample:bibtexFAQ,
+ author = "David Hoadley and Michael Shell",
+ title = "{\BibTeX}\ Tips and {FAQ}",
+ howpublished = "{btxFAQ.txt}",
+ url = "http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/",
+ month = oct,
+ year = "2002"
+};
+
+% TeX User Group Bibliography Archive
+@electronic{IEEEexample:beebe_archive,
+ author = "Nelson H. F. Beebe",
+ title = "{\TeX\ }User Group Bibliography Archive",
+ url = "http://www.math.utah.edu:8080/pub/tex/bib/index-table.html",
+ month = may,
+ year = "2002"
+};
+
+% The url.sty package.
+@electronic{IEEEexample:urlsty,
+ author = "Donald Arseneau",
+ title = "The url.sty package",
+ url = "http://www.ctan.org/tex-archive/macros/latex/contrib/other/misc/",
+ month = mar,
+ year = "1999",
+};
+
+
+% The hyperref.sty package.
+@electronic{IEEEexample:hyperrefsty,
+ author = "Sebastian Rahtz and Heiko Oberdiek",
+ title = "The hyperref.sty package",
+ url = "http://www.ctan.org/tex-archive/macros/latex/contrib/supported/hyperref/",
+ month = jul,
+ year = "2002",
+};
+
+% The Babel package.
+@electronic{IEEEexample:babel,
+ author = "Johannes Braams",
+ title = "The {Babel} package",
+ url = "http://www.ctan.org/tex-archive/macros/latex/required/babel/",
+ month = feb,
+ year = "2001",
+};
+
+
+
+
+
+% The three most common and typical types of references used in
+% IEEE publications:
+
+% an article in a journal
+% Note the use of the IEEE_J_EDL string, defined in the IEEEabrv.bib file,
+% for the journal name. IEEEtran.bst defines the BibTeX standard three
+% letter month codes per IEEE style.
+% From the June 2002 issue of "IEEE Transactions on Electron Devices",
+% page 996, reference #16.
+@article{IEEEexample:article_typical,
+ author = "S. Zhang and C. Zhu and J. K. O. Sin and P. K. T. Mok",
+ title = "A Novel Ultrathin Elevated Channel Low-temperature
+ Poly-{Si} {TFT}",
+ journal = IEEE_J_EDL,
+ volume = "20",
+ month = nov,
+ year = "1999",
+ pages = "569-571"
+};
+
+% journal article using et al.
+% The (five) authors are actually: F. Delorme, S. Slempkes, G. Alibert,
+% B. Rose, J. Brandon
+% The month (July) was not given here.
+% From the September 1998 issue of "IEEE Journal on Selected Areas in
+% Communications", page 1257, reference #28.
+@article{IEEEexample:articleetal,
+ author = "F. Delorme and others",
+ title = "Butt-jointed {DBR} Laser With 15 {nm} Tunability Grown
+ in Three {MOVPE} Steps",
+ journal = "Electron. Lett.",
+ volume = "31",
+ number = "15",
+ year = "1995",
+ pages = "1244-1245"
+};
+
+
+% a paper in a conference proceedings
+% "conference" can be used as an alias for "inproceedings"
+% From the June 2002 issue of "Journal of Microelectromechanical Systems",
+% page 205, reference #16.
+@inproceedings{IEEEexample:conf_typical,
+ author = "R. K. Gupta and S. D. Senturia",
+ title = "Pull-in Time Dynamics as a Measure of Absolute Pressure",
+ booktitle = "Proc. {IEEE} International Workshop on
+ Microelectromechanical Systems ({MEMS}'97)",
+ address = "Nagoya, Japan",
+ month = jan,
+ year = "1997",
+ pages = "290-294"
+};
+
+
+% a book
+% From the May 2002 issue of "IEEE Transactions on Magnetics",
+% page 1466, reference #4.
+@book{IEEEexample:book_typical,
+ author = "B. D. Cullity",
+ title = "Introduction to Magnetic Materials",
+ publisher = "Addison-Wesley",
+ address = "Reading, MA",
+ year = "1972"
+};
+
+
+
+
+% Other examples
+
+% journal article with large page numbers, IEEE will divide numbers 5 digits
+% or longer into groups of three with small spaces between them. Page ranges
+% can be separated via either "-" or "--", IEEEtran.bst will automatically
+% convert the separator dash(es) to "--".
+% Authors and/or IEEE do not always provide/use the journal number, but it
+% was used in this case. IEEEtran.bst can be configured to ignore journal
+% numbers if desired.
+% From the August 2000 issue of "IEEE Photonics Technology Letters",
+% page 1039, reference #11.
+@article{IEEEexample:articlelargepages,
+ author = "A. Castaldini and A. Cavallini and B. Fraboni
+ and P. Fernandez and J. Piqueras",
+ title = "Midgap Traps Related to Compensation Processes in
+ {CdTe} Alloys",
+ journal = "Phys. Rev. B.",
+ volume = "56",
+ number = "23",
+ year = "1997",
+ pages = "14897-14900"
+};
+
+
+% journal article with dual months
+% use the BibTeX "#" concatenation operator
+% From the March 2002 issue of "IEEE Transactions on Mechatronics",
+% page 21, reference #8.
+@article{IEEEexample:articledualmonths,
+ author = "Y. Okada and K. Dejima and T. Ohishi",
+ title = "Analysis and Comparison of {PM} Synchronous Motor and
+ Induction Motor Type Magnetic Bearings",
+ journal = IEEE_J_IA,
+ volume = "31",
+ month = sep # "/" # oct,
+ year = "1995",
+ pages = "1047-1053"
+};
+
+
+% journal article to be published as a misc entry type
+% date information like month and year is optional
+% However, the article form like that below may be a better approach.
+% From the May 2002 issue of "IEEE Journal of Selected Areas in
+% Communication", page 725, reference #3.
+@misc{IEEEexample:TBPmisc,
+ author = "M. Coates and A. Hero and R. Nowak and B. Yu",
+ title = "Internet Tomography",
+ howpublished = IEEE_M_SP,
+ month = may,
+ year = "2002",
+ note = "to be published"
+};
+
+
+% journal article to be published as an article entry type
+% year is required, so if absent, use the year field to hold
+% the "submitted for publication" in order to avoid a warning for
+% the missing year field.
+% From the June 2002 issue of "IEEE Transactions on Information Theory",
+% page 1461, reference #21.
+@article{IEEEexample:TBParticle,
+ author = "N. Kahale and R. Urbanke",
+ title = "On the Minimum Distance of Parallel and Serially
+ Concatenated Codes",
+ journal = IEEE_J_IT,
+ year = "submitted for publication"
+};
+
+
+
+
+
+% book with editor and no author
+% From the June 2002 issue of "IEEE Transactions on Information Theory",
+% page 1725, reference #1.
+@book{IEEEexample:bookwitheditor,
+ editor = "J. C. Candy and G. C. Temes",
+ title = "Oversampling Delta-Sigma Data Converters Theory,
+ Design and Simulation",
+ publisher = "{IEEE} Press.",
+ address = "New York",
+ year = "1992"
+};
+
+
+% book with edition, author and editor
+% Note that the standard BibTeX styles do not support book entries with both
+% author and editor fields, but IEEEtran.bst does.
+% The standard BibTeX way of specifying the edition is to use capitalized
+% ordinal words such as "First", "Second", etc. Most .bst files can convert
+% up to about "Fifth" into the format needed. IEEEtran.bst can convert up
+% to "Tenth" to the "Arabic ordinal" form IEEE uses (e.g., "10th"). For
+% editions over the tenth, it is best to use the "Arabic ordinal" form for
+% IEEE related work (e.g., "101st")
+% Note how "Jr." has to be entered.
+% From the May 2002 issue of "Journal of Lightwave Technology", page 856,
+% reference #17.
+@book{IEEEexample:book,
+ author = "S. M. Metev and V. P. Veiko",
+ editor = "Osgood, Jr., R. M.",
+ title = "Laser Assisted Microtechnology",
+ edition = "Second",
+ publisher = "Springer-Verlag",
+ address = "Berlin, Germany",
+ year = "1998"
+};
+
+
+% book with series and volume
+% From the January 2000 issue of "IEEE Transactions on Communications",
+% page 11, reference #31.
+@book{IEEEexample:bookwithseriesvolume,
+ editor = "J. Breckling",
+ title = "The Analysis of Directional Time Series: Applications to
+ Wind Speed and Direction",
+ series = "Lecture Notes in Statistics",
+ publisher = "Springer",
+ address = "Berlin, Germany",
+ year = "1989",
+ volume = "61"
+};
+
+
+% inbook with chapter number. The pages field could also have been given.
+% The chapter number could be changed to something else such as a section
+% number via the type field: type = "sec.".
+% From the May 2002 issue of "IEEE Transactions on Circuits and Systems---I:
+% Fundamental Applications and Theory", page 638, reference #22.
+@inbook{IEEEexample:inbook,
+ author = "H. E. Rose",
+ title = "A Course in Number Theory",
+ publisher = "Oxford Univ. Press",
+ address = "New York, NY",
+ year = "1988",
+ chapter = "3"
+};
+
+
+% inbook with pages and note. The language field is not set to Russian
+% because the title is presented here in its translated, English, form.
+% From the May 2002 issue of "IEEE Transactions on Magnetics", page 1533,
+% reference #5.
+@inbook{IEEEexample:inbookpagesnote,
+ author = "B. K. Bul",
+ title = "Theory Principles and Design of Magnetic Circuits",
+ publisher = "Energia Press",
+ address = "Moscow",
+ year = "1964",
+ pages = "464",
+ note = "(in Russian)"
+};
+
+
+
+
+
+% incollection with author and editor
+% From the May 2002 issue of "Journal of Lightwave Technology",
+% page 807, reference #7.
+@incollection{IEEEexample:incollection,
+ author = "W. V. Sorin",
+ editor = "D. Derickson",
+ title = "Optical Reflectometry for Component Characterization",
+ booktitle = "Fiber Optic Test and Measurement",
+ publisher = "Prentice-Hall",
+ address = "Englewood Cliffs, NJ",
+ year = "1998"
+};
+
+
+% incollection with series
+% From the April 2000 issue of "IEEE Transactions on Communication",
+% page 609, reference #3.
+@incollection{IEEEexample:incollectionwithseries,
+ author = "J. B. Anderson and K. Tepe",
+ title = "Properties of the Tailbiting {BCJR} Decoder",
+ booktitle = "Codes, Systems and Graphical Models",
+ series = "{IMA} Volumes in Mathematics and Its Applications",
+ publisher = "Springer-Verlag",
+ address = "New York",
+ year = "2000"
+
+};
+
+
+% incollection with author, editor, chapter and pages
+% From the January 2000 issue of "IEEE Transactions on Communications",
+% page 16, reference #9.
+@incollection{IEEEexample:incollection_chpp,
+ author = "P. Hedelin and P. Knagenhjelm and M. Skoglund",
+ editor = "W. B. Kleijn and K. K. Paliwal",
+ title = "Theory for Transmission of Vector Quantization Data",
+ booktitle = "Speech Coding and Synthesis",
+ publisher = "Elsevier Science",
+ address = "Amsterdam, The Netherlands",
+ year = "1995",
+ chapter = "10",
+ pages = "347-396"
+};
+
+
+% incollection with a large number of authors, some authors/journals will
+% use et al. for so many names. IEEEtran.bst can be configured to do this
+% if desired, or "R. M. A. Dawson and others" can be used instead.
+% Note that IEEE may not include the publisher for incollection entries -
+% IEEEtran.bst will not issue a warning if the publisher is missing for
+% incollections - but other .bst files often will.
+% From the June 2002 issue of "IEEE Transactions on Electron Devices",
+% page 996, reference #12.
+@incollection{IEEEexample:incollectionmanyauthors,
+ author = "R. M. A. Dawson and Z. Shen and D. A. Furst and
+ S. Connor and J. Hsu and M. G. Kane and R. G. Stewart and
+ A. Ipri and C. N. King and P. J. Green and R. T. Flegal
+ and S. Pearson and W. A. Barrow and E. Dickey and K. Ping
+ and C. W. Tang and S. Van. Slyke and
+ F. Chen and J. Shi and J. C. Sturm and M. H. Lu",
+ title = "Design of an Improved Pixel for a Polysilicon
+ Active-Matrix Organic {LED} Display",
+ booktitle = "{SID} Tech. Dig.",
+ volume = "29",
+ year = "1998",
+ pages = "11-14"
+};
+
+
+
+
+
+% A Motorola data book as a manual
+% It is somewhat unusual to include the data book part number.
+% in the title. It might be more correct to put this information
+% in the howpublished field instead.
+% From the December 2000 issue of "IEEE Transactions on Communications",
+% page 1986, reference #10.
+@manual{IEEEexample:motmanual,
+ title = "{FLEXChip} Signal Processor ({MC68175/D})",
+ organization = "Motorola",
+ year = "1996"
+};
+
+% same reference, but using IEEEtran's howpublished extension
+@manual{IEEEexample:motmanualhowpub,
+ title = "{FLEXChip} Signal Processor",
+ howpublished = "{MC68175/D}",
+ organization = "Motorola",
+ year = "1996"
+};
+
+
+
+
+% conference paper with an address and days. Some journals capitalize the
+% letters in "Globecom", this one did not.
+% From the May 2002 issue of "IEEE Transactions on Communications",
+% page 697, reference #12.
+@inproceedings{IEEEexample:confwithadddays,
+ author = "M. S. Yee and L. Hanzo",
+ title = "Radial Basis Function Decision Feedback Equaliser
+ Assisted Burst-by-burst Adaptive Modulation",
+ booktitle = "Proc. {IEEE} Globecom '99",
+ address = "Rio de Janeiro, Brazil",
+ month = dec # " 5--9,",
+ year = "1999",
+ pages = "2183-2187"
+};
+
+
+% conference paper with volume number. A conference proceedings with a vol
+% number is a little uncommon, note that the vol number is placed
+% before the address in the formatted bibliography entry
+% From the April 2002 issue of "IEEE/ACM Transactions on Networking",
+% page 181, reference #26.
+@inproceedings{IEEEexample:confwithvolume,
+ author = "M. Yajnik and S. B. Moon and J. Kurose and D. Towsley",
+ title = "Measurement and Modeling of the Temporal Dependence in
+ Packet Loss",
+ booktitle = "Proc. {IEEE} {INFOCOM}'99",
+ volume = "1",
+ address = "New York, NY",
+ month = mar,
+ year = "1999",
+ pages = "345-352"
+};
+
+
+% conference paper with a paper number, the type field can be used to
+% override the word "paper", e.g., type = "postdeadline paper". A type
+% can be given even without a paper field.
+% Also, IEEEtran.bst can be configured to ignore paper numbers and types.
+% From the May 2002 issue of "Journal of Lightwave Technology",
+% page 807, reference #4.
+@inproceedings{IEEEexample:confwithpaper,
+ author = "M. Wegmuller and J. P. von der Weid and P. Oberson
+ and N. Gisin",
+ title = "High Resolution Fiber Distributed Measurements With
+ Coherent {OFDR}",
+ booktitle = "Proc. {ECOC}'00",
+ year = "2000",
+ paper = "11.3.4",
+ pages = "109"
+};
+
+
+% conference paper with a postdeadline type paper, the paper field is
+% optional.
+% From the August 2000 issue of "IEEE Photonics Technology Letters",
+% page 1087, reference #12.
+@inproceedings{IEEEexample:confwithpapertype,
+ author = "B. Mikkelsen and G. Raybon and R.-J. Essiambre and
+ K. Dreyer and Y. Su. and L. E. Nelson and J. E. Johnson
+ and G. Shtengel and A. Bond and D. G. Moodie and
+ A. D. Ellis",
+ title = "160 {Gbit/s} Single-channel Transmission Over 300 km
+ Nonzero-dispersion Fiber With Semiconductor Based
+ Transmitter and Demultiplexer",
+ booktitle = "Proc. {ECOC}'99",
+ year = "1999",
+ paper = "2-3",
+ type = "postdeadline paper",
+ pages = "28-29"
+};
+
+
+% presented at a conference
+% intype overrides the default "in" and causes the booktitle not to be
+% emphasized (rendered in italics).
+% From the February 2002 issue of "IEEE/ACM Transactions on Networking",
+% page 163, reference #6.
+@inproceedings{IEEEexample:presentedatconf,
+ author = "S. G. Finn and M. M{\'e}dard and R. A. Barry",
+ title = "A Novel Approach to Automatic Protection Switching
+ Using Trees",
+ intype = "presented at the",
+ booktitle = "Proc. Int. Conf. Commun.",
+ year = "1997"
+};
+
+
+
+
+
+% master's thesis, often the University name will be abbreviated and the
+% state or country will be included in the address. The type field can
+% used to override the default type "Master's thesis"
+% From the June 2002 issue of "IEEE Transactions on Microelectromechanical
+% Systems", page 186, reference #11.
+@mastersthesis{IEEEexample:masters,
+ author = "Nin C. Loh",
+ title = "High-Resolution Micromachined Interferometric
+ Accelerometer",
+ school = "Massachusetts Institute of Technology",
+ address = "Cambridge",
+ year = "1992"
+};
+
+
+% master's thesis with a type field
+% From the August 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 391, reference #12.
+@mastersthesis{IEEEexample:masterstype,
+ author = "A. Karnik",
+ title = "Performance of {TCP} Congestion Control with Rate
+ Feedback: {TCP/ABR} and Rate Adaptive {TCP/IP}",
+ school = "Indian Institute of Science",
+ type = "M. Eng. thesis",
+ address = "Bangalore, India",
+ month = jan,
+ year = "1999"
+};
+
+
+
+
+
+% Ph.D. dissertation with a URL field, the university is abbreviated
+% From the October 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 590, reference #11.
+@phdthesis{IEEEexample:phdurl,
+ author = "Q. Li",
+ title = "Delay Characterization and Performance Control of
+ Wide-area Networks",
+ school = "Univ. of Delaware",
+ address = "Newark",
+ month = may,
+ year = "2000",
+ url = "http://www.ece.udel.edu/~qli"
+};
+
+
+
+
+
+% technical report
+% From the August 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 490, reference #15.
+@techreport{IEEEexample:techrep,
+ author = "R. Jain and K. K. Ramakrishnan and D. M. Chiu",
+ title = "Congestion Avoidance in Computer Networks with a
+ Connectionless Network Layer",
+ institution = "Digital Equipment Corporation",
+ address = "MA",
+ number = "DEC-TR-506",
+ month = aug,
+ year = "1987"
+};
+
+
+% technical report with type
+% for those times when "Tech. Rep." needs to be modified
+% From the February 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 46, reference #8.
+@techreport{IEEEexample:techreptype,
+ author = "J. Padhye and V. Firoiu and D. Towsley",
+ title = "A Stochastic Model of {TCP} {R}eno Congestion Avoidance
+ and Control",
+ institution = "Univ. of Massachusetts",
+ address = "Amherst, MA",
+ type = "CMPSCI Tech. Rep.",
+ number = "99-02",
+ year = "1999"
+};
+
+
+% technical report with type
+% for those times when "Tech. Rep." needs to be modified
+% This reference did not have an address.
+% From the January 2000 issue of "IEEE Transactions on Communications",
+% page 117, reference #6.
+@techreport{IEEEexample:techreptypeii,
+ author = "D. Middleton and A. D. Spaulding",
+ title = "A Tutorial Review of Elements of Weak Signal Detection
+ in Non-{G}aussian {EMI} Environments",
+ institution = "National Telecommunications and Information
+ Administration ({NTIA}), U.S. Dept. of Commerce",
+ type = "NTIA Report",
+ number = "86-194",
+ month = may,
+ year = "1986"
+};
+
+
+
+
+
+% an unpublished work
+% for unpublished types, the note field is required. IEEE usually
+% just uses the word "unpublished" for the note.
+% From the August 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 391, reference #16.
+@unpublished{IEEEexample:unpublished,
+ author = "T. J. Ott and N. Aggarwal",
+ title = "{TCP} over {ATM}: {ABR} or {UBR}",
+ note = "Unpublished"
+};
+
+
+
+
+
+% electronic with a howpublished information field
+% From the August 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 391, reference #7.
+@electronic{IEEEexample:electronhowinfo,
+ author = "V. Jacobson",
+ title = "Modified {TCP} Congestion Avoidance Algorithm",
+ howpublished = "end2end-interest mailing list",
+ url = "ftp://ftp.isi.edu/end2end/end2end-interest-1990.mail",
+ month = apr,
+ year = "1990"
+};
+
+
+% electronic with a howpublished information field
+% From the August 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 418, reference #31.
+@electronic{IEEEexample:electronhowinfo2,
+ author = "V. Valloppillil and K. W. Ross",
+ title = "Cache Array Routing Protocol v1.1",
+ howpublished = "Internet draft",
+ url = "http://ds1.internic.net/internet-drafts/draft-vinod-carp-v1-03.txt",
+ year = "1998"
+};
+
+
+% electronic with an organization and address
+% From the February 2002 issue of "IEEE/ACM Transactions on Networking",
+% page 114, reference #15.
+@electronic{IEEEexample:electronorgadd,
+ author = "D. H. Lorenz and A. Orda",
+ title = "Optimal Partition of {QoS} Requirements on Unicast
+ Paths and Multicast Trees",
+ organization = "Dept. Elect. Eng., Technion",
+ address = "Haifa, Israel",
+ url = "ftp://ftp.technion.ac.il/pub/supported/ee/Network/lor.mopq98.ps",
+ month = jul,
+ year = "1998"
+};
+
+
+
+
+
+% U.S. patent
+% Use the type field to override the patent type. e.g.,
+% type = "Patent Application"
+% The address is that of the assignee. Note that IEEE does not
+% display the assignee, the address, and only displays one date.
+% (if year is not present, the filed dates are used.) However, this
+% information should be entered as other BibTeX styles may use it.
+% alternatively, nationality could be entered as "U.S."
+% From the April 2000 issue of "IEEE Transactions on Communications",
+% page 542, reference #6.
+@patent{IEEEexample:uspat,
+ author = "Ronald E. Sorace and Victor S. Reinhardt and
+ Steven A. Vaughn",
+ assignee = "Hughes Aircraft Company",
+ address = "Los Angeles, CA",
+ title = "High-Speed Digital-to-{RF} Converter",
+ nationality = "United States",
+ number = "5668842",
+ dayfiled = "28",
+ monthfiled = feb,
+ yearfiled = "1995",
+ day = "16",
+ month = sep,
+ year = "1997"
+};
+
+
+% Japanese Patent
+% From the April 2000 issue of "IEEE Transactions on Communications",
+% page 556, reference #6.
+@patent{IEEEexample:jppat,
+ author = "U. Hideki",
+ title = "Quadrature Modulation Circuit",
+ nationality = "Japanese",
+ number = "152932/92",
+ day = "20",
+ month = may,
+ year = "1992"
+};
+
+
+% French Patent request, the language field must be entered in lower case
+% as this is the option name Babel uses. The nationality field needs to be
+% capitalized. Because this is a patent request, the date filed fields are
+% used while the date fields are left empty/missing. In other countries,
+% the words "Patent Application", etc. are used instead.
+% From the April 2000 issue of "IEEE Transactions on Communications",
+% page 556, reference #9.
+@patent{IEEEexample:frenchpatreq,
+ author = "F. Kowalik and M. Isard",
+ title = "Estimateur d'un D{\'e}faut de Fonctionnement
+ d'un Modulateur en Quadrature et {\'E}tage de Modulation
+ l'Utilisant",
+ language = "french",
+ nationality = "French",
+ type = "Patent Request",
+ number = "9500261",
+ dayfiled = "11",
+ monthfiled = jan,
+ yearfiled = "1995"
+};
+
+
+
+
+
+% a periodical
+% From the April 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 160, reference #1.
+% sort key is needed for sorting styles
+@periodical{IEEEexample:periodical,
+ title = IEEE_M_PCOM # ", Special Issue on Wireless {ATM}",
+ volume = "3",
+ month = aug,
+ year = "1996",
+ key = "IEEE"
+};
+
+
+
+
+
+% standard, IEEE does not use the address for standards, but it is good
+% to provide one for BibTeX styles that use it.
+% From the August 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 451, reference #2.
+@standard{IEEEexample:standard,
+ title = "Wireless {LAN} Medium Access Control {(MAC)} and
+ Physical Layer {(PHY)} Specification",
+ organization = "IEEE",
+ address = "Piscataway, NJ",
+ number = "802.11",
+ year = "1997"
+};
+
+
+% standard with type and revision, the type overrides the word standard
+% (or std.). Here a standard number is not available and a revision number
+% is used.
+% From the August 2000 issue of "IEEE Photonics Technology Letters",
+% page 1048, reference #13.
+@standard{IEEEexample:standardproposed,
+ title = "Fiber Channel Physical Interface ({FC-PI})",
+ institution = "NCITS",
+ address = "Washington, DC",
+ type = "Working Draft Proposed Standard",
+ revision = "5.2",
+ year = "1999"
+};
+
+
+% standard draft as a misc with author
+% From the May 2002 issue of "IEEE Journal of Selected Areas in
+% Communication", page 725, reference #16.
+@misc{IEEEexample:draftasmisc,
+ author = "I. Widjaja and A. Elwalid",
+ title = "{MATE}: {MPLS} Adaptive Traffic Engineering",
+ howpublished = "IETF Draft",
+ year = "1999"
+};
+
+
+
+
+
+% misc for a techreport like reference
+% techreport is not perfectly suitable because this entry lacks
+% an institution field
+% From the August 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 490, reference #22.
+@misc{IEEEexample:miscforum,
+ author = "L. Roberts",
+ title = "Enhanced Proportional Rate Control Algorithm {PRCA}",
+ howpublished = "{ATM} Forum Contribution 94-0735R1",
+ month = aug,
+ year = "1994"
+};
+
+
+% misc for a white paper
+% From the August 2001 issue of "IEEE/ACM Transactions on Networking",
+% page 478, reference #4 - Note that the reference there (improperly?)
+% used the author field for "Cisco".
+@misc{IEEEexample:whitepaper,
+ title = "Advanced {QoS} Services for the Intelligent Internet",
+ howpublished = "White Paper",
+ organization = "Cisco",
+ month = may,
+ year = "1997"
+};
+
+
+% misc for a data sheet
+% From the November 2000 issue of "IEEE Photonics Technology Letters",
+% page 1551, reference #6.
+@misc{IEEEexample:datasheet,
+ title = "{PDCA12-70} data sheet",
+ organization = "Opto Speed SA",
+ address = "Mezzovico, Switzerland"
+};
+
+
+
+
+
+% Other unusual references
+
+% a private communication as a misc entry type
+% sometimes the designation "personal communication" is used instead
+% From the June 2002 issue of "IEEE Transactions on Information Theory",
+% page 1725, reference #16.
+@misc{IEEEexample:private,
+ author = "S. Konyagin",
+ howpublished = "private communication",
+ year = "1998"
+};
+
+
+% an internet request for comments (RFC) as a misc entry type
+% It would also be nice to add a URL to these types of things.
+% RFCs can also be handled as electronic references.
+% From the April 2002 issue of "IEEE/ACM Transactions on Networking",
+% page 181, reference #14.
+@misc{IEEEexample:miscrfc,
+ author = "K. K. Ramakrishnan and S. Floyd",
+ title = "A Proposal to Add Explicit Congestion
+ Notification ({ECN}) to {IP}",
+ howpublished = "RFC 2481",
+ month = jan,
+ year = "1999"
+};
+
+
+% misc for a German regulation
+% In German, the first letters of nouns are capitalized, so we do so here.
+% From the June 2002 issue of "IEEE Journal in Selected Areas in
+% Communication", page 892, reference #9.
+@misc{IEEEexample:miscgermanreg,
+ title = "{M}essung von {S}t{\"o}rfeldern an {A}nlagen
+ und {L}eitungen der {T}elekommunikation im
+ {F}requenzbereich 9 {kHz} bis 3 {GHz}",
+ language = "german",
+ howpublished = "{M}e{\ss}vorschrift {R}eg {TP} {MV} 05",
+ organization = "Regulierungsbeh{\"o}rde f{\"u}r {T}elekommunikation und
+ {P}ost ({R}eg {TP})"
+};
+
+
+
+% Ways to handle things like CCSDS's Blue Books
+% journal article with a URL. However, this is not a very good approach
+% because the Blue Books are not really journals and the author field has
+% to be abused.
+% From the June 2002 issue of "IEEE Transactions on Information Theory",
+% page 1461, reference #7.
+@article{IEEEexample:bluebookarticle,
+ author = "{Consulative Committee for Space Data Systems (CCSDS)}",
+ title = "Telemetry Channel Coding",
+ journal = "Blue Book",
+ number = "4",
+ year = "1999",
+ url = "http://www.ccsds.org/documents/pdf/CCSDS-101.0-B-4.pdf"
+};
+
+
+% CCSDS's Blue Book handled as a book
+% However, it is not a good idea to have to use the author field for
+% an organization (done here because the book entry type requires an
+% author field).
+@book{IEEEexample:bluebookbook,
+ author = "{Consulative Committee for Space Data Systems (CCSDS)}",
+ title = "Telemetry Channel Coding",
+ series = "Blue Book",
+ number = "4",
+ publisher = "CCSDS",
+ address = "Newport Beach, CA",
+ year = "1999",
+ url = "http://www.ccsds.org/documents/pdf/CCSDS-101.0-B-4.pdf"
+};
+
+% CCSDS's Blue Book handled as a manual
+% This is a much better approach, but uses the howpublished field.
+@manual{IEEEexample:bluebookmanual,
+ title = "Telemetry Channel Coding",
+ howpublished = "ser. Blue Book, No. 4",
+ organization = "Consulative Committee for Space Data Systems (CCSDS)",
+ address = "Newport Beach, CA",
+ year = "1999",
+ url = "http://www.ccsds.org/documents/pdf/CCSDS-101.0-B-4.pdf"
+};
+
+
+
+% CCSDS's Blue Book handled as a standard
+% Probably the best approach for this particular case because the work
+% is standard related. Note that IEEE does not display the address for
+% standards.
+@standard{IEEEexample:bluebookstandard,
+ title = "Telemetry Channel Coding",
+ howpublished = "ser. Blue Book, No. 4",
+ organization = "Consulative Committee for Space Data Systems (CCSDS)",
+ address = "Newport Beach, CA",
+ type = "Recommendation for Space Data System Standard",
+ number = "101.0-B-4",
+ month = May,
+ year = "1999",
+ url = "http://www.ccsds.org/documents/pdf/CCSDS-101.0-B-4.pdf"
+};
+
+
+
+
+
+
+% An example of a IEEEtran control entry which can change some IEEEtran.bst
+% settings. An entry like this must be cited via \bstctlcite{} command
+% before the first real \cite{}. The same entry key cannot be called twice
+% (just like multiple \cite{} of the same entry key place only one entry
+% in the bibliography.)
+% The available control fields are:
+%
+% CTLuse_article_number
+% "no" turns off the display of the number for articles.
+% "yes" enables
+%
+% CTLuse_paper
+% "no" turns off the display of the paper and type fields in inproceedings.
+% "yes" enables
+%
+% CTLuse_forced_etal
+% "no" turns off the forced use of "et al."
+% "yes" enables
+%
+% CTLmax_names_forced_etal
+% The maximum number of names that can be present beyond which an "et al."
+% usage is forced. Be sure that CTLnames_show_etal (below)
+% is not greater than this value!
+%
+% CTLnames_show_etal
+% The number of names that will be shown with a forced "et al.".
+% Must be less than or equal to CTLmax_names_forced_etal
+%
+% CTLuse_alt_spacing
+% "no" turns off the alternate interword spacing for entries with URLs.
+% "yes" enables
+%
+% CTLalt_stretch_factor
+% If alternate interword spacing for entries with URLs is enabled, this is
+% the interword spacing stretch factor that will be used. For example, the
+% default "4" here means that the interword spacing in entries with URLs can
+% stretch to four times normal. Does not have to be an integer.
+%
+% CTLdash_repeated_names
+% "no" turns off the "dashification" of repeated (i.e., identical to those
+% of the previous entry) names. IEEE normally does this.
+% "yes" enables
+%
+% CTLname_format_string
+% The name format control string as explained in the BibTeX style hacking
+% guide.
+% IEEE style "{f.~}{vv~}{ll}{, jj}" is the default,
+%
+% CTL_name_latex_cmd
+% A LaTeX command that each name will be fed to (e.g., "\textsc").
+% Leave empty if no special font is desired for the names.
+% The default is empty.
+%
+% Those fields that are not to be changed can be left out or empty.
+@IEEEtranBSTCTL{IEEEexample:BSTcontrol,
+ CTLuse_article_number = "yes",
+ CTLuse_paper = "yes",
+ CTLuse_forced_etal = "no",
+ CTLmax_names_forced_etal = "10",
+ CTLnames_show_etal = "1",
+ CTLuse_alt_spacing = "yes",
+ CTLalt_stretch_factor = "4",
+ CTLdash_repeated_names = "yes",
+ CTLname_format_string = "{f.~}{vv~}{ll}{, jj}",
+ CTLname_latex_cmd = ""
+};
+
+
+
diff --git a/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEfull.bib b/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEfull.bib
new file mode 100644
index 00000000000..0372b540505
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/IEEEtran/IEEEfull.bib
@@ -0,0 +1,381 @@
+%%
+%% IEEEfull.bib
+%%
+%% BibTeX bibliography string definitions of the FULL titles of
+%% IEEE journals and magazines
+%%
+%% NOTE: This text file uses UNIX line feed conventions. When (human)
+%% reading this file on other platforms, you may have to use a text
+%% editor that can handle lines terminated by the UNIX line feed
+%% character (0x0A).
+%%
+%% This file is designed for bibliography styles that require
+%% full-length titles and is not for use in bibliographies that
+%% abbreviate titles.
+%%
+%% Version 1.10 (2003/04/02)
+%%
+%% Composed by Michael Shell
+%%
+%% See:
+%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
+%% for latest version and current contact information.
+%%
+%% Special thanks to Laura Hyslop of IEEE for her help in obtaining the
+%% information needed to compile this file. Also, Volker Kuhlmann kindly
+%% provided some corrections and additions.
+%%
+%%**********************************************************************
+%% Legal Notice:
+%% This code is offered as-is without any warranty either expressed or
+%% implied; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE!
+%% User assumes all risk.
+%% In no event shall IEEE or any contributor to this code be liable for
+%% any damages or losses, including, but not limited to, incidental,
+%% consequential, or any other damages, resulting from the use or misuse
+%% of any information contained here.
+%%
+%% This code is distributed under the Perl Artistic License
+%% ( http://language.perl.com/misc/Artistic.html )
+%% and may be freely used, distributed and modified - subject to the
+%% constraints therein.
+%% Retain all contribution notices, credits and disclaimers.
+%%
+%% All comments are the opinions of their respective authors and are not
+%% necessarily endorsed by the IEEE.
+%%**********************************************************************
+%
+%
+% USAGE:
+%
+% \bibliographystyle{mybstfile}
+% \bibliography{IEEEfull,mybibfile}
+%
+% where the IEEE titles in the .bib database entries use the strings
+% defined here. e.g.,
+%
+%
+% journal = IEEE_J_AC,
+%
+%
+% to yield "{IEEE} Transactions on Automatic Control"
+%
+%
+% WARNING: IEEE uses abbreviated journal titles in their bibliographies!
+% Because this file provides the full titles, you should NOT use this file
+% for work that is to be submitted to the IEEE.
+%
+% For IEEE work, you should use the abbreviated titles provided in the
+% companion file, IEEEabrv.bib.
+%
+%
+% ** NOTES **
+%
+% 1. Journals have been grouped according to subject in order to make it
+% easier to locate and extract the definitions for related journals -
+% as most works use references that are confined to a single topic.
+% Magazines are listed in straight alphabetical order.
+%
+% 2. String names are closely based on IEEE's own internal acronyms.
+%
+% 3. Older, out-of-print IEEE titles are included (but not including titles
+% dating prior to IEEE's formation from the IRE and AIEE in 1963).
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%
+%% IEEE Journals %%
+%%%%%%%%%%%%%%%%%%%
+
+
+% aerospace and military
+@STRING{IEEE_J_AES = "{IEEE} Transactions on Aerospace and Electronic Systems"}
+@STRING{IEEE_J_ANE = "{IEEE} Transactions on Aerospace and Navigational Electronics"}
+@STRING{IEEE_J_ANNE = "{IEEE} Transactions on Aeronautical and Navigational Electronics"}
+@STRING{IEEE_J_AS = "{IEEE} Transactions on Aerospace"}
+@STRING{IEEE_J_AIRE = "{IEEE} Transactions on Airborne Electronics"}
+@STRING{IEEE_J_MIL = "{IEEE} Transactions on Military Electronics"}
+
+
+
+% autos, transportation and vehicles (non-aerospace)
+@STRING{IEEE_J_ITS = "{IEEE} Transactions on Intelligent Transportation Systems"}
+@STRING{IEEE_J_VT = "{IEEE} Transactions on Vehicular Technology"}
+@STRING{IEEE_J_VC = "{IEEE} Transactions on Vehicular Communications"}
+
+
+
+% circuits, signals, systems, audio and controls
+@STRING{IEEE_J_SPL = "{IEEE} Signal Processing Letters"}
+@STRING{IEEE_J_ASSP = "{IEEE} Transactions on Acoustics, Speech, and Signal Processing"}
+@STRING{IEEE_J_AU = "{IEEE} Transactions on Audio"}
+@STRING{IEEE_J_AUEA = "{IEEE} Transactions on Audio and Electroacoustics"}
+@STRING{IEEE_J_AC = "{IEEE} Transactions on Automatic Control"}
+@STRING{IEEE_J_CAS = "{IEEE} Transactions on Circuits and Systems"}
+@STRING{IEEE_J_CASVT = "{IEEE} Transactions on Circuits and Systems for Video Technology"}
+@STRING{IEEE_J_CASI = "{IEEE} Transactions on Circuits and Systems---Part {I}: Fundamental Theory and Applications"}
+@STRING{IEEE_J_CASII = "{IEEE} Transactions on Circuits and Systems---Part {II}: Analog and Digital Signal Processing"}
+@STRING{IEEE_J_CT = "{IEEE} Transactions on Circuit Theory"}
+@STRING{IEEE_J_CST = "{IEEE} Transactions on Control Systems Technology"}
+@STRING{IEEE_J_SP = "{IEEE} Transactions on Signal Processing"}
+@STRING{IEEE_J_SU = "{IEEE} Transactions on Sonics and Ultrasonics"}
+@STRING{IEEE_J_SAP = "{IEEE} Transactions on Speech and Audio Processing"}
+@STRING{IEEE_J_UE = "{IEEE} Transactions on Ultrasonics Engineering"}
+@STRING{IEEE_J_UFFC = "{IEEE} Transactions on Ultrasonics, Ferroelectrics, and Frequency Control"}
+
+
+
+% communications
+@STRING{IEEE_J_COML = "{IEEE} Communications Letters"}
+@STRING{IEEE_J_JSAC = "{IEEE} Journal on Selected Areas in Communications"}
+@STRING{IEEE_J_COM = "{IEEE} Transactions on Communications"}
+@STRING{IEEE_J_COMT = "{IEEE} Transactions on Communication Technology"}
+@STRING{IEEE_J_WCOM = "{IEEE} Transactions on Wireless Communications"}
+
+
+
+% components, packaging and manufacturing
+@STRING{IEEE_J_ADVP = "{IEEE} Transactions on Advanced Packaging"}
+@STRING{IEEE_J_CHMT = "{IEEE} Transactions on Components, Hybrids and Manufacturing Technology"}
+@STRING{IEEE_J_CPMTA = "{IEEE} Transactions on Components, Packaging and Manufacturing Technology---Part {A}"}
+@STRING{IEEE_J_CPMTB = "{IEEE} Transactions on Components, Packaging and Manufacturing Technology---Part {B}: Advanced Packaging"}
+@STRING{IEEE_J_CPMTC = "{IEEE} Transactions on Components, Packaging and Manufacturing Technology---Part {C}: Manufacturing"}
+@STRING{IEEE_J_CAPT = "{IEEE} Transactions on Components and Packaging Technology"}
+@STRING{IEEE_J_CAPTS = "{IEEE} Transactions on Components and Packaging Technologies"}
+@STRING{IEEE_J_CPART = "{IEEE} Transactions on Component Parts"}
+@STRING{IEEE_J_EPM = "{IEEE} Transactions on Electronics Packaging Manufacturing"}
+@STRING{IEEE_J_MFT = "{IEEE} Transactions on Manufacturing Technology"}
+@STRING{IEEE_J_PHP = "{IEEE} Transactions on Parts, Hybrids and Packaging"}
+@STRING{IEEE_J_PMP = "{IEEE} Transactions on Parts, Materials and Packaging"}
+
+
+
+% CAD
+@STRING{IEEE_J_TCAD = "{IEEE} Journal on Technology in Computer Aided Design"}
+@STRING{IEEE_J_CAD = "{IEEE} Transactions on Computer-Aided Design of Integrated Circuits and Systems"}
+
+
+
+% coding, data, information, knowledge
+@STRING{IEEE_J_IT = "{IEEE} Transactions on Information Theory"}
+@STRING{IEEE_J_KDE = "{IEEE} Transactions on Knowledge and Data Engineering"}
+
+
+
+% computers, computation, networking and software
+@STRING{IEEE_J_C = "{IEEE} Transactions on Computers"}
+@STRING{IEEE_J_ECOMP = "{IEEE} Transactions on Electronic Computers"}
+@STRING{IEEE_J_EVC = "{IEEE} Transactions on Evolutionary Computation"}
+@STRING{IEEE_J_FUZZ = "{IEEE} Transactions on Fuzzy Systems"}
+@STRING{IEEE_J_MC = "{IEEE} Transactions on Mobile Computing"}
+@STRING{IEEE_J_NET = "{IEEE/ACM} Transactions on Networking"}
+@STRING{IEEE_J_NN = "{IEEE} Transactions on Neural Networks"}
+@STRING{IEEE_J_PDS = "{IEEE} Transactions on Parallel and Distributed Systems"}
+@STRING{IEEE_J_SE = "{IEEE} Transactions on Software Engineering"}
+
+
+
+% computer graphics, imaging, and multimedia
+@STRING{IEEE_J_IP = "{IEEE} Transactions on Image Processing"}
+@STRING{IEEE_J_MM = "{IEEE} Transactions on Multimedia"}
+@STRING{IEEE_J_VCG = "{IEEE} Transactions on Visualization and Computer Graphics"}
+
+
+
+% cybernetics, ergonomics, robots, man-machine, and automation
+@STRING{IEEE_J_JRA = "{IEEE} Journal of Robotics and Automation"}
+@STRING{IEEE_J_HFE = "{IEEE} Transactions on Human Factors in Electronics"}
+@STRING{IEEE_J_MMS = "{IEEE} Transactions on Man-Machine Systems"}
+@STRING{IEEE_J_PAMI = "{IEEE} Transactions on Pattern Analysis and Machine Intelligence"}
+@STRING{IEEE_J_RA = "{IEEE} Transactions on Robotics and Automation"}
+@STRING{IEEE_J_SMC = "{IEEE} Transactions on Systems, Man, and Cybernetics"}
+@STRING{IEEE_J_SMCA = "{IEEE} Transactions on Systems, Man, and Cybernetics---Part {A}: Systems and Humans"}
+@STRING{IEEE_J_SMCB = "{IEEE} Transactions on Systems, Man, and Cybernetics---Part {B}: Cybernetics"}
+@STRING{IEEE_J_SMCC = "{IEEE} Transactions on Systems, Man, and Cybernetics---Part {C}: Applications and Reviews"}
+@STRING{IEEE_J_SSC = "{IEEE} Transactions on Systems Science and Cybernetics"}
+
+
+
+% earth, wind, fire and water
+@STRING{IEEE_J_GE = "{IEEE} Transactions on Geoscience Electronics"}
+@STRING{IEEE_J_GRS = "{IEEE} Transactions on Geoscience and Remote Sensing"}
+@STRING{IEEE_J_OE = "{IEEE} Journal of Oceanic Engineering"}
+
+
+
+% education, engineering, history, IEEE, professional
+@STRING{IEEE_J_CJECE = "Canadian Journal of Electrical and Computer Engineering"}
+@STRING{IEEE_J_PROC = "Proceedings of the {IEEE}"}
+@STRING{IEEE_J_EDU = "{IEEE} Transactions on Education"}
+@STRING{IEEE_J_EM = "{IEEE} Transactions on Engineering Management"}
+@STRING{IEEE_J_EWS = "{IEEE} Transactions on Engineering Writing and Speech"}
+@STRING{IEEE_J_PC = "{IEEE} Transactions on Professional Communication"}
+
+
+
+% electromagnetics, antennas, EMI, magnetics and microwave
+@STRING{IEEE_J_AWPL = "{IEEE} Antennas and Wireless Propagation Letters"}
+@STRING{IEEE_J_MGWL = "{IEEE} Microwave and Guided Wave Letters"}
+@STRING{IEEE_J_MWCL = "{IEEE} Microwave and Wireless Components Letters"}
+@STRING{IEEE_J_AP = "{IEEE} Transactions on Antennas and Propagation"}
+@STRING{IEEE_J_EMC = "{IEEE} Transactions on Electromagnetic Compatibility"}
+@STRING{IEEE_J_MAG = "{IEEE} Transactions on Magnetics"}
+@STRING{IEEE_J_MTT = "{IEEE} Transactions on Microwave Theory and Techniques"}
+@STRING{IEEE_J_RFI = "{IEEE} Transactions on Radio Frequency Interference"}
+@STRING{IEEE_J_TJMJ = "{IEEE} Translation Journal on Magnetics in Japan"}
+
+
+
+% energy and power
+@STRING{IEEE_J_EC = "{IEEE} Transactions on Energy Conversion"}
+@STRING{IEEE_J_PWRAS = "{IEEE} Transactions on Power Apparatus and Systems"}
+@STRING{IEEE_J_PWRD = "{IEEE} Transactions on Power Delivery"}
+@STRING{IEEE_J_PWRE = "{IEEE} Transactions on Power Electronics"}
+@STRING{IEEE_J_PWRS = "{IEEE} Transactions on Power Systems"}
+
+
+
+% industrial, commercial and consumer
+@STRING{IEEE_J_APPIND = "{IEEE} Transactions on Applications and Industry"}
+@STRING{IEEE_J_BC = "{IEEE} Transactions on Broadcasting"}
+@STRING{IEEE_J_BCTV = "{IEEE} Transactions on Broadcast and Television Receivers"}
+@STRING{IEEE_J_CE = "{IEEE} Transactions on Consumer Electronics"}
+@STRING{IEEE_J_IE = "{IEEE} Transactions on Industrial Electronics"}
+@STRING{IEEE_J_IECI = "{IEEE} Transactions on Industrial Electronics and Control Instrumentation"}
+@STRING{IEEE_J_IA = "{IEEE} Transactions on Industry Applications"}
+@STRING{IEEE_J_IGA = "{IEEE} Transactions on Industry and General Applications"}
+
+
+
+% instrumentation and measurement
+@STRING{IEEE_J_IM = "{IEEE} Transactions on Instrumentation and Measurement"}
+
+
+
+% insulation and materials
+@STRING{IEEE_J_JEM = "{IEEE/TMS} Journal of Electronic Materials"}
+@STRING{IEEE_J_DEI = "{IEEE} Transactions on Dielectrics and Electrical Insulation"}
+@STRING{IEEE_J_EI = "{IEEE} Transactions on Electrical Insulation"}
+
+
+
+% mechanical
+@STRING{IEEE_J_MECH = "{IEEE/ASME} Transactions on Mechatronics"}
+@STRING{IEEE_J_MEMS = "{IEEE/ASME} Journal of Microelectromechanical Systems"}
+
+
+
+% medical and biological
+@STRING{IEEE_J_BME = "{IEEE} Transactions on Biomedical Engineering"}
+% Note: The B-ME journal later dropped the hyphen and became the BME.
+@STRING{IEEE_J_B-ME = "{IEEE} Transactions on Bio-Medical Engineering"}
+@STRING{IEEE_J_BMELC = "{IEEE} Transactions on Bio-Medical Electronics"}
+@STRING{IEEE_J_ITBM = "{IEEE} Transactions on Information Technology in Biomedicine"}
+@STRING{IEEE_J_ME = "{IEEE} Transactions on Medical Electronics"}
+@STRING{IEEE_J_MI = "{IEEE} Transactions on Medical Imaging"}
+@STRING{IEEE_J_MCTE = "{IEEE} Transactions on Molecular, Cellular and Tissue Engineering"}
+@STRING{IEEE_J_NB = "{IEEE} Transactions on NanoBioscience"}
+@STRING{IEEE_J_NSRE = "{IEEE} Transactions on Neural Systems and Rehabilitation Engineering"}
+@STRING{IEEE_J_RE = "{IEEE} Transactions on Rehabilitation Engineering"}
+
+
+
+% optics, lightwave and photonics
+@STRING{IEEE_J_PTL = "{IEEE} Photonics Technology Letters"}
+@STRING{IEEE_J_JLT = "{IEEE/OSA} Journal of Lightwave Technology"}
+
+
+
+% physics, electrons, nanotechnology, nuclear and quantum electronics
+@STRING{IEEE_J_EDL = "{IEEE} Electron Device Letters"}
+@STRING{IEEE_J_JQE = "{IEEE} Journal of Quantum Electronics"}
+@STRING{IEEE_J_JSTQE = "{IEEE} Journal of Selected Topics in Quantum Electronics"}
+@STRING{IEEE_J_ED = "{IEEE} Transactions on Electron Devices"}
+@STRING{IEEE_J_NANO = "{IEEE} Transactions on Nanotechnology"}
+@STRING{IEEE_J_NS = "{IEEE} Transactions on Nuclear Science"}
+@STRING{IEEE_J_PS = "{IEEE} Transactions on Plasma Science"}
+
+
+
+% reliability
+@STRING{IEEE_J_DMR = "{IEEE} Transactions on Device and Materials Reliability"}
+@STRING{IEEE_J_R = "{IEEE} Transactions on Reliability"}
+
+
+
+% semiconductors, superconductors, electrochemical and solid state
+@STRING{IEEE_J_ESSL = "{IEEE/ECS} Electrochemical and Solid-State Letters"}
+@STRING{IEEE_J_JSSC = "{IEEE} Journal of Solid-State Circuits"}
+@STRING{IEEE_J_ASC = "{IEEE} Transactions on Applied Superconductivity"}
+@STRING{IEEE_J_SM = "{IEEE} Transactions on Semiconductor Manufacturing"}
+
+
+
+% sensors
+@STRING{IEEE_J_SENSOR = "{IEEE} Sensors Journal"}
+
+
+
+% VLSI
+@STRING{IEEE_J_VLSI = "{IEEE} Transactions on Very Large Scale Integration ({VLSI}) Systems"}
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%
+%% IEEE Magazines %%
+%%%%%%%%%%%%%%%%%%%%
+
+
+@STRING{IEEE_M_AES = "{IEEE} Aerospace and Electronics Systems Magazine"}
+@STRING{IEEE_M_HIST = "{IEEE} Annals of the History of Computing"}
+@STRING{IEEE_M_AP = "{IEEE} Antennas and Propagation Magazine"}
+@STRING{IEEE_M_ASSP = "{IEEE} {ASSP} Magazine"}
+@STRING{IEEE_M_CD = "{IEEE} Circuits and Devices Magazine"}
+@STRING{IEEE_M_CAS = "{IEEE} Circuits and Systems Magazine"}
+@STRING{IEEE_M_COM = "{IEEE} Communications Magazine"}
+@STRING{IEEE_M_COMSOC = "{IEEE} Communications Society Magazine"}
+% CSEM changed to CSE in 1999
+@STRING{IEEE_M_CSE = "{IEEE} Computing in Science and Engineering"}
+@STRING{IEEE_M_CSEM = "{IEEE} Computational Science and Engineering Magazine"}
+@STRING{IEEE_M_C = "{IEEE} Computer"}
+@STRING{IEEE_M_CAP = "{IEEE} Computer Applications in Power"}
+@STRING{IEEE_M_CGA = "{IEEE} Computer Graphics and Applications"}
+@STRING{IEEE_M_CONC = "{IEEE} Concurrency"}
+@STRING{IEEE_M_CS = "{IEEE} Control Systems Magazine"}
+@STRING{IEEE_M_DTC = "{IEEE} Design and Test of Computers"}
+@STRING{IEEE_M_EI = "{IEEE} Electrical Insulation Magazine"}
+@STRING{IEEE_M_EMB = "{IEEE} Engineering in Medicine and Biology Magazine"}
+@STRING{IEEE_M_EMR = "{IEEE} Engineering Management Review"}
+@STRING{IEEE_M_EXP = "{IEEE} Expert"}
+@STRING{IEEE_M_IA = "{IEEE} Industry Applications Magazine"}
+@STRING{IEEE_M_IM = "{IEEE} Instrumentation and Measurement Magazine"}
+@STRING{IEEE_M_IS = "{IEEE} Intelligent Systems"}
+@STRING{IEEE_M_IC = "{IEEE} Internet Computing"}
+@STRING{IEEE_M_ITP = "{IEEE} {IT} Professional"}
+@STRING{IEEE_M_MICRO = "{IEEE} Micro"}
+@STRING{IEEE_M_MW = "{IEEE} Microwave Magazine"}
+@STRING{IEEE_M_MM = "{IEEE} Multimedia"}
+@STRING{IEEE_M_NET = "{IEEE} Network"}
+@STRING{IEEE_M_PCOM = "{IEEE} Personal Communications Magazine"}
+@STRING{IEEE_M_POT = "{IEEE} Potentials"}
+% CAP and PER merged to form PE in 2003
+@STRING{IEEE_M_PE = "{IEEE} Power and Energy Magazine"}
+@STRING{IEEE_M_PER = "{IEEE} Power Engineering Review"}
+@STRING{IEEE_M_RA = "{IEEE} Robotics and Automation Magazine"}
+@STRING{IEEE_M_SP = "{IEEE} Signal Processing Magazine"}
+@STRING{IEEE_M_S = "{IEEE} Software"}
+@STRING{IEEE_M_SPECT = "{IEEE} Spectrum"}
+@STRING{IEEE_M_TS = "{IEEE} Technology and Society Magazine"}
+@STRING{IEEE_M_WC = "{IEEE} Wireless Communications Magazine"}
+@STRING{IEEE_M_TODAY = "Today's Engineer"}
+
+
+
+
+%--
+%EOF
diff --git a/Master/texmf-dist/bibtex/bib/abstyles/acompat.bib b/Master/texmf-dist/bibtex/bib/abstyles/acompat.bib
new file mode 100644
index 00000000000..fb94505e643
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/abstyles/acompat.bib
@@ -0,0 +1,45 @@
+This is ACOMPAT.BIB, a BibTeX database file for the `adaptable' style
+family, written by Hans-Hermann Bode (HHBODE at DOSUNI1.BITNET), that contains
+compatibility definitions for use with standard styles. Use acompat as the
+very first item---even before jourfull or jourabbr---in your \bibliography
+command when you have to typeset your new databases---relying on the
+adaptable styles---with the standard styles.
+
+------------------------------------------------------------------------------
+
+First, we declare the \abfull switch that is defined by the adaptable
+styles. Here, it is unconditionally set to true which might not fit your
+needs (in this case, say \abfullfalse instead of \abfulltrue).
+
+@PREAMBLE{"\newif\ifabfull\abfulltrue"}
+
+------------------------------------------------------------------------------
+
+Next, the strings for edition numbers are defined.
+
+@STRING{first="First"}
+@STRING{second="Second"}
+@STRING{third="Third"}
+@STRING{fourth="Fourth"}
+@STRING{fifth="Fifth"}
+@STRING{sixth="Sixth"}
+@STRING{seventh="Seventh"}
+@STRING{eighth="Eighth"}
+@STRING{ninth="Ninth"}
+@STRING{tenth="Tenth"}
+
+------------------------------------------------------------------------------
+
+Finally, we have to set up strings for certain ``chapter'' names.
+
+@STRING{section="Section"}
+@STRING{paragraph="Paragraph"}
+@STRING{appendix="Appendix"}
+@STRING{part="Part"}
+
+------------------------------------------------------------------------------
+
+That's all there is to it. Now you can use your new databases with the old
+styles as well.
+
+------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/bibtex/bib/acmconf/pubform.bib b/Master/texmf-dist/bibtex/bib/acmconf/pubform.bib
new file mode 100644
index 00000000000..fa77e74f6f4
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/acmconf/pubform.bib
@@ -0,0 +1,96 @@
+%%
+%% This is file `pubform.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% acmconf.dtx (with options: `bib')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from pubform.bib.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file acmconf.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%%
+%% to test the checksum, uncomment \OnlyDescription
+%% in the driver
+%%\fi
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+
+@TECHREPORT{template.1999,
+AUTHOR = "ACM",
+TITLE = "{ACM} {SIG} {PROCEEDINGS} template",
+INSTITUTION = "ACM",
+ADDRESS = "http://www.acm.org/sigs/
+ pubs/proceed/template.html",
+YEAR = 1999,
+}
+
+@ARTICLE{anderson.1992,
+AUTHOR = "Anderson, R.E",
+TITLE = "Social impacts of computing: Codes of
+ professional ethics",
+JOURNAL = "Social Science Computing Review",
+YEAR = 1992,
+NUMBER = 4,
+VOLUME = 10,
+PAGES = "453--469",
+}
+
+@ARTICLE{conger.1995,
+AUTHOR = "Conger, Sue AND
+ Loch, Karen D.",
+TITLE = "Ethics and computer use",
+JOURNAL = "Communications of the {ACM}",
+VOLUME = 38,
+MONTH = dec,
+YEAR = 1995,
+NUMBER = 12,
+PAGES = "30--32",
+}
+
+@INPROCEEDINGS{mackay.1995,
+AUTHOR = "Mackay, W.E.",
+TITLE = "Ethics, lies and videotape...",
+BOOKTITLE = "Proceedings of {CHI} '95 (Denver CO)",
+PUBLISHER = "ACM Press",
+MONTH = may,
+YEAR = 1995,
+PAGES = "138--145",
+}
+
+@TECHREPORT{schwartz.1995,
+AUTHOR = "Schwartz, M. AND
+ {Task Force on Bias-Free Language}",
+TITLE = "Guidelines for Bias-Free Writing",
+INSTITUTION = "Indiana University",
+PUBLISHER = "Indiana University Press, Bloomington IN",
+YEAR = 1995,
+}
+\endinput
+%%
+%% End of file `pubform.bib'.
diff --git a/Master/texmf-dist/bibtex/bib/acmtrans/acmtr.bib b/Master/texmf-dist/bibtex/bib/acmtrans/acmtr.bib
new file mode 100644
index 00000000000..9d6d973579f
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/acmtrans/acmtr.bib
@@ -0,0 +1,116 @@
+% acmtr.bib
+% $Header: acmtr.bib,v 1.3 96/01/30 14:27:43 boyland Exp $
+
+@mastersthesis{ko94,
+author = "Jacob Kornerup",
+title = "Mapping Powerlists onto Hypercubes",
+school = "The University of Texas at Austin",
+note = "(In preparation)",
+year = "1994"}
+%month = "dec",}
+
+@PhdThesis{gerndt:89,
+ author = "Michael Gerndt",
+ title = "Automatic Parallelization for Distributed-Memory
+ Multiprocessing Systems",
+ school = "University of Bonn",
+ year = 1989,
+ address = "Bonn, Germany",
+ month = dec
+}
+
+@article{6:1:1,
+author = "J. E. {Archer, Jr.} and R. Conway and F. B. Schneider",
+title = "User recovery and reversal in interactive systems",
+journal = "ACM Trans. Program. Lang. Syst.",
+volume = "6",
+number = "1",
+month = jan,
+year = 1984,
+pages = "1--19"}
+
+@article{7:1:137,
+author = "D. D. Dunlop and V. R. Basili",
+title = "Generalizing specifications for uniformly implemented loops",
+journal = "ACM Trans. Program. Lang. Syst.",
+volume = "7",
+number = "1",
+month = jan,
+year = 1985,
+pages = "137--158"}
+
+@article{7:2:183,
+author = "J. Heering and P. Klint",
+title = "Towards monolingual programming environments",
+journal = "ACM Trans. Program. Lang. Syst.",
+volume = "7",
+number = "2",
+month = apr,
+year = 1985,
+pages = "183--213"}
+
+@book{knuth:texbook,
+author = "Donald E. Knuth",
+title = "The {\TeX{}book}",
+publisher = "Addison-Wesley",
+address = "Reading, Mass.",
+year = 1984}
+
+@article{6:3:380,
+author = "E. Korach and D. Rotem and N. Santoro",
+title = "Distributed algorithms for finding centers and medians in networks",
+journal = "ACM Trans. Program. Lang. Syst.",
+volume = "6",
+number = "3",
+month = jul,
+year = 1984,
+pages = "380--401"}
+
+@book{lamport:latex,
+author = "Leslie Lamport",
+title = "\it {\LaTeX}: A Document Preparation System",
+publisher = "Addison-Wesley",
+address = "Reading, Mass.",
+year = 1986}
+
+@article{7:3:359,
+author = "F. Nielson",
+title = "Program transformations in a denotational setting",
+journal = "ACM Trans. Program. Lang. Syst.",
+volume = "7",
+number = "3",
+month = jul,
+year = 1985,
+pages = "359--379"}
+
+%testing
+@article{test,
+author = "F. Nielson",
+title = "Program transformations in a denotational setting",
+journal = "ACM Trans. Program. Lang. Syst.",
+volume = "7",
+number = "3",
+month = jul,
+year = 1986,
+pages = "359--379"}
+
+
+@inproceedings{reid:scribe,
+author = "Brian K. Reid",
+title = "A high-level approach to computer document formatting",
+booktitle = "Proceedings of the Seventh Annual Symposium on Principles of
+ Programming Languages",
+month = jan,
+year = 1980,
+publisher = "ACM",
+address = "New York",
+pages = "24--31"}
+
+
+
+
+
+
+
+
+
diff --git a/Master/texmf-dist/bibtex/bib/adrconv/example.bib b/Master/texmf-dist/bibtex/bib/adrconv/example.bib
new file mode 100644
index 00000000000..3309ce2ed3c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/adrconv/example.bib
@@ -0,0 +1,73 @@
+%%
+%% This is file `example.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% adrconv.dtx (with options: `bib,example')
+%% Copyright (c) 2001 Axel Kielhorn
+%%
+%% This file will generate fast loadable files from adrconv.dtx when
+%% run through LaTeX or TeX.
+%%
+%% This file is part of the adrconv bundle.
+%%
+%% This file can be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 of the license
+%% or (at you option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-procejt.org/lppl.txt
+%% and version 1.2 or later ist part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The adrconv bundle consists at least of the files adrconv.dtx,
+%% adrconv.ins and adrguide.tex.
+%%
+%% You are NOT ALLOWED to change this file.
+%%
+%% You are NOT ALLOWED to distribute this file without adrconv.dtx,
+%% adrconv.ins or adrguide.tex.
+@address{mustermann,
+ name = {Hans Mustermann},
+ city = {Heimstatt},
+ zip = 01234,
+ country = {D -},
+ street = {Einbahnstra{\ss}e 1},
+ phone = {01234 / 5 67 89},
+ fax = {01234 / 5 67 89},
+ email = {hm{@}work.com},
+ note = {Alles nur Erfindung},
+}
+@address{AxelK,
+ name = {Axel Kielhorn},
+ city = {Verden},
+ zip = 27283,
+ street = {Lange Stra{\ss}e 17},
+ phone = {04231 / 12 34 56},
+ fax = {04231 / 65 34 21},
+ email = {a.kielhorn{@}web.de},
+ key = {Aki},
+ note = {Author of the modified addressen.bst},
+ birthday = {16.05.1967},
+ nbirthday = 0516,
+}
+@address{RalfK,
+ name = {Ralf Kielhorn},
+ city = {Braunschweig},
+ zip = 38116,
+ street = {Gro{\ss}e Stra{\ss}e 17},
+ phone = {0531 / 12 34 56},
+ key = {Rki},
+ birthday = {05.08.1969},
+ nbirthday = 0805,
+}
+@address{SabineK,
+ name = {Sabine Kielhorn},
+ city = {Oldenburg},
+ zip = 26133,
+ street = {Fraunhoferstra{\ss}e 21},
+ phone = {0441 / 12 34 56},
+ key = {Ski},
+ birthday = {13.11.1970},
+ nbirthday = 1113,
+}
diff --git a/Master/texmf-dist/bibtex/bib/aiaa/bibtex_database.bib b/Master/texmf-dist/bibtex/bib/aiaa/bibtex_database.bib
new file mode 100644
index 00000000000..6fe1f92491b
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/aiaa/bibtex_database.bib
@@ -0,0 +1,124 @@
+@InCollection{turner:64a,
+ author = {M. J. Turner and H. C. Martin and R. C. Leible},
+ title = {Further Development and Applications of Stiffness Methods},
+ booktitle = {Matrix Methods of Structural Analysis},
+ year = 1964,
+ edition = {1st},
+ publisher = {Macmillian},
+ address = {New York},
+ volume = 1,
+ pages = {203-266}
+ }
+
+@Article{bhutta:90jsr,
+ author = {B. A. Bhutta and C. H. Lewis},
+ title = {Large-Angle-of-Attack Vicous Hypersonic Flows over
+ Complex Lifting Configurations},
+ journal = {Journal of Spacecraft and Rockets},
+ year = 1990,
+ volume = 27,
+ number = 2,
+ pages = {194-204},
+ note = {also AIAA Paper 89--0269, Jan. 1989}
+}
+
+@InCollection{blottner:70cp,
+ author = {F. G. Blottner},
+ title = {Prediction of Electron Density in the Boundary Layer
+ of Entry Vehicles with Ablation},
+ booktitle = {The Entry Plasma Sheath and Its Effects},
+ type = {NASA SP--252},
+ volume = 1,
+ year = 1970,
+ month = oct,
+ pages = {219--240}
+}
+
+@InProceedings{wirin:90cp,
+ author = {W. B. Wirin},
+ title = {Space Debris 1989},
+ booktitle = {Proceedings of the Thrity-Second Colloquium
+ on the Law of Outer Space},
+ year = 1990,
+ publisher = {AIAA},
+ address = {Wahington, DC},
+ pages = {184--196}
+}
+
+@TechReport{bhutta:90vra,
+ author = {B. A. Bhutta and C. H. Lewis},
+ title = {PNS Predictions of External/Internal Hypersonic Flows
+ for NASP Propulsion Applications},
+ institution = {VRA, Inc.},
+ type = {VRA--TR--90--01},
+ year = 1990,
+ address = {Blacksburg, VA},
+ month = jun
+}
+
+@TechReport{miner:75ncr,
+ author = {E. W. Miner and C. H. Lewis},
+ title = {Hypersonic Ionizing Air Viscous Shock-Layer Flows
+ over Nonanlytic Blunt Bodies},
+ year = 1975,
+ type = {NASA CR--2250},
+ month = may
+}
+
+@TechReport{bhutta:90cp,
+ author = {B. A. Bhutta and C. H. Lewis},
+ title = {Aerothermodynamic Performance of 3-D and Bent-Nose RVs
+ Hypersonic Conditions},
+ year = 1990,
+ type = {AIAA Paper 90--3068},
+ month = aug
+}
+
+@InCollection{sutton:85ar,
+ author = {K. Sutton},
+ title = {Air Radiation Revisted},
+ booktitle = {Thermal Design of Aeroassisted Orbital Transfer Vehicles},
+ publisher = {AIAA},
+ year = 1985,
+ editor = {H. F. Nelson},
+ volume = 96,
+ type = {Progress in Astronautics and Aeronautics},
+ address = {New York},
+ pages = {419--441}
+}
+
+@TechReport{anon:53,
+ author = {Anon.},
+ title = {Equations, Tables, and Charts for Compressible Flow},
+ year = 1953,
+ type = {NACA Rept.~1135}
+}
+
+@Misc{moss:90pc,
+ author = {J. N. Moss},
+ howpublished = {private communication,
+ NASA Langley Research Center,
+ Hampton, VA},
+ year = 1990,
+ month = jun
+}
+
+@Book{tufte:83bk,
+ author = {Edward R. Tufte},
+ title = {The Visual Display of Quantitative Information},
+ publisher = {Graphics Press},
+ year = 1983
+}
+
+@PhdThesis{thoman:66phd,
+ author = {David Charles Thoman},
+ title = {Numerical Solutions of Time Dependent Two Dimensional
+ Flow of a Viscous, Incompressible Fluid Over
+ Stationary and Rotating Cylinders},
+ school = {University of Notre Dame},
+ year = 1966,
+ address = {Indiana},
+ month = aug,
+ annote = { example of viscous timestep restriction, cell Re }
+}
+
diff --git a/Master/texmf-dist/bibtex/bib/amslatex/jr.bib b/Master/texmf-dist/bibtex/bib/amslatex/jr.bib
new file mode 100644
index 00000000000..fdfc83c5689
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/amslatex/jr.bib
@@ -0,0 +1,214 @@
+@article{BFMW,
+ author={J. Bryant and S. Ferry and W. Mio and S. Weinberger},
+ title={Topology of homology manifolds},
+ journal={Ann. of Math.},
+ volume={143},
+ pages={435--467},
+ year={1996},
+ review={\MR{97b:57017}},
+}
+
+@article{Ch,
+ author={T. A. Chapman},
+ title={Simple homotopy theory for {$ANR$}'s},
+ journal={General Topology and its Applications},
+ volume={7},
+ pages={165--174},
+ year={1977},
+ review={\MR{58:18414}},
+}
+
+@article{Co,
+ author={M. Cohen},
+ title={Simplicial structures and transverse cellularity},
+ journal={Ann. of Math.},
+ volume={85},
+ pages={218--245},
+ year={1967},
+ review={\MR{35:1037}},
+}
+
+@incollection{FP,
+ author={S. Ferry and E. K. Pedersen},
+ title={Epsilon surgery theory {I}},
+ booktitle={Novikov Conjectures, Index Theorems and Rigidity,
+ Vol. 2 ({O}berwolfach, 1993)},
+ series={Lond. Math. Soc. Lecture Note Ser.},
+ volume={227},
+ publisher={Cambridge University Press},
+ year={1995},
+ pages={167--226},
+ review={\MR{97g:57044}},
+}
+
+@article{HTW,
+ author={B. Hughes and L. Taylor and B. Williams},
+ title={Manifold approximate fibrations are approximately bundles},
+ journal={Forum Math.},
+ volume={3},
+ pages={309--325},
+ year={1991},
+ review={\MR{92k:57040}},
+}
+
+@article{Jo,
+ author={H. Johnston},
+ title={Transversality for homology manifolds},
+ journal={Topology},
+ volume={38},
+ pages={673--697},
+ year={1999},
+ review={\MR{99k:57048}},
+}
+
+@article{Jn,
+ author={L. Jones},
+ title={Patch spaces: a geometric representation for {P}oincar\'e
+ spaces},
+ journal={Ann. of Math.},
+ volume={97},
+ pages={306--343},
+ year={1973},
+ note={102, 183--185 (1975) \MR{47:4269}; \MR{52:11930}},
+}
+
+@book{KS,
+ author={R. Kirby and L. Siebenmann},
+ title={Foundational essays on topological manifolds, smoothings, and
+ triangulations},
+ series={Ann. of Math. Study},
+ volume={88},
+ publisher={Princeton University Press},
+ year={1977},
+ review={\MR{58:31082}},
+}
+
+@article{LR,
+ author={N. Levitt and A. Ranicki},
+ title={Intrinsic transversality structures},
+ journal={Pacific J. Math.},
+ volume={129},
+ pages={85--144},
+ year={1987},
+ review={\MR{88m:57027}},
+}
+
+@article{M,
+ author={A. Marin},
+ title={La transversalit\'e topologique},
+ language={French},
+ journal={Ann. of Math.},
+ volume={106},
+ pages={269--293},
+ year={1977},
+ review={\MR{57:10707}},
+}
+
+@article{Q1,
+ author={F. Quinn},
+ title={Resolutions of homology manifolds, and the topological
+ characterization of manifolds},
+ journal={Invent. Math.},
+ volume={72},
+ pages={264--284},
+ year={1983},
+ note={Corrigendum \textbf{85} (1986) 653},
+ review={\MR{85b:57023}, \MR{87g:57031}},
+}
+
+@article{Q2,
+ author={F. Quinn},
+ title={An obstruction to the resolution of homology manifolds},
+ journal={Michigan Math. J.},
+ volume={34},
+ pages={284--291},
+ year={1987},
+ review={\MR{88j:57016}},
+}
+
+@article{Q3,
+ author={F. Quinn},
+ title={Topological transversality holds in all dimensions},
+ journal={Bull. Amer. Math. Soc.},
+ volume={18},
+ pages={145--148},
+ year={1988},
+ review={\MR{89c:57016}},
+}
+
+@article{R1,
+ author={A. Ranicki},
+ title={The algebraic theory of surgery {II}. {A}pplications to topology},
+ journal={Proc. Lond. Math. Soc.},
+ volume={40},
+ pages={193--287},
+ year={1980},
+ review={\MR{82f:57024b}},
+}
+
+@book{R2,
+ author={A. Ranicki},
+ title={Exact sequences in the algebraic theory of surgery},
+ series={Mathematical Notes},
+ volume={26},
+ publisher={Princeton University Press},
+ year={1981},
+ review={\MR{82h:57027}},
+}
+
+@book{R3,
+ author={A. Ranicki},
+ title={Algebraic {$L$}--theory and topological manifolds},
+ series={Cambridge Tracts in Mathematics},
+ volume={102},
+ publisher={Cambridge University Press},
+ year={1992},
+ review={\MR{94i:57051}},
+}
+
+@article{RS,
+ author={C. P. Rourke and B. J. Sanderson},
+ title={On topological neighbourhoods},
+ journal={Compositio Math.},
+ volume={22},
+ pages={387--425},
+ year={1970},
+ review={\MR{45:7720}},
+}
+
+@book{Wa,
+ author={C. T. C. Wall},
+ title={Surgery on compact manifolds},
+ edition={2},
+ publisher={Academic Press},
+ year={1970},
+}
+
+@book{Wei,
+ author={S. Weinberger},
+ title={Nonlocally linear manifolds and orbifolds},
+ series={Proc. 1994 Z\"urich ICM},
+ pages={637--647},
+ publisher={Birkh\"auser},
+ year={1995},
+ review={\MR{97g:57028}},
+}
+
+@book{Wein,
+ author={S. Weinberger},
+ title={The topological classification of stratified spaces},
+ series={Chicago Lectures in Mathematics},
+ publisher={University of Chicago Press},
+ year={1994},
+ review={\MR{96b:57024}},
+}
+
+@article{Wes,
+ author={J. West},
+ title={Mapping {H}ilbert cube manifolds to {$ANR$}'s},
+ journal={Ann. of Math.},
+ volume={106},
+ pages={1--18},
+ year={1977},
+ review={\MR{56:9534}},
+}
diff --git a/Master/texmf-dist/bibtex/bib/apacite/apa5ex.bib b/Master/texmf-dist/bibtex/bib/apacite/apa5ex.bib
new file mode 100644
index 00000000000..cbaeb444e8d
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/apacite/apa5ex.bib
@@ -0,0 +1,2013 @@
+@string{comment = {
+% \iffalse meta-comment
+%
+% This is file `apa5ex.bib'.
+%
+% Copyright 1994-2005 Erik Meijer and any individual authors listed
+% elsewhere in this file. All rights reserved.
+%
+% This file is part of the `apacite' package.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% The list of all files belonging to the `apacite' package, with a
+% short description, is given in the file `manifest.txt'.
+%
+% \fi
+
+%% apa5ex.bib: References from the 5th edition of the Publication Manual
+%% of the APA, plus a few additional references
+%% Written by Erik Meijer <e.meijer@eco.rug.nl>
+%% This version: [2005/06/08]
+
+% Entry labels are section number of the APA manual (5th ed.)
+% plus a sequence number within the section.
+%
+% Note that this ``string'' is used as a comment, because the
+% @comment construction of BibTeX does not work: `@'-sign in the
+% e-mail address above would be taken as the beginning of an entry.
+}}
+
+@misc{3.94-1,
+ author = {Walker},
+ year = {2000},
+ type = {Unknown}
+}
+
+@misc{3.95-1,
+ author = {Wasserstein and Zappulla and Rosen and Gerstman and Rock},
+ year = {1994},
+ type = {Unknown}
+}
+
+@misc{3.95-2,
+ author = {Bradley and Ramirez and Soo},
+ year = {1994},
+ type = {Unknown}
+}
+
+@misc{3.95-3,
+ author = {Bradley and Soo and Ramirez and Brown},
+ year = {1994},
+ type = {Unknown}
+}
+
+@misc{3.95-4,
+ author = {Kosslyn and Koenig and Barrett and Cave and Tang and Gabrieli},
+ year = {1996},
+ type = {Unknown}
+}
+
+@misc{3.95-5,
+ author = {Kosslyn and Koenig and Gabrieli and Tang and Marsolek and Daly},
+ year = {1996},
+ type = {Unknown}
+}
+
+@misc{3.95-6,
+ author = {Nightlinger and Littlewood},
+ year = {1993},
+ type = {Unknown}
+}
+
+@book{3.95-7,
+ author = {J{\"{o}}reskog, K[arl] G. and S{\"{o}}rbom, D[ag]},
+ year = {1989},
+ title = {{LISREL} 7: {A} Guide to the Program and Applications},
+ edition = {2nd},
+ address = {Chicago},
+ publisher = {SPSS}
+}
+
+@misc{3.96-1,
+ author = {{\bibcorporate{National Institute of Mental Health}}},
+ firstkey = {{National Institute of Mental Health [NIMH]}},
+ key = {{NIMH}},
+ year = {1999},
+ type = {Unknown}
+}
+
+@misc{3.96-2,
+ author = {{\bibcorporate{University of Pittsburgh}}},
+ year = {1993},
+ type = {Unknown}
+}
+
+@book{3.96-3,
+ author = {{\bibcorporate{Koninklijke Nederlandse Schaakbond}}},
+ firstkey = {{Koninklijke Nederlandse Schaakbond [KNSB]}},
+ key = {{KNSB}},
+ year = {2002},
+ title = {Jaarverslag 2002},
+ englishtitle = {Annual Report 2002},
+ address = {Amsterdam},
+ publisher = {Author},
+ note = {Fake entry to study sorting and citing of references with
+ same key, but with different firstkey.}
+}
+
+@book{3.96-4,
+ author = {{\bibcorporate{Koninklijke Nederlandse Schaakbond}}},
+ firstkey = {{Koninklijke Nederlandse Schaakbond [KNSB]}},
+ key = {{KNSB}},
+ year = {2003},
+ title = {Jaarverslag 2003},
+ englishtitle = {Annual Report 2003},
+ address = {Amsterdam},
+ publisher = {Author},
+ note = {Fake entry to study sorting and citing of references with
+ same key, but with different firstkey.}
+}
+
+@book{3.96-5,
+ author = {{\bibcorporate{Koninklijke Nederlandse Schaatsbond}}},
+ firstkey = {{Koninklijke Nederlandse Schaatsbond [KNSB]}},
+ key = {{KNSB}},
+ year = {2002},
+ title = {Jaarverslag 2002},
+ englishtitle = {Annual Report 2002},
+ address = {Amsterdam},
+ publisher = {Author},
+ note = {Fake entry to study sorting and citing of references with
+ same key, but with different firstkey.}
+}
+
+@book{3.96-6,
+ author = {{\bibcorporate{Koninklijke Nederlandse Schaatsbond}}},
+ firstkey = {{Koninklijke Nederlandse Schaatsbond [KNSB]}},
+ key = {{KNSB}},
+ year = {2003},
+ title = {Jaarverslag 2003},
+ englishtitle = {Annual Report 2003},
+ address = {Amsterdam},
+ publisher = {Author},
+ note = {Fake entry to study sorting and citing of references with
+ same key, but with different firstkey.}
+}
+
+@magazine{3.97-1,
+ key = {{\APACciteatitle{Study Finds}}},
+ year = {1982},
+ month = apr,
+ title = {Study Finds Free Care Used More},
+ journal = {{APA} Monitor},
+ pages = {14}
+}
+
+@book{3.97-2,
+ year = {1979},
+ title = {College Bound Seniors},
+ address = {Princeton, NJ},
+ publisher = {College Board Publications}
+}
+
+@misc{3.97-3,
+ author = {Anonymous},
+ year = {1998},
+ type = {Unknown}
+}
+
+@newspaper{3.97-4,
+ year = {2002},
+ month = mar,
+ day = {3},
+ title = {Editorial},
+ journal = {The Edited Newspaper},
+ pages = {2},
+ note = {Fake entry to study sorting and citing of references without
+ author, but with the same title.}
+}
+
+@newspaper{3.97-5,
+ year = {2003},
+ month = feb,
+ day = {12},
+ title = {Editorial},
+ journal = {The Edited Newspaper},
+ pages = {2},
+ note = {Fake entry to study sorting and citing of references without
+ author, but with the same title.}
+}
+
+@newspaper{3.97-6,
+ year = {2003},
+ month = jan,
+ day = {24},
+ title = {Editorial},
+ journal = {The Edited Newspaper},
+ pages = {2},
+ note = {Fake entry to study sorting and citing of references without
+ author, but with the same title.}
+}
+
+@book{3.98-1,
+ author = {Luce, R. Duncan},
+ year = {1959},
+ title = {Individual Choice Behavior},
+ address = {New York},
+ publisher = {Wiley}
+}
+
+@misc{3.98-2,
+ author = {Luce, P. A.},
+ year = {1986},
+ type = {Unknown}
+}
+
+@misc{3.98-3,
+ author = {Goldberg, J. M. and Neff},
+ year = {1961},
+ type = {Unknown}
+}
+
+@misc{3.98-4,
+ author = {Goldberg, M. E. and Wurtz},
+ year = {1972},
+ type = {Unknown}
+}
+
+@misc{3.99-1,
+ author = {Edeline and Weinberger},
+ year = {1991},
+ type = {Unknown}
+}
+
+@misc{3.99-2,
+ author = {Edeline and Weinberger},
+ year = {1993},
+ type = {Unknown}
+}
+
+@misc{3.99-3,
+ author = {Gogel},
+ year = {1984},
+ type = {Unknown}
+}
+
+@misc{3.99-4,
+ author = {Gogel},
+ year = {1990},
+ type = {Unknown}
+}
+
+@misc{3.99-5,
+ author = {Gogel},
+ year = {\BIP},
+ type = {Unknown}
+}
+
+@misc{3.99-6,
+ author = {Johnson},
+ year = {1991},
+ title = {Aaa}
+}
+
+@misc{3.99-7,
+ author = {Johnson},
+ year = {1991},
+ title = {Bbb}
+}
+
+@misc{3.99-8,
+ author = {Johnson},
+ year = {1991},
+ title = {Ccc}
+}
+
+@misc{3.99-9,
+ author = {Singh},
+ year = {1983},
+ type = {Unknown}
+}
+
+@misc{3.99-10,
+ author = {Singh},
+ year = {\BIP},
+ title = {Aaa}
+}
+
+@misc{3.99-11,
+ author = {Singh},
+ year = {\BIP},
+ title = {Bbb}
+}
+
+@misc{3.99-12,
+ author = {Balda},
+ year = {1980},
+ type = {Unknown}
+}
+
+@misc{3.99-13,
+ author = {Kamil},
+ year = {1988},
+ type = {Unknown}
+}
+
+@misc{3.99-14,
+ author = {Pepperberg and Funk},
+ year = {1990},
+ type = {Unknown}
+}
+
+@misc{3.99-15,
+ author = {Minor},
+ year = {2001},
+ type = {Unknown}
+}
+
+@misc{3.99-16,
+ author = {Adams},
+ year = {1999},
+ type = {Unknown}
+}
+
+@misc{3.99-17,
+ author = {Storandt},
+ year = {1997},
+ type = {Unknown}
+}
+
+@misc{3.100-1,
+ author = {Author},
+ year = {\bibnodate},
+ type = {Unknown},
+ note = {no example, but rule given in text}
+}
+
+@book{3.100-2,
+ author = {Aristotle},
+ year = {1931},
+ title = {Unknown},
+ translator = {Someone},
+ originalyear = {\bibnodate}
+}
+
+@book{3.100-3,
+ author = {James},
+ year = {1983},
+ title = {Unknown},
+ originalyear = {1890}
+}
+
+@misc{3.101-1,
+ author = {Cheek and Buss},
+ year = {1981},
+ type = {Unknown}
+}
+
+@misc{3.101-2,
+ author = {Shimamura},
+ year = {1989},
+ type = {Unknown}
+}
+
+@misc{3.101-3,
+ author = {Myers},
+ year = {2000},
+ type = {Unknown}
+}
+
+@misc{3.101-4,
+ author = {Beutler},
+ year = {2000},
+ type = {Unknown}
+}
+
+@misc{3.103-1,
+ author = {Hashtroudi and Chrosniak and Schwartz},
+ year = {1991},
+ type = {Unknown}
+}
+
+@misc{4.04-t1,
+ author = {Brown, J. R.},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@misc{4.04-t2,
+ author = {Browning, A. R.},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@misc{4.04-t3,
+ author = {MacArthur},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@misc{4.04-t4,
+ author = {McAllister},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@misc{4.04-t5,
+ author = {MacNeil},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@misc{4.04-t6,
+ author = {M'Carthy},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@misc{4.04-t7,
+ author = {DeBase},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@misc{4.04-t8,
+ author = {De Vries, J.},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@misc{4.04-t9,
+ author = {von Helmholtz, H. L. F.},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@article{4.04-t10,
+ year = {2003},
+ title = {{\APACSortNoop{Two-Thousand and Three}}2003 Hottest Summer Ever},
+ journal = {Journal of Meteorology},
+ note = {This is a fake entry, used for didactical purposes.}
+}
+
+@misc{4.04-1,
+ author = {Hewlett, L. S.},
+ year = {1996},
+ type = {Unknown}
+}
+
+@misc{4.04-2,
+ author = {Hewlett, L. S.},
+ year = {1999},
+ type = {Unknown}
+}
+
+@misc{4.04-3,
+ author = {Alleyne, R. L.},
+ year = {2001},
+ type = {Unknown}
+}
+
+@misc{4.04-4,
+ author = {Alleyne, R. L. and Evans, A. J.},
+ year = {1999},
+ type = {Unknown}
+}
+
+@misc{4.04-5,
+ author = {Gosling, J. R. and Jerald, K. and Belfar, S. F.},
+ year = {2000},
+ type = {Unknown}
+}
+
+@misc{4.04-6,
+ author = {Gosling, J. R. and Tevlin, D. F.},
+ year = {1996},
+ type = {Unknown}
+}
+
+@misc{4.04-7,
+ author = {Hayward, D. and Firsching, A. and Brown, J.},
+ year = {1999},
+ type = {Unknown}
+}
+
+@misc{4.04-8,
+ author = {Hayward, D. and Firsching, A. and Smigel, J.},
+ year = {1999},
+ type = {Unknown}
+}
+
+@misc{4.04-9,
+ author = {Cabading, J. R. and Wright, K.},
+ year = {2000},
+ type = {Unknown}
+}
+
+@misc{4.04-10,
+ author = {Cabading, J. R. and Wright, K.},
+ year = {2001},
+ type = {Unknown}
+}
+
+@article{4.04-11,
+ author = {Baheti, J. R.},
+ year = {2001},
+ title = {Control {\ldots}}
+}
+
+@article{4.04-12,
+ author = {Baheti, J. R.},
+ year = {2001},
+ title = {Roles of {\ldots}}
+}
+
+@misc{4.04-13,
+ author = {Mathur, A. L. and Wallston, J.},
+ year = {1999},
+ type = {Unknown}
+}
+
+@misc{4.04-14,
+ author = {Mathur, S. E. and Ahlers, R. J.},
+ year = {1998},
+ type = {Unknown}
+}
+
+@book{4.05-1,
+ author = {Bandura, A. J.},
+ year = {1977},
+ title = {Social Learning Theory},
+ address = {Englewood Cliffs, NJ},
+ publisher = {Prentice Hall}
+}
+
+@article{4.05-2,
+ author = {Bretschneider, J. G. and McCoy, N. L.},
+ year = {1968},
+ title = {Sexual Interest and Behavior in Healthy
+ 80- to 102-Year-Olds},
+ journal = {Archives of Sexual Behavior},
+ volume = {14},
+ pages = {343--350}
+}
+
+@article{4.08-1,
+ author = {Kernis, M. H. and Cornell, D. P. and Sun, C.-R.
+ and Berry, A. and Harlow, T.},
+ year = {1993},
+ title = {There's More to Self-Esteem than Whether it is High
+ or Low: {T}he Importance of Stability of Self-Esteem},
+ journal = {Journal of Personality and Social Psychology},
+ volume = {65},
+ pages = {1190--1204}
+}
+
+@book{4.08-2,
+ editor = {Robinson, D. N.},
+ year = {1992},
+ title = {Social Discourse and Moral Judgment},
+ address = {San Diego, CA},
+ publisher = {Academic Press}
+}
+
+@misc{4.08-3,
+ author = {Bulatao, E. {\bibliteral{(with Winford, C. A.)}}},
+ year = {\bibnodate},
+ type = {Unknown}
+}
+
+@article{4.09-1,
+ author = {Fowers, B. J. and Olson, D. H.},
+ year = {1993},
+ title = {{ENRICH} {M}arital {S}atisfaction {S}cale:
+ {A} Brief Research and Clinical Tool},
+ journal = {Journal of Family Psychology},
+ volume = {7},
+ pages = {176--185}
+}
+
+@article{4.10-1,
+ author = {Deutsch, F. M. and Lussier, J. B. and Servis, L. J.},
+ year = {1993},
+ title = {Husbands At Home: {P}redictors of Paternal Participation
+ in Childcare and Housework},
+ journal = {Journal of Personality and Social Psychology},
+ volume = {65},
+ pages = {1154--1166}
+}
+
+@incollection{4.10-2,
+ author = {O'Neil, J. M. and Egan, J.},
+ year = {1992},
+ title = {Men's and Women's Gender Role Journeys:
+ {M}etaphor for Healing, Transition, and Transformation},
+ editor = {Wainrib, B. R.},
+ booktitle = {Gender Issues Across the Life Cycle},
+ pages = {107--123},
+ address = {New York},
+ publisher = {Springer}
+}
+
+@article{4.11-1,
+ author = {Buss, D. M. and Schmitt, D. P.},
+ year = {1993},
+ title = {Sexual Strategies Theory: {A}n Evolutionary Perspective
+ on Human Mating},
+ journal = {Psychological Review},
+ volume = {100},
+ pages = {204--232}
+}
+
+@magazine{4.11-2,
+ author = {Henry, III, W. A.},
+ year = {1990},
+ month = apr,
+ day = {9},
+ title = {Beyond the Melting Pot},
+ journal = {Time},
+ volume = {135},
+ pages = {28--31}
+}
+
+@book{4.12-1,
+ author = {Saxe, G. B.},
+ year = {1991},
+ title = {Cultural and Cognitive Development: {S}tudies in
+ Mathematical Understanding},
+ address = {Hillsdale, NJ},
+ publisher = {Erlbaum}
+}
+
+@incollection{4.13-1,
+ author = {Baker, F. M. and Lightfoot, O. B.},
+ year = {1993},
+ title = {Psychiatric Care of Ethnic Elders},
+ editor = {Gaw, A. C.},
+ booktitle = {Culture, Ethnicity, and Mental Illness},
+ pages = {517--552},
+ address = {Washington, DC},
+ publisher = {American Psychiatric Press}
+}
+
+@incollection{4.13-2,
+ author = {Merikle, Philip M.},
+ year = {2000},
+ title = {Subliminal Perception},
+ editor = {Kazdin, Alan E. and Blanchard, Edward B. and
+ Bootzin, Richard R. and Bower, Gordon and
+ Close Conoley, Jane and Deaux, Kay and Fox, Ronald E. and
+ Harmon, Lenore W. and Howell, William C. and
+ Marsella, Anthony J. and Price, Richard H. and
+ Roediger, III, Henry L. and Rosenthal, Robert and
+ Schmitt, Neal W. and Singer, Jerome L. and Squire, Larry R. and
+ Zahn-Waxler, Carolyn},
+ booktitle = {Encyclopedia of Psychology},
+ volume = {7},
+ pages = {497--499},
+ address = {New York},
+ publisher = {Oxford University Press}
+}
+
+@misc{4.15-1,
+ key = {{\APACcitebtitle{Electronic Reference Formats}}},
+ title = {Electronic Reference Formats Recommended by the
+ {A}merican {P}sychological {A}ssociation},
+ year = {2000},
+ month = oct,
+ day = {12},
+ howpublished = {Retrieved October 23, 2000, from
+ \url{http://www.apa.org/journals/webref.html}\bibnodot{.}}
+}
+
+@article{4.15-2,
+ author = {Eid, M. and Langeheine, R.},
+ year = {1999},
+ title = {The Measurement of Consistency and Occasion Specificity
+ with Latent Class Models: {A} New Model and its
+ Application to the Measurement of Affect},
+ journal = {Psychological Methods},
+ volume = {4},
+ pages = {100--116},
+ howpublished = {Retrieved November 19, 2000, from the PsycARTICLES database}
+}
+
+@string{comment = {
+%
+% The rest is from section 4.16. Section number is omitted,
+% but A-I are used instead. For the numbered examples, these
+% letters are also omitted in favor of ``ex''.
+%
+}}
+
+@article{A-1,
+ author = {Herman, L. M. and Kuczaj, III, S. A. and Holder, M. D.},
+ year = {1993},
+ title = {Responses to Anomalous Gestural Sequences by a
+ Language-Trained Dolphin: {E}vidence for Processing
+ of Semantic Relations and Syntactic Information},
+ journal = {Journal of Experimental Psychology: General},
+ volume = {122},
+ pages = {184--194}
+}
+
+@article{ex1,
+ author = {Mellers, B. A.},
+ year = {2000},
+ title = {Choice and the Relative Pleasure of Consequences},
+ journal = {Psychological Bulletin},
+ volume = {126},
+ pages = {910--924}
+}
+
+@article{ex2,
+ author = {Klimoski, R. and Palmer, S.},
+ year = {1993},
+ title = {The {ADA} and the Hiring Process in Organizations},
+ journal = {Consulting Psychology Journal: Practice and Research},
+ volume = {45},
+ number = {2},
+ pages = {10--36}
+}
+
+@article{ex3,
+ author = {Saywitz, K. J. and Mannarino, A. P. and Berliner, L.
+ and Cohen, J. A.},
+ year = {2000},
+ title = {Treatment for Sexually Abused Children and Adolescents},
+ journal = {American Psychologist},
+ volume = {55},
+ pages = {1040--1049}
+}
+
+@article{ex4,
+ author = {Wolchik, S. A. and West, S. G. and Sandler, I. N. and
+ Tein, J. and Coatsworth, D. and Lengua, L. and others},
+ year = {2000},
+ title = {An Experimental Evaluation of Theory-Based Mother and
+ Mother-Child Programs for Children of Divorce},
+ journal = {Journal of Consulting and Clinical Psychology},
+ volume = {68},
+ pages = {843--856}
+}
+
+@article{ex4-2,
+ author = {Swait, Joffre and Adamowicz, Wiktor and Hanemann, Michael
+ and Diederich, Adele and Krosnick, Jon and Layton, David
+ and Provencher, William and Schkade, David and Tourangeau, Roger},
+ year = {2002},
+ title = {Context Dependence and Aggregation
+ in Disaggregate Choice Analysis},
+ journal = {Marketing Letters},
+ volume = {13},
+ pages = {195--205}
+}
+
+@article{ex5,
+ author = {Zuckerman, M. and Kieffer, S. C.},
+ year = {\BIP},
+ title = {Race Differences in Face-ism: {D}oes Facial Prominence
+ Imply Dominance?},
+ journal = {Journal of Personality and Social Psychology}
+}
+
+@magazine{ex6,
+ author = {Kandel, E. R. and Squire, L. R.},
+ year = {2000},
+ month = nov,
+ day = {10},
+ title = {Neuroscience: {B}reaking Down Scientific Barriers to the
+ Study of Brain and Mind},
+ journal = {Science},
+ volume = {290},
+ pages = {1113--1120}
+}
+
+@article{ex7,
+ author = {Brown, L. S.},
+ year = {1993},
+ month = {Spring},
+ title = {Antidomination Training as a Central Component of
+ Diversity in Clinical Psychology Education},
+ journal = {The Clinical Psychologist},
+ volume = {46},
+ pages = {83--87}
+}
+
+@article{ex8,
+ year = {1993},
+ month = {August/September},
+ title = {The New Health-Care Lexicon},
+ journal = {Copy Editor},
+ volume = {4},
+ pages = {1--2}
+}
+
+@newspaper{ex9,
+ key = {{\APACciteatitle{New Drug}}},
+ year = {1993},
+ month = jul,
+ day = {15},
+ title = {New Drug Appears to Sharply Cut Risk of Death from
+ Heart Failure},
+ journal = {The Washington Post},
+ pages = {A12}
+}
+
+@newspaper{ex10,
+ author = {Schwartz, J.},
+ year = {1993},
+ month = sep,
+ day = {30},
+ title = {Obesity Affects Economic, Social Status},
+ journal = {The Washington Post},
+ pages = {A1, A4}
+}
+
+@newspaper{ex11,
+ author = {Berkowitz, A. D.},
+ year = {2000},
+ month = nov,
+ day = {24},
+ title = {How to Tackle the Problem of Student Drinking},
+ type = {Letter to the editor},
+ journal = {The Chronicle of Higher Education},
+ pages = {B20}
+}
+
+@article{ex12,
+ editor = {Barlow, D. H.},
+ year = {1991},
+ title = {Diagnoses, Dimensions, and \emph{DSM-IV}:
+ {T}he Science of Classification},
+ type = {Special issue},
+ journal = {Journal of Abnormal Psychology},
+ volume = {100},
+ number = {3}
+}
+
+@article{ex13,
+ author = {Harris, P. L. and Kavanaugh, R. D.},
+ year = {1993},
+ title = {Young Children's Understanding of Pretense},
+ journal = {Monographs of the Society for Research in Child Development},
+ volume = {58},
+ number = {1, Serial No.~231}
+}
+
+@article{ex14,
+ author = {Battig, W. F. and Montague, W. E.},
+ year = {1969},
+ title = {Category Norms for Verbal Items in 56 Categories:
+ {A} Replication and Extension of the {C}onnecticut
+ Category Norms},
+ journal = {Journal of Experimental Psychology Monographs},
+ volume = {80},
+ number = {3, Pt.~2}
+}
+
+@article{ex15,
+ author = {Ganster, D. C. and Schaubroeck, J. and Sime, W. E.
+ and Mayes, B. T.},
+ year = {1991},
+ title = {The Nomological Validity of the {T}ype~{A} Personality
+ Among Employed Adults},
+ type = {Monograph},
+ journal = {Journal of Applied Psychology},
+ volume = {76},
+ pages = {143--168}
+}
+
+@article{ex16,
+ author = {Woolf, N. J. and Young, S. L. and Fanselow, M. S. and
+ Butcher, L. L.},
+ year = {1991},
+ title = {{MAP}-2 Expression in Cholinoceptive Pyramidal Cells
+ of Rodent Cortex and Hippocampus is Altered by
+ {P}avlovian Conditioning},
+ type = {Abstract},
+ journal = {Society for Neuroscience Abstracts},
+ volume = {17},
+ pages = {480}
+}
+
+@article{ex17,
+ author = {Nakazato, K. and Shimonaka, Y. and Homma, A.},
+ year = {{\protect\bibreftext{1992}{1992/1993}}},
+ title = {Cognitive Functions of Centenarians: {T}he {T}okyo
+ {M}etropolitan {C}entenarian {S}tudy},
+ journal = {Japanese Journal of Developmental Psychology},
+ volume = {3},
+ pages = {9--16},
+ howpublished = {Abstract obtained from
+ {\APACcitebtitle{PsycSCAN: Neuropsychology}},
+ 1993, \emph{2}, Abstract No.~604}
+}
+
+@article{ex18,
+ author = {Regier, A. A. and Narrow, W. E. and Rae, D. S.},
+ year = {1990},
+ title = {The Epidemiology of Anxiety Disorders: {T}he Epidemiologic
+ Catchment Area ({ECA}) Experience},
+ journal = {Journal of Psychiatric Research},
+ volume = {24},
+ number = {Suppl.~2},
+ pages = {3--14}
+}
+
+@article{ex19,
+ author = {Fiske, S. T.},
+ year = {1993},
+ title = {Social Cognition and Social Perception},
+ journal = {Annual Review of Psychology},
+ volume = {44},
+ pages = {155--194}
+}
+
+@article{ex20,
+ author = {Ising, M.},
+ year = {2000},
+ title = {Intensit{\"{a}}tsabh{\"{a}}ngigkeit evozierter {P}otenzial im
+ {EEG}: {S}ind impulsive {P}ersonen {A}ugmenter oder
+ {R}educer?},
+ englishtitle = {Intensity Dependence in Event-Related {EEG} Potentials:
+ {A}re Impulsive Individuals Augmenters or Reducers?},
+ journal = {Zeitschrift f{\"{u}}r Differentielle und Diagnostische
+ Psychologie},
+ volume = {21},
+ pages = {208--217}
+}
+
+@article{ex21,
+ author = {Stutte, H.},
+ year = {1972},
+ title = {Transcultural Child Psychiatry},
+ journal = {Acta Paedopsychiatrica},
+ volume = {38},
+ number = {9},
+ pages = {229--231}
+}
+
+@article{ex22,
+ author = {Coltheart, M. and Curtis, B. and Atkins, P. and Haller, M.},
+ year = {1993},
+ title = {Models of Reading Aloud: {D}ual-Route and
+ Parallel-Distributed-Processing Approaches},
+ journal = {Psychological Review},
+ volume = {100},
+ pages = {589--608}
+}
+
+@book{B-1,
+ author = {Beck, C. A. J. and Sales, B. D.},
+ year = {2001},
+ title = {Family Mediation: {F}acts, Myths, and Future Prospects},
+ address = {Washington, DC},
+ publisher = {American Psychological Association}
+}
+
+@book{ex23,
+ author = {Mitchell, T. R. and Larson, Jr., J. R.},
+ year = {1987},
+ title = {People in Organizations: {A}n Introduction to
+ Organizational Behavior},
+ edition = {3rd},
+ address = {New York},
+ publisher = {McGraw-Hill}
+}
+
+@book{ex24,
+ author = {{\bibcorporate{Australian Bureau of Statistics}}},
+ year = {1991},
+ title = {Estimated Resident Population by Age and Sex in
+ Statistical Local Areas, {N}ew {S}outh {W}ales, {J}une 1990},
+ number = {3209.1},
+ address = {Canberra, Australian Capital Territory},
+ publisher = {Author}
+}
+
+@book{ex25,
+ editor = {Gibbs, J. T. and Huang, L. N.},
+ year = {1991},
+ title = {Children of Color: {P}sychological Interventions with
+ Minority Youth},
+ address = {San Francisco},
+ publisher = {Jossey-Bass}
+}
+
+@book{ex25-t1,
+ author = {Vygotsky, L. S.},
+ year = {1978},
+ title = {Mind in Society: {T}he Development of Higher Mental
+ Processes},
+ editor = {Rice, Edgar},
+ translator = {Rice, Edgar},
+ address = {Cambridge, MA},
+ publisher = {Harvard University Press},
+ originalyear = {1930, 1933, 1935}
+}
+
+@book{ex25-t2,
+ author = {J{\"{o}}reskog, Karl G. and S{\"{o}}rbom, Dag},
+ year = {1979},
+ title = {Advances in Factor Analysis
+ and Structural Equation Models},
+ editor = {Magidson, Jay},
+ address = {Cambridge, MA},
+ publisher = {Abt Books}
+}
+
+@book{ex26,
+ year = {1993},
+ title = {Merriam-{W}ebster's Collegiate Dictionary},
+ edition = {10th},
+ address = {Springfield, MA},
+ publisher = {Merriam-Webster}
+}
+
+@book{ex27,
+ author = {Rosenthal, R.},
+ year = {1987},
+ title = {Meta-Analytic Procedures for Social Research},
+ edition = {Rev.{}},
+ address = {Newbury Park, CA},
+ publisher = {Sage}
+}
+
+@book{ex28,
+ editor = {Koch, S.},
+ year = {1959--1963},
+ title = {Psychology: {A} Study of Science},
+ volume = {1--6},
+ address = {New York},
+ publisher = {McGraw-Hill}
+}
+
+@book{ex29,
+ firstkey = {{American Psychiatric Association}},
+ key = {{\APACcitebtitle{DSM-IV}}},
+ author = {{\bibcorporate{American Psychiatric Association}}},
+ year = {1994},
+ title = {Diagnostic and Statistical Manual of Mental Disorders},
+ edition = {4th},
+ address = {Washington, DC},
+ publisher = {Author}
+}
+
+@misc{ex29-2,
+ author = {Americana},
+ year = {\bibnodate},
+ type = {Unknown},
+ note = {Test for sorting of American Psychiatric Association
+ in \BibTeX{} and \MakeIndex{}.}
+}
+
+@misc{ex29-3,
+ author = {Americans},
+ year = {\bibnodate},
+ type = {Unknown},
+ note = {Test for sorting of American Psychiatric Association
+ in \BibTeX{} and \MakeIndex{}.}
+}
+
+@book{ex30,
+ editor = {Sadie, S.},
+ year = {1980},
+ title = {The New {G}rove Dictionary of Music and Musicians},
+ edition = {6th},
+ volume = {1--20},
+ address = {London},
+ publisher = {Macmillan}
+}
+
+@book{ex30-2,
+ editor = {Kazdin, Alan E. and Blanchard, Edward B. and
+ Bootzin, Richard R. and Bower, Gordon and
+ Close Conoley, Jane and Deaux, Kay and Fox, Ronald E. and
+ Harmon, Lenore W. and Howell, William C. and
+ Marsella, Anthony J. and Price, Richard H. and
+ Roediger, III, Henry L. and Rosenthal, Robert and
+ Schmitt, Neal W. and Singer, Jerome L. and Squire, Larry R. and
+ Zahn-Waxler, Carolyn},
+ year = {2000},
+ title = {Encyclopedia of Psychology},
+ address = {New York},
+ publisher = {Oxford University Press}
+}
+
+@book{ex31,
+ author = {Piaget, J. and Inhelder, B.},
+ year = {1951},
+ title = {La Gen{\`{e}}se de l'Id{\'{e}}e de Hasard chez l'Enfant},
+ englishtitle = {The Origin of the Idea of Chance in the Child},
+ address = {Paris},
+ publisher = {Presses Universitaires de France}
+}
+
+@book{ex32,
+ author = {Laplace, P.-S.},
+ year = {1951},
+ title = {A Philosophical Essay on Probabilities},
+ translator = {Truscott, F. W. and Emory, F. L.},
+ address = {New York},
+ publisher = {Dover},
+ originalyear = {1814}
+}
+
+@book{ex33,
+ author = {{\bibcorporate{Research and Training Center on
+ Independent Living}}},
+ firstkey = {{Research and Training Center on Independent Living [RTCIL]}},
+ key = {RTCIL},
+ year = {1993},
+ title = {Guidelines for Reporting and Writing About People
+ with Disabilities},
+ edition = {4th},
+ type = {Brochure},
+ address = {Lawrence, KS},
+ publisher = {Author}
+}
+
+@incollection{B-2,
+ author = {Massaro, D.},
+ year = {1992},
+ title = {Broadening the Domain of the Fuzzy Logical Model of Perception},
+ editor = {Pick, Jr., H. L. and van den Broek, P. and Knill, D. C.},
+ booktitle = {Cognition: {C}onceptual and Methodological Issues},
+ pages = {51--84},
+ address = {Washington, DC},
+ publisher = {American Psychological Association}
+}
+
+@incollection{ex34,
+ author = {Bjork, R. A.},
+ year = {1989},
+ title = {Retrieval Inhibition as an Adaptive Mechanism in Human Memory},
+ editor = {Roediger, III, H. L. and Craik, F. I. M.},
+ booktitle = {Varieties of Memory \& Consciousness},
+ pages = {309--330},
+ address = {Hillsdale, NJ},
+ publisher = {Erlbaum}
+}
+
+@incollection{ex35,
+ author = {Auerbach, J. S.},
+ year = {\BIP},
+ title = {The Origins of Narcissism and Narcissistic Personality
+ Disorder: {A} Theoretical and Empirical Reformulation},
+ editor = {Masling, J. M. and Bornstein, R. F.},
+ booktitle = {Empirical Studies of Psychoanalytic Theories:
+ {V}ol.~4. {P}sychoanalytic Perspectives on Psychopathology},
+ address = {Washington, DC},
+ publisher = {American Psychological Association}
+}
+
+@incollection{ex36,
+ author = {Maccoby, E. E. and Martin, J.},
+ year = {1983},
+ title = {Socialization in the Context of the Family:
+ {P}arent-Child Interaction},
+ editor = {Mussen (Series Ed.), P. H. and
+ Hetherington{\bibeditortype{Vol.\ Ed.}}, E. M.},
+ booktitle = {Handbook of Child Psychology:
+ {V}ol.~4. {S}ocialization, Personality, and Social Development},
+ edition = {4th},
+ pages = {1--101},
+ address = {New York},
+ publisher = {Wiley}
+}
+
+@incollection{ex37,
+ author = {Davydov, V. V.},
+ year = {1972},
+ title = {De Introductie van het Begrip Grootheid in de Eerste
+ Klas van de Basisschool: {E}en Experimenteel Onderzoek},
+ englishtitle = {The Introduction of the Concept of Quantity in the
+ First Grade of the Primary School: {A}n Experimental Study},
+ editor = {Van Parreren, C. F. and Carpay, J. A. M.},
+ booktitle = {Sovjetpsychologen aan het Woord},
+ pages = {227--289},
+ address = {Groningen, The Netherlands},
+ publisher = {Wolters-Noordhoff}
+}
+
+@incollection{ex38,
+ author = {Bergmann, P. G.},
+ year = {1993},
+ title = {Relativity},
+ booktitle = {The New Encyclopaedia {B}ritannica},
+ volume = {26},
+ pages = {501--508},
+ address = {Chicago},
+ publisher = {Encyclopaedia Britannica}
+}
+
+@incollection{ex39,
+ author = {Freud, Sigmund},
+ year = {1961},
+ title = {The Ego and the Id},
+ editor = {Strachey, J.},
+ translator = {Strachey, J.},
+ booktitle = {The Standard Edition of the Complete Psychological
+ Works of {S}igmund {F}reud},
+ volume = {19},
+ pages = {3--66},
+ address = {London},
+ publisher = {Hogarth Press},
+ originalyear = {1923}
+}
+
+@incollection{ex40,
+ author = {Piaget, J.},
+ year = {1988},
+ title = {Extracts from {P}iaget's Theory},
+ translator = {Gellerier, G. and Langer, J.},
+ editor = {Richardson, K. and Sheldon, S.},
+ booktitle = {Cognitive Development to Adolescence: {A} Reader},
+ pages = {3--18},
+ address = {Hillsdale, NJ},
+ publisher = {Erlbaum},
+ originalbooktitle = {Manual of Child Psychology},
+ originalpages = {703--732},
+ originaleditor = {Mussen, P. H.},
+ originalyear = {1970},
+ originaladdress = {New York},
+ originalpublisher = {Wiley}
+}
+
+@techreport{C-1,
+ author = {Mazzeo, J. and Druesne, B. and Raffeld, P. C.
+ and Checketts, K. T. and Muhlstein, A.},
+ year = {1991},
+ title = {Comparability of Computer and Paper-and-Pencil Scores
+ for Two {CLEP} General Examinations},
+ type = {College Board Rep.},
+ number = {91-5},
+ address = {Princeton, NJ},
+ institution = {Educational Testing Service}
+}
+
+@techreport{ex41,
+ author = {{\bibcorporate{National Institute of Mental Health}}},
+ firstkey = {{National Institute of Mental Health [NIMH]}},
+ key = {{NIMH}},
+ year = {1990},
+ title = {Clinical Training in Serious Mental Illness},
+ type = {{DHHS} Publication},
+ number = {ADM 90-1679},
+ address = {Washington, DC},
+ institution = {U.S. Government Printing Office}
+}
+
+@techreport{ex42,
+ author = {Osgood, D. W. and Wilson, J. K.},
+ year = {1990},
+ title = {Covariation of Adolescent Health Problems},
+ type = {\bibnotype},
+ address = {Lincoln},
+ institution = {University of Nebraska},
+ note = {NTIS No.{} PB~91-154~377/AS}
+}
+
+@techreport{ex43,
+ author = {Mead, J. V.},
+ year = {1992},
+ title = {Looking at Old Photographs: {I}nvestigating the Teacher
+ Tales that Novice Teachers Bring with Them},
+ type = {Report},
+ number = {NCRTL-RR-92-4},
+ address = {East Lansing, MI},
+ institution = {National Center for Research on Teacher Learning},
+ note = {ERIC Document Reproduction Service No.{} ED346082}
+}
+
+@techreport{ex44,
+ author = {{\bibcorporate{U.S. Department of Health and
+ Human Services}}},
+ firstkey = {{U.S. Department of Health and Human Services [DHHS]}},
+ key = {{DHHS}},
+ year = {1992},
+ title = {Pressure Ulcers in Adults: {P}rediction and Prevention},
+ type = {AHCPR Publication},
+ number = {92-0047},
+ address = {Rockville, MD},
+ institution = {Author}
+}
+
+@intechreport{ex45,
+ author = {Matthews, K. A.},
+ year = {1985},
+ title = {Assessment of {T}ype~{A} Behavior, Anger, and Hostility
+ in Epidemiologic Studies of Cardiovascular Disease},
+ editor = {Ostfield, A. M. and Eaker, E. D.},
+ booktitle = {Measuring Psychological Variables in Epidemiologic Studies
+ of Cardiovascular Disease},
+ type = {NIH Publication},
+ number = {85-2270},
+ pages = {153--183},
+ address = {Washington, DC},
+ institution = {U.S. Department of Health and Human Services}
+}
+
+@techreport{ex46,
+ author = {Broadhurst, R. G. and Maller, R. A.},
+ year = {1991},
+ title = {Sex Offending and Recidivism},
+ number = {3},
+ address = {Nedlands},
+ institution = {University of Western Australia, Crime Research Centre}
+}
+
+@techreport{ex47,
+ editor = {Shuker, R. and Openshaw, R. and Soler, J.},
+ year = {1990},
+ title = {Youth, Media, and Moral Panic in {N}ew {Z}ealand:
+ {F}rom Hooligans to Video Nasties},
+ type = {Delta Research Monograph},
+ number = {11},
+ address = {Palmerston North, New Zealand},
+ institution = {Massey University, Department of Education}
+}
+
+@techreport{ex48,
+ author = {{\bibcorporate{Employee Benefit Research Institute}}},
+ firstkey = {{Employee Benefit Research Institute [EBRI]}},
+ key = {{EBRI}},
+ year = {1992},
+ month = feb,
+ title = {Sources of Health Insurance and Characteristics of the
+ Uninsured},
+ type = {Issue Brief},
+ number = {123},
+ address = {Washington, DC},
+ institution = {Author}
+}
+
+@incollection{ex49,
+ author = {Deci, E. L. and Ryan, R. M.},
+ year = {1991},
+ title = {A Motivational Approach to Self:
+ {I}ntegration in Personality},
+ editor = {Dienstbier, R.},
+ booktitle = {Nebraska {S}ymposium on {M}otivation: {V}ol.~38.
+ {P}erspectives on Motivation},
+ pages = {237--288},
+ address = {Lincoln},
+ publisher = {University of Nebraska Press}
+}
+
+@article{ex50,
+ author = {Cynx, J. and Williams, H. and Nottebohm, F.},
+ year = {1992},
+ title = {Hemispheric Differences in Avian Song Discrimination},
+ journal = {Proceedings of the National Academy of Sciences, USA},
+ volume = {89},
+ pages = {1372--1375}
+}
+
+@lecture{ex51,
+ author = {Lichstein, K. L. and Johnson, R. S. and Womack, T. D.
+ and Dean, J. E. and Childers, C. K.},
+ year = {1990},
+ month = jun,
+ title = {Relaxation Therapy for Polypharmacy Use in Elderly
+ Insomniacs and Noninsomniacs},
+ chair = {Rosenthal, T. L.},
+ symposium = {Reducing Medication in Geriatric Populations},
+ howpublished = {Symposium conducted at the meeting of the First
+ International Congress of Behavioral Medicine,
+ Uppsala, Sweden}
+}
+
+@lecture{ex52,
+ author = {Lanktree, C. and Briere, J.},
+ year = {1991},
+ month = jan,
+ title = {Early Data on the {T}rauma {S}ymptom {C}hecklist
+ for {C}hildren ({TSC-C})},
+ howpublished = {Paper presented at the meeting of the American
+ Professional Society on the Abuse of Children,
+ San Diego, CA}
+}
+
+@lecture{ex53,
+ author = {Ruby, J. and Fulton, C.},
+ year = {1993},
+ month = jun,
+ title = {Beyond Redlining: {E}diting Software that Works},
+ howpublished = {Poster session presented at the annual meeting of the
+ Society for Scholarly Publishing, Washington, DC}
+}
+
+@phdthesis{ex54,
+ author = {Bower, D. L.},
+ year = {1993},
+ title = {Employee Assistant Programs Supervisory Referrals:
+ {C}haracteristics of Referring and Nonreferring
+ Supervisors},
+ journal = {Dissertation Abstracts International},
+ volume = {54},
+ number = {01},
+ pages = {534B},
+ note = {UMI No.{} 9315947}
+}
+
+@phdthesis{ex55,
+ author = {Ross, D. F.},
+ year = {1990},
+ title = {Unconscious Transference and Mistaken Identity: {W}hen
+ a Witness Misidentifies a Familiar but Innocent Person
+ from a Lineup},
+ school = {Cornell University},
+ originalyear = {1990},
+ journal = {Dissertation Abstracts International},
+ volume = {51},
+ pages = {417}
+}
+
+@phdthesis{ex56,
+ author = {Wilfley, D. E.},
+ year = {1989},
+ title = {Interpersonal Analyses of Bulimia: {N}ormalweight
+ and Obese},
+ school = {University of Missouri},
+ address = {Columbia}
+}
+
+@mastersthesis{ex57,
+ author = {Almeida, D. M.},
+ year = {1990},
+ title = {Fathers' Participation in Family Work: {C}onsequences
+ for Fathers' Stress and Father-Child Relations},
+ school = {University of Victoria},
+ address = {Victoria, British Columbia, Canada}
+}
+
+@unpublished{ex58,
+ author = {Stinson, C. and Milbrath, C. and Reidbord, S. and Bucci, W.},
+ year = {1992},
+ title = {Thematic Segmentation of Psychotherapy Transcripts for
+ Convergent Analyses},
+ howpublished = {Unpublished manuscript}
+}
+
+@unpublished{ex59,
+ author = {D{\'{e}}pret, E. F. and Fiske, S. T.},
+ year = {1993},
+ title = {Perceiving the Powerful: {I}ntriguing Individuals Versus
+ Threatening Groups},
+ howpublished = {Unpublished manuscript},
+ organization = {University of Massachusetts at Amherst}
+}
+
+@unpublished{ex60,
+ author = {McIntosh, D. N.},
+ year = {1993},
+ title = {Religion as Schema, with Implications for the Relation
+ Between Religion and Coping},
+ howpublished = {Manuscript submitted for publication}
+}
+
+@unpublished{ex61,
+ author = {Bordi, F. and LeDoux, J. E.},
+ year = {1993},
+ type = {Auditory response latencies in rat auditory cortex},
+ howpublished = {Unpublished raw data}
+}
+
+@misc{ex62,
+ editor = {Klombers, N.},
+ year = {1993},
+ month = {Spring},
+ title = {{ADAA} {R}eporter},
+ note = {Available from the Anxiety Disorders Association of
+ America, 6000 Executive Boulevard, Suite 513,
+ Rockville, MD 20852}
+}
+
+@article{G-1,
+ author = {Mroczek, D. K.},
+ year = {2000},
+ title = {The Emerging Study of Midlife},
+ type = {Review of the book {\APACcitebtitle{Life in the middle:
+ Psychological and social development in middle age}}},
+ journal = {Contemporary Psychology: APA Review of Books},
+ volume = {45},
+ pages = {482--485}
+}
+
+@article{ex63,
+ author = {Schatz, B. R.},
+ year = {2000},
+ title = {Learning by Text or Context?},
+ type = {Review of the book
+ {\APACcitebtitle{The social life of information}}},
+ journal = {Science},
+ volume = {290},
+ pages = {1304}
+}
+
+@article{ex64,
+ author = {Kraus, S. J.},
+ year = {1992},
+ title = {Visions of Psychology: {A} Videotext of Classic Studies},
+ type = {Review of the motion picture
+ {\APACcitebtitle{Discovering Psychology}}},
+ journal = {Contemporary Psychology},
+ volume = {37},
+ pages = {1146--1147}
+}
+
+@misc{ex65-1,
+ author = {Scorsese, M. {\bibliteral{(Producer)}\protect\bibskipbracenodot}
+ and Lonergan, K. {\bibliteral{(Writer/Director)}}},
+ year = {2000},
+ title = {You Can Count On Me},
+ type = {Motion picture},
+ address = {United States},
+ publisher = {Paramount Pictures}
+}
+
+@misc{ex65-2,
+ author = {Harrison, J. {\bibliteral{(Producer)}\protect\bibskipbracenodot}
+ and Schmiechen, R. {\bibliteral{(Director)}}},
+ year = {1992},
+ title = {Changing Our Minds: {T}he Story of {E}velyn {H}ooker},
+ type = {Motion picture},
+ note = {Available from Changing Our Minds, Inc., 170 West End
+ Avenue, Suite 25R, New York, NY 10023}
+}
+
+@misc{ex65-3,
+ author = {{\bibcorporate{American Psychological Association (Producer)}}},
+ firstkey = {{American Psychological Association [APA]}},
+ key = {{APA}},
+ year = {2000},
+ title = {Responding Therapeutically to Patient Expressions of
+ Sexual Attraction: {A} Stimulus Training Tape},
+ type = {Motion picture},
+ note = {Available from the American Psychological Association,
+ 750 First Street, NE, Washington, DC 20002-4242}
+}
+
+@misc{ex66,
+ author = {Crystal, L. {\bibliteral{(Executive Producer)}}},
+ year = {1993},
+ month = oct,
+ day = {11},
+ title = {The {M}ac{N}eil/{L}ehrer News Hour},
+ type = {Television broadcast},
+ address = {New York and Washington, DC},
+ publisher = {Public Broadcasting Service}
+}
+
+@misc{ex67,
+ editor = {Miller, {\bibliteral{R\protect\bibeditortype{Producer}}}},
+ year = {1989},
+ title = {The Mind},
+ type = {Television series},
+ address = {New York},
+ publisher = {WNET}
+}
+
+@incollection{ex68,
+ author = {Hall, B. {\bibliteral{(Writer)}\protect\bibskipbracenodot}
+ and Bender, J. {\bibliteral{(Director)}}},
+ year = {1991},
+ title = {The Rules of the Game},
+ type = {Television series episode},
+ editor = {Sander{\bibeditortype{Producer}}, J.},
+ booktitle = {I'll Fly Away},
+ address = {New York},
+ publisher = {New York Broadcasting Company}
+}
+
+@incollection{ex69-1,
+ key = {{\protect\bibsong{Shocked}{1992}{Over the
+ Waterfall}{track~5}}},
+ author = {Shocked, Michelle},
+ year = {1992},
+ title = {Over the Waterfall{\bibInstring{\BOn}}},
+ booktitle = {Arkansas Traveler {\upshape[\uppercase{CD}]}},
+ address = {New York},
+ publisher = {PolyGram Music}
+}
+
+@incollection{ex69-2,
+ key = {{\protect\bibsong{Goodenough}{1982}{Tails
+ and Trotters}{track~5}}},
+ author = {Goodenough, J. B.},
+ year = {1982},
+ title = {Tails and Trotters{\bibInstring{\BOn}}},
+ type = {Recorded by G. Bok, A. Mayo, \& E. Trickett},
+ booktitle = {And So Will We Yet {\upshape[\uppercase{CD}]}},
+ address = {Sharon, CT},
+ publisher = {Folk-Legacy Records},
+ note = {1990}
+}
+
+@misc{ex70,
+ author = {Costa, Jr. {\bibliteral{(Speaker)}}, P. T.},
+ year = {1988},
+ title = {Personality, Continuity, and Changes of Adult Life},
+ type = {Cassette Recording},
+ number = {207-433-88A-B},
+ address = {Washington, DC},
+ publisher = {American Psychological Association}
+}
+
+@article{ex71-1,
+ author = {VandenBos, G. and Knapp, S. and Doe, J.},
+ year = {2001},
+ title = {Role of Reference Elements in the Selection of Resources
+ by Psychology Undergraduates},
+ type = {Electronic version},
+ journal = {Journal of Bibliographic Research},
+ volume = {5},
+ pages = {117--123}
+}
+
+@article{ex71-2,
+ author = {VandenBos, G. and Knapp, S. and Doe, J.},
+ year = {2001},
+ title = {Role of Reference Elements in the Selection of Resources
+ by Psychology Undergraduates},
+ journal = {Journal of Bibliographic Research},
+ volume = {5},
+ pages = {117--123},
+ howpublished = {Retrieved October 13, 2001, from
+ \url{http://jbr.org/articles.html}\bibnodot{.}}
+}
+
+@article{ex72,
+ author = {Fredrickson, B. L.},
+ year = {2000},
+ month = mar,
+ day = {7},
+ title = {Cultivating Positive Emotions to Optimize Health
+ and Well-Being},
+ journal = {Prevention \& Treatment},
+ volume = {3},
+ pages = {Article 0001a},
+ howpublished = {Retrieved November 20, 2000, from
+ \url{http://journals.apa.org/prevention/volume3/
+ pre0030001a.html}\bibnodot{.}}
+}
+
+@article{ex73,
+ author = {Crow, T. J.},
+ year = {2000},
+ title = {Did \emph{Homo} {\emph{Sapiens}} Speciate on the
+ {\emph{Y}} Chromosome?},
+ journal = {Psycoloquy},
+ volume = {11},
+ howpublished = {Retrieved March 25, 2001, from
+ \url{ftp://ftp.princeton.edu/harnad/Psycoloquy/2000.volume.11/
+ psyc.00.11.001.language-sex-chromosomes.1.crow}\bibnodot{.}}
+}
+
+@article{ex74,
+ author = {Glueckauf, R. L. and Whitton, J. and Baxter, J. and Kain, J.
+ and Vogelgesang, S. and Hudson, M. and others},
+ year = {1998},
+ month = jul,
+ title = {Videocounseling for Families of Rural Teens with
+ Epilepsy---{P}roject Update},
+ journal = {Telehealth News},
+ volume = {2},
+ number = {2},
+ howpublished = {Retrieved June 6, 2000, from
+ \url{http://www.telehealth.net/subscribe/newslettr_4a.html#1}\bibnodot{.}}
+}
+
+@misc{ex75,
+ author = {{\bibcorporate{Greater New Milford (Ct) Area Healthy
+ Community 2000,
+ Task Force on Teen and Adolescent Issues}}},
+ firstkey = {{Greater New Milford (Ct) Area Healthy Community 2000,
+ Task Force on Teen and Adolescent Issues [TFTAI]}},
+ key = {{TFTAI}},
+ year = {\bibnodate},
+ title = {Who Has Time for a Family Meal? {Y}ou Do!},
+ howpublished = {Retrieved October 5, 2000, from
+ \url{http://www.familymealtime.org}\bibnodot{.}}
+}
+
+@incollection{ex76,
+ author = {{\bibcorporate{Benton Foundation}}},
+ year = {1998},
+ month = jul,
+ day = {7},
+ title = {Barriers to Closing the Gap},
+ booktitle = {Losing Ground Bit by Bit: {L}ow-Income Communities in the
+ Information Age},
+ chapter = {2},
+ howpublished = {Retrieved August 18, 2001, from
+ \url{http://www.benton.org/Library/Low-Income/
+ two.html}\bibnodot{.}}
+}
+
+@misc{ex77,
+ year = {\bibnodate},
+ title = {{GVU}'s 8th {WWW} User Survey},
+ howpublished = {Retrieved August 8, 2000, from
+ \url{http://www.cc.gatech.edu/gvu/user_surveys/
+ survey-1997-10/}\bibnodot{.}}
+}
+
+@misc{ex78,
+ author = {Chou, L. and McClintock, R. and Moretti, F. and Nix, D. H.},
+ year = {1993},
+ title = {Technology and Education: {N}ew Wine in New Bottles:
+ {C}hoosing Pasts and Imagining Educational Futures},
+ howpublished = {Retrieved August 24, 2000, from Columbia University,
+ Institute for Learning Technologies Web site:
+ \url{http://www.ilt.columbia.edu/publications/papers/
+ newwine1.html}\bibnodot{.}}
+}
+
+@misc{ex79,
+ author = {{\bibcorporate{University of California, San Francisco,
+ Institute for Health and Aging}}},
+ firstkey = {{University of California, San Francisco, Institute for
+ Health and Aging [UCSF-IHA]}},
+ key = {{UCSF-IHA}},
+ year = {1996},
+ month = nov,
+ title = {Chronic Care in {A}merica: {A} 21st Century Challenge},
+ howpublished = {Retrieved September 9, 2000, from the Robert Wood Johnson
+ Foundation Web site:
+ \url{http://www.rwjf.org/library/chrcare/}\bibnodot{.}}
+}
+
+@misc{ex80,
+ author = {{\bibcorporate{United States Sentencing Commission}}},
+ firstkey = {{United States Sentencing Commission [USSC]}},
+ key = {{USSC}},
+ year = {\bibnodate},
+ title = {{\APACSortNoop{Nineteen Ninety-Seven}}1997 Sourcebook of
+ Federal Sentencing Statistics},
+ howpublished = {Retrieved December 8, 1999, from
+ \url{http://www.ussc.gov/annrpt/1997/sbtoc97.htm}\bibnodot{.}}
+}
+
+@misc{ex81,
+ author = {{\bibcorporate{Canarie, Inc.}}},
+ year = {1997},
+ month = sep,
+ day = {27},
+ title = {Towards a {C}anadian Health {IWAY}: {V}ision, Opportunities
+ and Future Steps},
+ howpublished = {Retrieved November 8, 2000, from
+ \url{http://www.canarie.ca/press/publications/pdf/health/
+ healthvision.doc}\bibnodot{.}}
+}
+
+@techreport{ex82,
+ author = {Kruschke, J. K. and Bradley, A. L.},
+ year = {1995},
+ title = {Extensions to the Delta Rule of Associative Learning},
+ type = {Indiana University Cognitive Science Research Report},
+ number = {14},
+ howpublished = {Abstract retrieved October 21, 2000, from
+ \url{http://www.indiana.edu/~kruschke/
+ deltarule_abstract.html}\bibnodot{.}}
+}
+
+@lecture{ex83,
+ author = {Cutler, L. D. and Fr{\"{o}}lich, B. and Hanrahan, P.},
+ year = {1997},
+ month = jan,
+ day = {16},
+ title = {Two-Handed Direct Manipulation on the Responsive
+ Workbench},
+ howpublished = {Paper presented at the 1997 Symposium on Interactive 3D
+ Graphics. Abstract retrieved June 12, 2000, from
+ \url{http://www.graphics.stanford.edu/papers/
+ twohanded/}\bibnodot{.}}
+}
+
+@lecture{ex84,
+ author = {Tan, G. and Lewandowsky, S.},
+ year = {1996},
+ title = {A Comparison of Operator Trust in Humans Versus Machines},
+ howpublished = {Paper presented at the CybErg 96 virtual conference.
+ Retrieved May 16, 2000, from
+ \url{http://www.curtin.edu.au/conference/cyberg/centre/
+ outline.cgi/frame?dir=tan}\bibnodot{.}}
+}
+
+@misc{ex85,
+ author = {Chalmers, D.},
+ year = {2000},
+ month = nov,
+ day = {17},
+ title = {Seeing with Sound},
+ type = {\bibmessage},
+ number = {1},
+ howpublished = {Message posted to
+ \url{news://sci.psychology.consciousness}\bibnodot{.}}
+}
+
+@misc{ex86,
+ author = {Simons, D. J.},
+ year = {2000},
+ month = jul,
+ day = {14},
+ title = {News Resources for Visual Cognition},
+ type = {\bibmessage},
+ number = {31},
+ howpublished = {Message posted to
+ \url{http://groups.yahoo.com/group/visualcognition/message/
+ 31}\bibnodot{.}}
+}
+
+@misc{ex87,
+ author = {Hammond, T.},
+ year = {2000},
+ month = nov,
+ day = {20},
+ title = {{YAHC}: {H}andle {P}arameters, {DOI} {G}enres, etc.},
+ type = {\bibmessage},
+ howpublished = {Message posted to Ref-Links electronic mailing list,
+ archived at
+ \url{http://www.doi.org/mail-archive/ref-link/
+ msg00088.html}\bibnodot{.}}
+}
+
+@article{ex88,
+ author = {Borman, W. C. and Hanson, M. A. and Oppler, S. H. and
+ Pulakos, E. D. and White, L. A.},
+ year = {1993},
+ title = {Role of Early Supervisory Experience in Supervisor Performance},
+ journal = {Journal of Applied Psychology},
+ volume = {78},
+ pages = {443--449},
+ howpublished = {Retrieved October 23, 2000, from PsycARTICLES database}
+}
+
+@newspaper{ex89,
+ author = {Hilts, P. J.},
+ year = {1999},
+ month = feb,
+ day = {16},
+ title = {In Forecasting Their Emotions, Most People Flunk Out},
+ journal = {New York Times},
+ howpublished = {Retrieved November 21, 2000, from
+ \url{http://www.nytimes.com}\bibnodot{.}}
+}
+
+@article{ex90,
+ author = {Fournier, M. and {\lowercase{D}}e Ridder, D. and Bensing, J.},
+ year = {1999},
+ title = {Optimism and Adaptation to Multiple Sclerosis: {W}hat Does
+ Optimism Mean?},
+ journal = {Journal of Behavioral Medicine},
+ volume = {22},
+ pages = {303--326},
+ howpublished = {Abstract retrieved October 23, 2000, from PsycINFO database}
+}
+
+@techreport{ex91,
+ author = {{\bibcorporate{U.S. General Accounting Office}}},
+ year = {1997},
+ month = feb,
+ title = {Telemedicine: {F}ederal Strategy is Needed to Guide Investments},
+ type = {Publication},
+ number = {GAO/NSAID/HEHS-97-67},
+ howpublished = {Retrieved September 15, 2000, from General Accounting Office
+ Reports Online via GPO Access:
+ \url{http://www.access.gpo.gov/su_docs/aces/aces160.shtml?/
+ gao/index.html}\bibnodot{.}}
+}
+
+@misc{ex92,
+ author = {Miller, M. E.},
+ year = {1993},
+ title = {The {I}nteractive {T}ester ({V}ersion~4.0)},
+ type = {\bibcomputersoftware},
+ address = {Westminster, CA},
+ publisher = {Psytek Services}
+}
+
+@misc{ex93,
+ author = {Schwarzer, R.},
+ year = {1989},
+ title = {Statistics Software for Meta-Analysis},
+ type = {\bibcomputersoftwareandmanual},
+ howpublished = {Retrieved from
+ \url{http://www.yorku.ca/faculty/academic/schwarze/
+ meta_e.htm}\bibnodot{.}}
+}
+
+@misc{ex94,
+ key = {{\APACcitebtitle{National Health Interview Survey}}},
+ title = {National {H}ealth {I}nterview {S}urvey---{C}urrent Health
+ Topics: 1991---{L}ongitudinal Study of Aging
+ {\upshape(\uppercase{V}ersion~4)}},
+ type = {Data file},
+ year = {\bibnodate},
+ address = {Hyattsville, MD},
+ publisher = {National Center for Health Statistics}
+}
+
+@misc{ex95,
+ author = {{\bibcorporate{Department of Health and Human Services,
+ National Center for Health Statistics}}},
+ firstkey = {{Department of Health and Human Services,
+ National Center for Health Statistics [DHHS-NCHS]}},
+ key = {{DHHS-NCHS}},
+ year = {1991},
+ title = {National {H}ealth {P}rovider {I}nventory: {H}ome Health
+ Agencies and Hospices, 1991},
+ type = {Data file},
+ howpublished = {Available from National Technical Information Service
+ Web site, \url{http://www.ntis.gov}\bibnodot{.}}
+}
+
+
+@string{comment = {
+%
+% Additional references.
+%
+}}
+
+@book{APAManual3,
+ author = {{\bibcorporate{American Psychological Association}}},
+ firstkey = {{American Psychological Association [APA]}},
+ key = {{APA}},
+ year = {1984},
+ title = {Publication Manual of the {A}merican {P}sychological
+ {A}ssociation},
+ edition = {3rd},
+ address = {Washington, DC},
+ publisher = {Author},
+ note = {with revisions}
+}
+
+@book{APAManual,
+ author = {{\bibcorporate{American Psychological Association}}},
+ firstkey = {{American Psychological Association [APA]}},
+ key = {{APA}},
+ year = {2001},
+ title = {Publication Manual of the {A}merican {P}sychological
+ {A}ssociation},
+ edition = {5th},
+ address = {Washington, DC},
+ publisher = {Author}
+}
+
+@book{TeXbook,
+ author = {Knuth, Donald E.},
+ year = {1986},
+ title = {The {\APACSortNoop{TeX}}{\TeX}book},
+ address = {Reading, MA},
+ publisher = {Addison Wesley},
+ note = {Reprinted with corrections September, 1993. Therefore,
+ the year should officially be 1986/1993 I guess, but
+ the corrections are presumably very minor.}
+}
+
+@book{LaTeXbook,
+ author = {Lamport, Leslie},
+ year = {1994},
+ title = {{\APACSortNoop{LaTeX}}{\LaTeX}: {A} Document Preparation System.
+ {U}ser's Guide and Reference Manual},
+ edition = {2nd},
+ address = {Reading, MA},
+ publisher = {Addison-Wesley}
+}
+
+@book{LaTeXcomp,
+ author = {Goossens, Michel and Mittelbach, Frank and Samarin, Alexander},
+ year = {1994},
+ title = {The {\APACSortNoop{LaTeX}}{\LaTeX} Companion},
+ address = {Reading, MA},
+ publisher = {Addison-Wesley}
+}
+
+@book{meijer1998,
+ author = {Meijer, Erik},
+ year = {1998},
+ title = {Structural Equation Models for Nonnormal Data},
+ address = {Leiden, The Netherlands},
+ publisher = {DSWO Press}
+}
+
+@book{WaMe00,
+ author = {Wansbeek, Tom and Meijer, Erik},
+ year = {2000},
+ title = {Measurement Error and Latent Variables in Econometrics},
+ address = {Amsterdam},
+ publisher = {North-Holland}
+}
+
+@unpublished{APA-3rd-ed-ex53,
+ author = {Gottfredson, G. D.},
+ year = {1978},
+ title = {Why Don't Vocational Interests Predict Job
+ Satisfaction Better Than They Do?},
+ howpublished = {Unpublished manuscript},
+ organization = {Johns Hopkins University, Center for Social
+ Organization of Schools},
+ address = {Baltimore}
+}
+
diff --git a/Master/texmf-dist/bibtex/bib/asaetr/asaetr.bib b/Master/texmf-dist/bibtex/bib/asaetr/asaetr.bib
new file mode 100644
index 00000000000..1ed6d6ef1b9
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/asaetr/asaetr.bib
@@ -0,0 +1,16 @@
+@book { ll:86 ,
+author = "Leslie Lamport" ,
+title = "\LaTeX: A Document Preparation System" ,
+publisher = "Addison--Wesley Pub.\ Co." ,
+year = "1986" ,
+address = "Reading, MA" ,
+}
+
+@article { asaeins ,
+author = "{ASAE}" ,
+title = "Instructions to Authors of {ASAE} Technical Publications" ,
+journal = "Transactions of the {ASAE}" ,
+year = "1990" ,
+volume = "33" ,
+number = "4" ,
+}
diff --git a/Master/texmf-dist/bibtex/bib/ascelike/ascexmpl.bib b/Master/texmf-dist/bibtex/bib/ascelike/ascexmpl.bib
new file mode 100644
index 00000000000..a2000218ef1
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/ascelike/ascexmpl.bib
@@ -0,0 +1,276 @@
+% Bibtex bibliographic data base using the canonical set given in the
+% ASCE web document "Instructions For Preparation Of Electronic Manuscripts"
+% For use with the ascelike.bst bibliographic style file.
+%
+% A few 'fine points' about bibtex data bases:
+% 1) Entries that are NOT enclosed in quotations marks ("" "")
+% must contain data. For example, the NUMBER entry. If you don't
+% know the NUMBER, don't leave it blank. Just remove the entire
+% NUMBER line.
+% 2) Bibtex will suppress capital letters within the TITLE of an article
+% (except for the first word of the title). To force capitalization,
+% enclose the capitalized letter(s) in curly braces, such as {ASCE}
+% of {SI}.
+% 3) Although unusual, if the reference has no author, you will need to
+% be somewhat creative to produce ASCE-like output. This usually occurs
+% when the "non-author" is an organization instead of a person, but
+% it also applies to newspaper articles. Try the following:
+% a) if the non-author is a a single word or abreviation ("ASTM" or
+% "Newsweek"), try formatting as a book, incollection, or article,
+% placing the non-author in the AUTHOR field.
+% b) if the non-author is multiple word (Federal Highway
+% Administration), you will need to be creative, since bibtex
+% will confuse the non-author as a person with first, middle, and
+% last names (for example, Federal, H. A.). Try using the MANUAL
+% format as shown in FHWA:1991a, FR:1968a, and ICBO:1988a
+%
+%
+@INCOLLECTION{ASTM:1991a,
+ AUTHOR = "ASTM",
+ TITLE = "Standard practice for the use of the international system of units ({SI}) (the modernized metric system)",
+ EDITOR = "",
+ BOOKTITLE = "E 380-91a",
+ PUBLISHER = "",
+ ADDRESS = "Philadelphia, Pa.",
+ MONTH = "",
+ YEAR = 1991,
+ EDITION = "",
+ PAGES = "",
+ ORGANIZATION = "",
+ NOTE = "",
+ }
+%
+@TECHREPORT{Duan:1990a,
+ AUTHOR = "Duan, L. and Loh, J. T. and Chen, W. F.",
+ TITLE = "M-{P}-f-based analysis of dented tubular members",
+ INSTITUTION = "School of Civ. Engrg., Purdue Univ.",
+ TYPE = "Struct. Engrg. Rep. No.",
+ NUMBER = "CE-STR-90-27",
+ ADDRESS = "West Lafayette, Ind.",
+ MONTH = "",
+ YEAR = 1990,
+ NOTE = "",
+}
+%
+@BOOK{Duvant:1972a,
+ AUTHOR = "Duvant, G. and Lions, J. L.",
+ EDITOR = "",
+ TITLE = "Les in{\'{e}}quations en m{\'{e}}chanique et en physique",
+ PUBLISHER = "Dunod",
+ ADDRESS = "Paris, France",
+ MONTH = "",
+ YEAR = 1972,
+ EDITION = "",
+ NOTE = "(in French)",
+ }
+%
+@PHDTHESIS{Chang:1987a,
+ AUTHOR = "Chang, T. C.",
+ TITLE = "Network resource allocation using an expert system
+ with fuzzy logic reasoning",
+ SCHOOL = "University of California at Berkeley, Calif.",
+ ADDRESS = "",
+ YEAR = 1987,
+ TYPE = "PhD thesis",
+ }
+%
+@INPROCEEDINGS{Eshenaur:1991a,
+ AUTHOR = "Eshenaur, S. R. and Kulicki, J. M. and Mertz, D. R.",
+ TITLE = "Retrofitting distortion-induced fatigue cracking of
+ non-composite steel girder-floorbeam-stringer bridges",
+ BOOKTITLE = "Proc., 8th Annual Int. Bridge Conf.",
+ EDITOR = "",
+ PUBLISHER = "",
+ MONTH = "",
+ YEAR = 1991,
+ ORGANIZATION = "Engineers' Soc. of Western Pennsylvania",
+ ADDRESS = "Pittsburgh, Pa.",
+ PAGES = "380--388",
+ NOTE = "",
+ }
+%
+@MANUAL{FHWA:1991a,
+ AUTHOR = "",
+ KEY = "Federal",
+ TITLE = "Evaluating scour at bridges",
+ ORGANIZATION = "Federal Highway Administration (FHWA)",
+ PUBLISHER = "Rep., Hydr. Engrg. Circular No. 18: FHWA-IP-90-017",
+ ADDRESS = "Washington, D.C.",
+ MONTH = "",
+ YEAR = 1991,
+ NOTE = "",
+}
+%
+@MANUAL{FR:1968a,
+ AUTHOR = "",
+ KEY = "Federal",
+ TITLE = "Federal Register",
+ HOWPUBLISHED = "",
+ MONTH = "",
+ YEAR = 1988,
+ NOTE = "33(No. 146; July 27), 10756",
+ }
+%
+@ARTICLE{Frater:1992a,
+ AUTHOR = "Frater, G. S. and Packer, J. A.",
+ TITLE = "Weldment design for {RHS} truss connections. {I}: Applications",
+ JOURNAL = "J. Struct. Engrg.",
+ ORGANIZATION = "ASCE",
+ MONTH = "",
+ YEAR = 1992,
+ VOLUME = 118,
+ NUMBER = 10,
+ PAGES = "2784--2803",
+ NOTE = "",
+ }
+%
+@ARTICLE{Frater:1992b,
+ AUTHOR = "Frater, G. S. and Packer, J. A.",
+ TITLE = "Weldment design for {RHS} truss connections. {II}: Experimentation",
+ JOURNAL = "J. Struct. Engrg.",
+ ORGANIZATION = "ASCE",
+ MONTH = "",
+ YEAR = 1992,
+ VOLUME = 118,
+ NUMBER = 10,
+ PAGES = "2804--2820",
+ NOTE = "",
+ }
+%
+@BOOK{Goossens:1994a,
+ AUTHOR = "Goossens, M. and Mittlebach, F. and Samarin, A.",
+ TITLE = "The \LaTeX\ Companion",
+ PUBLISHER = "Addison--Wesley Pub. Co.",
+ ADDRESS = "Reading, Mass.",
+ YEAR = 1994,
+ }
+%
+@MANUAL{ICBO:1988a,
+ AUTHOR = "",
+ ORGANIZATION = "International Conference of Building Officials",
+ TITLE = "Uniform building code",
+ KEY = "International",
+ PUBLISHER = "",
+ ADDRESS = "Whittier, Calif.",
+ MONTH = "",
+ YEAR = 1988,
+ EDITION = "",
+ NOTE = "",
+ }
+%
+@ARTICLE{Ireland:1954a,
+ AUTHOR = "Ireland, H. O.",
+ TITLE = "Stability analysis of {C}ongress {S}treet open cut
+ in {C}hicago",
+ JOURNAL = "G{\'{e}}otechnique",
+ ORGANIZATION = "London, England",
+ MONTH = "",
+ YEAR = 1954,
+ VOLUME = 4,
+ NUMBER = 4,
+ PAGES = "163--168",
+ NOTE = "",
+ }
+%
+@BOOK{Lamport:1994a,
+ AUTHOR = "Lamport, L.",
+ TITLE = "\LaTeX: A Document Prepartation System User's Guide
+ and Reference Manual",
+ PUBLISHER = "Addison--Wesley Pub. Co.",
+ ADDRESS = "Reading, Mass.",
+ YEAR = 1994,
+ }
+%
+@MANUAL{Lotus:1985a,
+ AUTHOR = "",
+ TITLE = "Lotus 1-2-3 reference manual; release 2.01",
+ PUBLISHER = "Lotus Development Corp.",
+ KEY = "Lotus",
+ ADDRESS = "Cambridge, Mass.",
+ EDITION = "",
+ MONTH = "",
+ YEAR = 1985,
+ NOTE = "",
+ }
+%
+@BOOK{Melan:1913a,
+ AUTHOR = "Melan, J.",
+ EDITOR = "",
+ TITLE = "Theory of arches and suspension bridges",
+ PUBLISHER = "Myron C. Clark",
+ ADDRESS = "Chicago, Ill",
+ MONTH = "",
+ YEAR = 1913,
+ EDITION = "",
+ NOTE = "D. B. Steinman, translator",
+ }
+%
+@MANUAL{Moody:1988a,
+ AUTHOR = "",
+ TITLE = "Moody's municipal \& government manual",
+ PUBLISHER = "Moody's Investors Service",
+ KEY = "Moody",
+ ADDRESS = "New York, N.Y.",
+ EDITION = "",
+ MONTH = "",
+ YEAR = 1988,
+ NOTE = "",
+ }
+%
+@ARTICLE{Pennoni:1992a,
+ AUTHOR = "Pennoni, C. R.",
+ TITLE = "Visioning: the future of civil engineering",
+ JOURNAL = "J. Profl. Issues in Engrg. Education and Practice",
+ ORGANIZATION = "ASCE",
+ MONTH = "",
+ YEAR = 1992,
+ VOLUME = 118,
+ NUMBER = 3,
+ PAGES = "221--233",
+ NOTE = "",
+ }
+%
+@ARTICLE{Reiffenstuhl:1982a,
+ AUTHOR = "Reiffenstuhl, H.",
+ TITLE = "Das Vorspannen von Bewehrung auf Druck:
+ Grundsaetzliches und Anwendungsmoeglichkeiten
+ [prestressing of reinforcing in compression:
+ fundamentals and application possibilities]",
+ JOURNAL = "Beton-und Stahlbetonbau",
+ ORGANIZATION = "Berlin, Germany",
+ MONTH = "",
+ YEAR = 1982,
+ VOLUME = 77,
+ NUMBER = 3,
+ PAGES = "69--73",
+ NOTE = "(in German)",
+ }
+%
+@ARTICLE{Vesilind:1992a,
+ AUTHOR = "Vesilind, P. A.",
+ TITLE = "Discussion of `{G}uidance for engineering-design-class
+ lectures on ethics,' by {R}ichard {H}. {M}c{C}uen",
+ JOURNAL = "J. Profl. Issues in Engrg. Education and Practice",
+ ORGANIZATION = "ASCE",
+ MONTH = "",
+ YEAR = 1992,
+ VOLUME = 118,
+ NUMBER = 2,
+ PAGES = "214--215",
+ NOTE = "",
+ }
+%
+@INCOLLECTION{Zadeh:1981a,
+ AUTHOR = "Zadeh, L. A.",
+ TITLE = "Possibility theory and soft data analysis",
+ EDITOR = "L. Cobb and R. M. Thrall",
+ BOOKTITLE = "Mathematical frontiers of the social and policy sciences",
+ PUBLISHER = "Westview Press, Inc.",
+ ADDRESS = "Boulder, Colo.",
+ MONTH = "",
+ YEAR = 1981,
+ EDITION = "",
+ PAGES = "69--129",
+ ORGANIZATION = "",
+ NOTE = "",
+ }
diff --git a/Master/texmf-dist/bibtex/bib/babelbib/babelbibtest.bib b/Master/texmf-dist/bibtex/bib/babelbib/babelbibtest.bib
new file mode 100644
index 00000000000..83adaa69f73
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/babelbib/babelbibtest.bib
@@ -0,0 +1,3803 @@
+@Misc{harders2005a,
+ author = {Harders, Harald},
+ title = {Homepage von Harald Harders},
+ month = jul,
+ year = 2004,
+ url = {http://www.harald-harders.de},
+ urldate = {2005-02-17},
+ language = {ngerman}
+}
+
+@Article{abinger1988a,
+ author = {Abinger, R. and Hammer, F. and Leopold, J. and others},
+ title = {Gro"sschaden an einem 300"=MW"=Dampfturbosatz},
+ journal = {Der Maschinenschaden},
+ year = 1988,
+ volume = 61,
+ number = 2,
+ pages = {58--60},
+ language = {ngerman},
+}
+
+
+@Article{aboav1997a,
+ author = {Aboav, D.{\,}A.},
+ title = {Foam and Polycrystal},
+ journal = {Materials characterization},
+ year = 1997,
+ volume = 39,
+ pages = {169--181},
+ issn = {1044-5803}
+}
+% language = {english},
+
+
+@Misc{akprueftechnik2000a,
+ key = {Protokoll},
+ title = {Protokoll des Arbeitskreistreffens "`Mechanische
+ Pr"uftechnik"' und "`Quantitative Gef"ugebeschreibung"' am
+ 29.\ und 30.\,03.~2000 an der TU Bergakademie Freiberg,
+ Institut f"ur Metallkunde},
+ month = {04.\,04.},
+ year = 2000,
+ language = {ngerman}
+}
+
+@Book{altenpohl1994a,
+ author = {Altenpohl, D.},
+ title = {aluminium von innen},
+ publisher = {Aluminium"=Verlag},
+ year = 1994,
+ address = {D"usseldorf},
+ edition = {5.},
+ language = {ngerman},
+ isbn = {3-87017-235-5}
+}
+
+@Book{aluminium1983a,
+ editor = {Aluminium-Zentrale},
+ title = {Aluminium-Taschenbuch},
+ publisher = {Aluminium-Verlag},
+ year = 1983,
+ address = {D"usseldorf},
+ edition = {14.},
+ language = {ngerman},
+ isbn = {3-87017-169-3}
+}
+
+@Article{andrews1999a,
+ author = {Andrews, E. and Sanders, W. and Gibson, L.{\,}J.},
+ title = {Compressive and Tensile Behaviour of Aluminium Foams},
+ journal = {Materials Science and Engineering},
+ year = 1999,
+ volume = {A~270},
+ pages = {113--124},
+ language = {english}
+}
+
+@Article{andrews2001a,
+ author = {Andrews, E.{\,}W. and Gibson, L.{\,}J.},
+ title = {The Influence of Cracks, Notches and Holes on the Tensile
+ Strength of Cellular Solids},
+ journal = {Acta Materialia},
+ year = 2001,
+ volume = 49,
+ pages = {2975--2979},
+ language = {english}
+}
+
+@Article{andrews2001b,
+ author = {Andrews, E.{\,}W. and Gibson, L.{\,}J.},
+ title = {The Influence of Crack-Like Defects on the Tensile Strength
+ of an Open-Cell Aluminum Foam},
+ journal = {Scripta materialia},
+ year = 2001,
+ volume = 44,
+ pages = {1005--1010},
+ language = {english}
+}
+
+@Article{andrews2001c,
+ author = {Andrews, E.{\,}W. and Gioux, G. and Onck, P.{\,}R. and
+ Gibson, L.{\,}J.},
+ title = {Size effects in ductile cellular solids. Part~I:
+ experimental results},
+ journal = {International Journal of Mechanical Sciences},
+ year = 2001,
+ volume = 43,
+ pages = {701--713},
+ language = {english}
+}
+
+@Article{andrieux2000a,
+ author = {Andrieux, F. and Sun, D.-Z.},
+ title = {Entwicklung und Anwendung von Werkstoffmodellen zur
+ Beschreibung des Verformungs- und Versagensverhaltens von
+ Aluminiumsch"aumen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {531--534},
+ language = {ngerman}
+}
+
+@InProceedings{arzt1999a,
+ author = {Arzt, M. and Brocks, W. and Mohr, R.},
+ title = {An implicit integration method for solving non-linear
+ problems in mechanics of structures under complex loading
+ histories},
+ booktitle = {Proceedings of the Ninth International Conference on
+ Computational Methods and Experimental Measurements --
+ CMEM 99},
+ pages = {371--380},
+ year = 1999,
+ editor = {Carlomagno, C.{\,}M. and Brebbia, C.{\,}A.},
+ volume = 2,
+ series = {Computational Engineering},
+ address = {Southhampton},
+ publisher = {WIT Press},
+ language = {english},
+ isbn = {1-85312-683-7}
+}
+
+@Book{ashby1980a,
+ author = {Ashby, M.{\,}F. and Jones, D.{\,}R.{\,}H.},
+ title = {Engineering Materials 1: An Introduction to their
+ Properties and Applications},
+ publisher = {Pergamon Press},
+ year = 1980,
+ address = {Oxford},
+ language = {english},
+ isbn = {0-08-026138-8}
+}
+
+@Article{ashby1983a,
+ author = {Ashby, M.{\,}F.},
+ title = {The mechanical properties of cellular solids},
+ journal = {Metallurgical Transactions},
+ year = 1983,
+ volume = {14~A},
+ pages = 1755,
+ language = {english}
+}
+
+@Book{ashby1986a,
+ author = {Ashby, M.{\,}F. and Jones, D.{\,}R.{\,}H.},
+ title = {Engineering Materials 2: An Introduction to
+ Microstructure, Processing and Design},
+ publisher = {Pergamon Press},
+ year = 1986,
+ address = {Oxford},
+ language = {english},
+ isbn = {0-08-032532-7}
+}
+
+@Book{ashby1992a,
+ author = {Ashby, M.{\,}F.},
+ title = {Materials Selection in Mechanical Design},
+ publisher = {Butterworth-Heinemann},
+ year = 1992,
+ address = {Oxford},
+ isbn = {0-7506-2727-1},
+ language = {english}
+}
+
+@Book{ashby1998a,
+ editor = {Ashby, M.{\,}F. and Evans, A.{\,}G. and Hutchinson, J.{\,}W. and
+ Fleck, N.{\,}A.},
+ title = {Metal Foams: a Design Guide},
+ publisher = {Cambridge Centre for Micromechanics},
+ year = 1998,
+ number = {Report Number CUED/C-MICROMECH/TR3},
+ language = {english}
+}
+
+@Book{ashcroft1988a,
+ author = {Ashcroft, N.{\,}W. and Mermin, N.{\,}D.},
+ title = {Solid State Physics},
+ publisher = {ITPS Thomson Learning},
+ year = 2000,
+ language = {english},
+ isbn = {0-03-083993-9}
+}
+
+@Book{askeland1996a,
+ author = {Askeland, D.{\,}R.},
+ title = {Materialwissenschaften},
+ publisher = {Spektrum Akademischer Verlag},
+ year = 1996,
+ address = {Heidelberg},
+ language = {ngerman},
+ isbn = {3-86025-357-3}
+}
+
+@InBook{astm399a,
+ editor = {Storer, R.{\,}A. and others},
+ title = {Metals Test Methods and Analytical Procedures},
+ chapter = {Standard Test Method for Plane-Strain Fracture Toughness
+ of Metallic Materials},
+ publisher = {American Society for Testing and Materials},
+ year = 1995,
+ volume = {03.01},
+ series = {1995 Annual Book of ASTM Standards},
+ address = {Philadelphia},
+ pages = {412--442},
+ language = {english},
+ isbn = {0-8031-2200-4}
+}
+
+@InBook{astm561a,
+ editor = {Storer, R.{\,}A. and others},
+ title = {Metals Test Methods and Analytical Procedures},
+ chapter = {Standard Practice for {$R$}-Curve Determination},
+ publisher = {American Society for Testing and Materials},
+ year = 1995,
+ volume = {03.01},
+ series = {1995 Annual Book of ASTM Standards},
+ address = {Philadelphia},
+ pages = {492--504},
+ language = {english},
+ isbn = {0-8031-2200-4}
+}
+
+@TechReport{aurenhammer1996a,
+ author = {Aurenhammer, F. and Klein, R.},
+ title = {Voronoi Diagrams, english, Nummer},
+ institution = {FernUniversit\"at Gesamthochschule in Hagen},
+ year = 1996,
+ number = 198,
+ month = 5,
+ type = {Gross klein Gross klein},
+ language = {english}
+}
+
+@TechReport{aurenhammer1996b,
+ author = {Aurenhammer, F. and Klein, R.},
+ title = {Voronoi Diagrams, ngerman, Nummer},
+ institution = {FernUniversit\"at Gesamthochschule in Hagen},
+ year = 1996,
+ number = 198,
+ month = 5,
+ type = {Gross klein Gross klein},
+ language = {ngerman}
+}
+
+@TechReport{aurenhammer1996c,
+ author = {Aurenhammer, F. and Klein, R.},
+ title = {Voronoi Diagrams, english},
+ institution = {FernUniversit\"at Gesamthochschule in Hagen},
+ year = 1996,
+ month = 5,
+ type = {Gross klein Gross klein},
+ language = {english}
+}
+
+@TechReport{aurenhammer1996d,
+ author = {Aurenhammer, F. and Klein, R.},
+ title = {Voronoi Diagrams, ngerman},
+ institution = {FernUniversit\"at Gesamthochschule in Hagen},
+ year = 1996,
+ month = 5,
+ type = {Gross klein Gross klein},
+ language = {ngerman}
+}
+
+@TechReport{aurenhammer1996e,
+ author = {Aurenhammer, F. and Klein, R.},
+ title = {Voronoi Diagrams, english},
+ institution = {FernUniversit\"at Gesamthochschule in Hagen},
+ year = 1996,
+ month = 5,
+ language = {english}
+}
+
+@TechReport{aurenhammer1996f,
+ author = {Aurenhammer, F. and Klein, R.},
+ title = {Voronoi Diagrams, ngerman},
+ institution = {FernUniversit\"at Gesamthochschule in Hagen},
+ year = 1996,
+ month = 5,
+ language = {ngerman}
+}
+
+@TechReport{aurenhammer1996g,
+ author = {Aurenhammer, F. and Klein, R.},
+ title = {Voronoi Diagrams, english, Nummer},
+ institution = {FernUniversit\"at Gesamthochschule in Hagen},
+ year = 1996,
+ month = 5,
+ number = 198,
+ language = {english}
+}
+
+@TechReport{aurenhammer1996h,
+ author = {Aurenhammer, F. and Klein, R.},
+ title = {Voronoi Diagrams, ngerman, Nummer},
+ institution = {FernUniversit\"at Gesamthochschule in Hagen},
+ year = 1996,
+ month = 5,
+ number = 198,
+ language = {ngerman}
+}
+
+@Manual{baeker1998a,
+ title = {Automatische Neuvernetzung mit ABAQUS/Standard -- Technik
+ und Anwendungen},
+ author = {B"aker, M.},
+ organization = {Institut f"ur Werkstoffe, Technische Universit"at
+ Braunschweig},
+ address = {Braunschweig},
+ month = {Oktober},
+ year = 1998,
+ language = {ngerman}
+}
+
+@Book{baeker2002a,
+ author = {B"aker, M.},
+ title = {Numerische Methoden in der Materialwissenschaft},
+ publisher = {Fachbereich Maschinenbau der TU Braunschweig},
+ year = 2002,
+ volume = 8,
+ series = {Braunschweiger Schriften zum Maschinenbau},
+ language = {ngerman},
+ isbn = {3-936148-08-2}
+}
+
+@InCollection{baker1997a,
+ author = {Baker, A.-M.{\,}M. and Barry, C.{\,}M.{\,}F.},
+ title = {Effects of Composition, Processing, and Structure on
+ Properties of Engineering Plastics},
+ booktitle = {Materials Selection and Design},
+ pages = {434--456},
+ publisher = {ASM International},
+ year = 1997,
+ editor = {Dieter, G.{\,}E.},
+ volume = 20,
+ series = {ASM Handbook},
+ language = {english},
+ isbn = {0-87170-386-6}
+}
+
+@Article{banhart1994a,
+ author = {Banhart, J. and Baumeister, J. and Weber, M.},
+ title = {Metallschaum~-- ein Werkstoff mit Perspektiven},
+ journal = {Aluminium},
+ year = 1994,
+ volume = 70,
+ number = {3/4},
+ pages = {209--213},
+ language = {ngerman}
+}
+
+@Article{banhart1997a,
+ author = {Banhart, J. and Baumeister, J. and Weber, M.},
+ title = {Aluminium foams for transport industry},
+ journal = {Materials \&\ Design},
+ year = 1997,
+ volume = 18,
+ pages = 221,
+ language = {english}
+}
+
+@Article{banhart1997b,
+ author = {Banhart, J. and Baumeister, J.},
+ title = {Das Verformungsverhalten gesch"aumter Metalle},
+ journal = {Metall},
+ year = 1997,
+ volume = 51,
+ pages = {19--24},
+ note = {vgl.\ \cite{banhart1998a}},
+ language = {ngerman}
+}
+
+@Article{banhart1998a,
+ author = {Banhart, J. and Baumeister, J.},
+ title = {Deformation characteristics of metal foams},
+ journal = {Journal of Materials Science},
+ year = 1998,
+ volume = 33,
+ number = 6,
+ pages = {1431--1440},
+ note = {vgl.\ \cite{banhart1997b}},
+ language = {english}
+}
+
+@Article{banhart1999a,
+ author = {Banhart, J.},
+ title = {Foam Metal: The Recipe},
+ journal = {europhysics news},
+ year = 1999,
+ pages = {17--20},
+ month = {January/February},
+ language = {english}
+}
+
+@Article{banhart1999b,
+ author = {Banhart, J.},
+ title = {Offenporige Aluminiumsch"aume -- Eigenschaften und
+ Anwendungen},
+ journal = {ALUMINIUM},
+ year = 1999,
+ volume = 75,
+ number = 12,
+ language = {ngerman}
+}
+
+@Article{banhart1999c,
+ author = {Banhart, J. and Baumeister, J. and Melzer, A. and
+ Seeliger, W. and Weber, M.},
+ title = {Aluminiumschaum-Leichtbaustrukturen f"ur den Fahrzeugbau},
+ journal = {Werkstoffe im Automobilbau},
+ year = {1998/1999},
+ language = {ngerman}
+}
+
+@Article{banhart1999d,
+ author = {Banhart, J. and Brinkers, W.},
+ title = {Fatige Behavior of Aluminum Foams},
+ journal = {Journal of Materials Science Letters},
+ year = 1999,
+ volume = 18,
+ pages = {617--619},
+ language = {english}
+}
+
+@Article{banhart2000a,
+ author = {Banhart, J.},
+ title = {Manufacturing Routes for Metallic Foams},
+ journal = {JOM},
+ year = 2000,
+ month = {December},
+ language = {english}
+}
+
+@Article{banhart2000b,
+ author = {Banhart, J.},
+ title = {Eigenschaften und Anwendungsgebiete offenporiger
+ metallischer Werkstoffe},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {501--504},
+ language = {ngerman}
+}
+
+@Article{banhart2001a,
+ author = {Banhart, J. and Bellmann, D. and Clemens, H.},
+ title = {Investigation of Metal Foam Formation by Microscopy and
+ Ultra Small-Angle Neutron Scattering},
+ journal = {Acta materialia},
+ year = 2001,
+ volume = 49,
+ pages = {3409--3420},
+ language = {english}
+}
+
+@Article{banhart2001b,
+ author = {Banhart, J. and Stanzick, H. and Helfen, L. and
+ Baumbach, T.},
+ title = {Metal form evolution studied by synchroton radioscopy},
+ journal = {Applied Physics Letters},
+ year = 2001,
+ volume = 78,
+ number = 8,
+ pages = {1152--1154},
+ language = {english}
+}
+
+@Article{bart-smith1998a,
+ author = {Bart-Smith, H. and Bastawros, A.-F. and Mumm,
+ D.{\,}R. and Evans, A.{\,}G. and Sypeck, D.{\,}J. and Wadley,
+ H.{\,}N.{\,}G.},
+ title = {Compressive Deformation and Yielding Mechanisms in
+ Cellular {Al} Alloys Determined Using X-Ray Tomography
+ and Surface Strain Mapping},
+ journal = {Acta Materialia},
+ year = 1998,
+ volume = 46,
+ number = 10,
+ pages = {3583--3592},
+ language = {english}
+}
+
+@InProceedings{bart-smith1998b,
+ author = {Bart-Smith, H. and Bastawros, A.-F. and Mumm, D.{\,}R. and
+ Evans, A.{\,}G. and Sypeck, D.{\,}J. and Wadley, H.{\,}N.{\,}G.},
+ title = {Compressive Deformation and Yielding Mechanisms in
+ Cellular {Al} Alloys Determined Using X-Ray Tomography and
+ Surface Strain Mapping},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {71--81},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+@Article{bastawros2000a,
+ author = {Bastawros, A.-F. and Bart-Smith, H. and Evans, A.{\,}G.},
+ title = {Experimental Analysis of Deformation Mechanisms in a
+ Closed-Cell Aluminium Alloy Foam},
+ journal = {Journal of the Mechanics and Physics of Solids},
+ year = 2000,
+ volume = 48,
+ pages = {301--322},
+ language = {english}
+}
+
+@InProceedings{baumeister1997a,
+ author = {Baumeister, J.},
+ title = {"Uberblick: Verfahren zur Herstellung von
+ Metallsch"aumen},
+ booktitle = {Metallsch"aume (Beitr"age zum Symposium Metallsch"aume,
+ IFAM, Bremen, 06.~--~07.{\,}03.~1997)},
+ pages = 3,
+ year = 1997,
+ address = {Bremen},
+ publisher = {Verlag MIT Bremen},
+ language = {ngerman}
+}
+
+@Article{beals1997a,
+ author = {Beals, J.{\,}T. and Thompson, M.{\,}S.},
+ title = {Density gradient effects on aluminium foam
+ compression behavior},
+ journal = {Journal of Materials Science},
+ year = 1997,
+ volume = 32,
+ pages = 3595,
+ language = {english}
+}
+
+@Book{becker1975a,
+ author = {Becker, E. and B"urger, W.},
+ title = {Kontinuumsmechanik},
+ publisher = {B.\,G.\ Teubner},
+ year = 1975,
+ volume = 20,
+ series = {Leitf"aden der angewandten Mathematik und Mechanik},
+ address = {Stuttgart},
+ language = {ngerman},
+ isbn = {3-519-02319-9}
+}
+
+@InProceedings{begley1971a,
+ author = {Begley, J.{\,}A. and Landes, J.{\,}D.},
+ title = {The {$J$} Integral as a Fracture Criterion},
+ booktitle = {Fracture Toughness. Proceedings of the 1971 National
+ Symposium on Fracture Mechanics},
+ pages = {1--20},
+ year = 1971,
+ volume = {Part~II},
+ address = {Philadelphia},
+ organization = {American Society for Testing and Materials},
+ language = {english}
+}
+
+@Book{begley1973a,
+ author = {Begley, J.{\,}A.},
+ title = {An estimation model for the application of the {$J$}
+ integral},
+ publisher = {Pa.\ \&\ Scientific papers},
+ year = 1973,
+ address = {Pittsburgh},
+ language = {english}
+}
+
+@Book{beiser1983a,
+ author = {Beiser, A.},
+ title = {Atome, Molek"ule, Festk"orper},
+ publisher = {Vieweg Verlag},
+ year = 1983,
+ address = {Braunschweig},
+ language = {ngerman},
+ isbn = {3-528-08459-6}
+}
+
+@Unpublished{bergmann1997a,
+ author = {Bergmann, D. and Galanulis, K.},
+ title = {Zum Einsatz der optischen Feldme"stechnik in der
+ Bruchmechanik},
+ year = 1997,
+ language = {ngerman}
+}
+
+@Book{bergmann2000a,
+ author = {Bergmann, W.},
+ title = {Werkstofftechnik, Teil 1: Grundlagen},
+ publisher = {Hanser},
+ year = 2000,
+ edition = {3.},
+ language = {ngerman},
+ isbn = {3-446-21409-7}
+}
+
+@Unpublished{bergmanna,
+ author = {Bergmann, D.},
+ title = {3D Deformation Measurement in small Areas based on
+ Grating Method and Photogrammetry},
+ language = {english}
+}
+
+@Unpublished{bergmannb,
+ author = {Bergmann, D. and Reich, C. and Ritter, R.},
+ title = {Experimentelle Untersuchungen zum Vergleich mit
+ Modellrechnungen bei der Aufstellung von Kriterien der
+ Flie"sbruchmechanik},
+ language = {ngerman}
+}
+
+@Article{bernard2002a,
+ author = {Bernard, T. and Zoch, H.-W.},
+ title = {Aluminiumsch"aume -- Eigenschaften und Einsetzbarkeit},
+ journal = {H"arterreitechnische Mitteilungen (HTM)},
+ year = 2002,
+ volume = 57,
+ number = 5,
+ pages = {308--315},
+ language = {ngerman}
+}
+
+@Book{betten1993a,
+ author = {Betten, J.},
+ title = {Kontinuumsmechanik},
+ publisher = {Springer"=Verlag},
+ year = 1993,
+ address = {Berlin},
+ language = {ngerman},
+ isbn = {3-540-56646-5}
+}
+
+@Book{blumenauer1993a,
+ author = {Blumenauer, H. and Pusch, G.},
+ title = {Technische Bruchmechanik},
+ publisher = {Deutscher Verlag f"ur Grundstoffindustrie},
+ year = 1993,
+ address = {Stuttgart},
+ language = {ngerman},
+ isbn = {3-342-00659-5}
+}
+
+@Article{boehm2000a,
+ author = {B"ohm, H. and Ismar, H. and Schmitt, J.},
+ title = {Flie"sfl"ache metallischer Sch"aume},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {21--23},
+ language = {ngerman}
+}
+
+@InProceedings{boellinghaus2000a,
+ author = {B"ollinghaus, T. and von Hagen, H. and Bleck, W.},
+ title = {Erm"udung von Sandwichverbunden aus
+ Aluminiumschaum mit Stahldeckblechen},
+ booktitle = {Metallsch"aume},
+ pages = {488--492},
+ year = 2000,
+ editor = {Degischer, H.{\,}P.},
+ publisher = {Wiley-VCH},
+ language = {ngerman}
+}
+
+@Article{boellinghaus2000b,
+ author = {B"ollinghaus, T. and von Hagen, H. and Bleck, W.},
+ title = {Erm"udung von Sandwichverbunden aus Aluminiumschaum mit
+ Stahldeckblechen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {488--492},
+ language = {ngerman}
+}
+
+@Article{boellinghaus2000c,
+ author = {B\"ollinghaus, T. and von Hagen, H. and Bleck, W.},
+ title = {Laserstrahlschwei\ss{}en von sch\"aumbarem
+ Aluminiumhalbzeug},
+ journal = {UTF science},
+ year = 2000,
+ volume = {II},
+ pages = {23--26},
+ language = {ngerman}
+}
+
+@InProceedings{bramfitt1994a,
+ author = {Bramfitt, J.{\,}E. and Hess, R.{\,}L.},
+ title = {A Novel Heat Activated Recoverable Temporary Stent
+ (Hearts System)},
+ booktitle = {Proceedings of SMST-94},
+ pages = {435--442},
+ year = 1994,
+ address = {California},
+ language = {english}
+}
+
+@Article{braune2000a,
+ author = {Braune, R. and Otto, A.},
+ title = {Tailored Blanking mit Kernverbunden aus aufsch\"aumbarem
+ Aluminiumhalbzeug},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {562--565},
+ language = {ngerman}
+}
+
+@Book{bronstein1993a,
+ author = {Bron\v{s}tein, I.{\,}N. and Semendjaev, K.{\,}A. and Musiaol, G.
+ and M"uhlig, H.},
+ title = {Taschenbuch der Mathematik},
+ publisher = {Verlag Harri Deutsch},
+ year = 1993,
+ address = {Thun},
+ edition = {1.},
+ language = {ngerman},
+ isbn = {3-8171-2001-X}
+}
+
+@Article{bross1998a,
+ author = {Bross, S. and Steck E.},
+ title = {Simulation of selforganised dislocation structures in
+ b.c.c. single crystals},
+ journal = {Computational Materials Science},
+ year = 1998,
+ volume = 13,
+ pages = {16--22},
+ language = {english}
+}
+
+@Article{buengener2000a,
+ author = {B\"ungener, N. and Sch\"one, A. and Fritsching, U.},
+ title = {Zum kontinuierlichen thermisch-chemischen Aufsch\"aumen
+ uns Ausbringen von Aluminium und Aluminiumlegierungen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {535--537},
+ language = {ngerman}
+}
+
+@Book{buergel1998a,
+ author = {B"urgel, R.},
+ title = {Handbuch Hochtemperatur"=Werkstofftechnik},
+ publisher = {Vieweg Verlag},
+ year = 1998,
+ address = {Braunschweig},
+ language = {ngerman},
+ isbn = {3-528-03107-7}
+}
+
+@Book{callister2000a,
+ author = {Callister, W.{\,}D.},
+ title = {Materials Science and Engineering},
+ publisher = {Wiley \&\ Sons},
+ year = 2000,
+ edition = {5.},
+ language = {english},
+ isbn = {0-471-32013-7}
+}
+
+@Book{chawla1993a,
+ author = {Chawla, K.{\,}K.},
+ title = {Ceramic Matrix Composites},
+ publisher = {Chapman \&\ Hall},
+ year = 1993,
+ address = {London},
+ edition = {1.},
+ language = {english},
+ isbn = {0-412-36740-8}
+}
+
+@InCollection{clements1988a,
+ author = {Clements, L.{\,}L.},
+ title = {Polymer Science for Engineers},
+ booktitle = {Engineering Plastics},
+ pages = {48--62},
+ publisher = {ASM International},
+ year = 1988,
+ editor = {Epel, J.{\,}N.},
+ volume = 2,
+ series = {Engineered Materials Handbook},
+ language = {english},
+ isbn = {0-87170-279-7}
+}
+
+@InProceedings{cordes2000a,
+ author = {Cordes, M. and Bardenheier, R.},
+ title = {Hochgeschwindigkeitsversuche und Crashsimulation},
+ booktitle = {Vortr\"age der Tagung Werkstoffpr\"ufung 2000},
+ year = 2000,
+ address = {Bad Nauheim},
+ month = {Dezember},
+ organization = {Deutscher Verband f\"ur Materialforschung und -pr\"ufung},
+ language = {ngerman},
+ note = {Nicht im Tagungsband enthalten}
+}
+
+@Book{cottrell1956a,
+ author = {Cottrell, A.{\,}H.},
+ title = {Dislocations and plastic flow in crystals},
+ publisher = {Clarendon Press},
+ address = {Oxford},
+ year = 1965,
+ language = {english}
+}
+
+@Book{courtney1990a,
+ author = {Courtney, T.{\,}H.},
+ title = {Mechanical Behaviour of Materials},
+ publisher = {McGraw-Hill},
+ year = 1990,
+ address = {New York},
+ language = {english},
+ isbn = {0-07-013265-8}
+}
+
+@Article{davies1983a,
+ author = {Davies, G.{\,}J. and Zhen, Shu},
+ title = {Metallic foams: their production, properties and
+ applications},
+ journal = {Journal of Materials Science},
+ year = 1983,
+ volume = 18,
+ pages = {1899--1911},
+ language = {english}
+}
+
+@Book{davis1994a,
+ editor = {Davis, J.{\,}R.},
+ title = {Stainless Steels},
+ publisher = {ASM International},
+ year = 1994,
+ series = {ASM Specialty Handbook},
+ language = {english},
+ isbn = {0-87170-503-6}
+}
+
+@Article{daxner2000a,
+ author = {Daxner, T. and B\"ohm, H.{\,}J. and Ramerstorfer, F.{\,}G. and
+ Denzer, R. and Maier, M.},
+ title = {Simulation des elasto-plastischen Verhaltens von
+ Metallschaum mit Hilfe von 2D und 3D Einheits-Modellen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {447--450},
+ language = {ngerman}
+}
+
+@Article{degischer1997a,
+ author = {Degischer, H.{\,}P.},
+ title = {Innovative light metals: metal matrix composites
+ and foamed aluminium},
+ journal = {Materials \& Design},
+ year = 1997,
+ volume = 18,
+ pages = 221,
+ language = {english}
+}
+
+@InProceedings{degischer1997b,
+ author = {Degischer, H.{\,}P. and Galovsky, U. and Gradinger,
+ R. and Kretz, R. and Simanc\'ik, F.},
+ title = {\"Uber mechanische Eigenschaften von
+ Aluminiumsch"aumen},
+ booktitle = {Metallsch"aume (Beitr"age zum Symposium Metallsch"aume,
+ IFAM, Bremen, 06.~--~07.{\,}03.~1997},
+ pages = 79,
+ year = 1997,
+ editor = {Banhart, J.},
+ publisher = {Verlag MIT Bremen},
+ language = {ngerman}
+}
+
+@Article{deshpande2001a,
+ author = {Deshpande, V.{\,}S. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ title = {Foam Topology Bending Versus Stretching Dominated
+ Architectures},
+ journal = {Acter Materialia},
+ year = 2001,
+ volume = 49,
+ pages = {1035--1040},
+ language = {english}
+}
+
+@Article{deshpande2001b,
+ author = {Deshpande, V.{\,}S. and Fleck, N.{\,}A.},
+ title = {Multi-Axial Yield Behaviour of Polymer Foams},
+ journal = {Acter materialia},
+ year = 2001,
+ volume = 49,
+ pages = {1859--1866},
+ language = {english}
+}
+
+@Misc{dfgdaempfung2000a,
+ key = {Arbeitsbericht},
+ title = {Arbeitsbericht zum DFG-Vorhaben SI~408/5-1 \quotedblbase
+ Mechanische D\"ampfung metallischer
+ Sch\"aume\textquotedblleft\
+ im DFG-Schwerpunktprogramm SPP~1075},
+ year = 2000,
+ language = {ngerman}
+}
+
+@Book{dieter1986a,
+ author = {Dieter, G.{\,}E.},
+ title = {Mechanical Metallurgy},
+ publisher = {McGraw-Hill},
+ year = 1988,
+ address = {New York},
+ language = {english},
+ isbn = {0-07-100406-8}
+}
+
+@Book{dieter1988a,
+ author = {Dieter, G.{\,}E.},
+ title = {Mechanical Metallurgy},
+ publisher = {McGraw-Hill},
+ year = 1988,
+ address = {London},
+ language = {english},
+ isbn = {0-07-100406-8}
+}
+
+@Book{dieter1995a,
+ editor = {Dieter, G.},
+ title = {Mechanical Metallurgy},
+ publisher = {McGraw-Hill},
+ year = 1995,
+ language = {english}
+}
+
+@Book{domininghaus1998a,
+ author = {Domininghaus, H.},
+ title = {Die Kunststoffe und ihre Eigenschaften},
+ publisher = {Springer"=Verlag},
+ year = 1998,
+ address = {Berlin},
+ edition = {5.},
+ language = {ngerman},
+ isbn = {3-540-62659-X}
+}
+
+@Book{domke1994a,
+ author = {Domke, W.},
+ title = {Werkstoffkunde und Werkstoffpr"ufung},
+ publisher = {Cornelsen Verlag},
+ year = 1994,
+ address = {Berlin},
+ edition = {10.},
+ language = {ngerman},
+ isbn = {3-590-81220-6},
+}
+
+@Article{duarte2000a,
+ author = {Duarte, I. and Banhart, J.},
+ title = {A Study of Aluminium Foam Formation---Kinetics and
+ Microstructure},
+ journal = {Acta materialia},
+ year = 2000,
+ volume = 48,
+ pages = {2349--2362},
+ language = {english}
+}
+
+@Book{dubbel1990a,
+ editor = {Beitz, W. and Grote, K.-H.},
+ title = {Dubbel~-- Taschenbuch f"ur den Maschinenbau},
+ publisher = {Springer"=Verlag},
+ year = 2001,
+ address = {Berlin},
+ edition = {20.},
+ isbn = {3-540-67777-1},
+ language = {ngerman}
+}
+
+@Article{ehlers1999a,
+ author = {Ehlers, W. and Droste, A.},
+ title = {A Continuum Model for Highly Porous Aluminium Foam},
+ journal = {Technische Mechanik},
+ year = 1999,
+ volume = 19,
+ number = 4,
+ pages = {341--350},
+ language = {english}
+}
+
+@Book{ehrenstein1999a,
+ author = {Ehrenstein, G.{\,}W.},
+ title = {Polymer-Werkstoffe},
+ publisher = {Hanser Verlag},
+ year = 1999,
+ address = {M"unchen},
+ edition = {2.},
+ language = {ngerman},
+ isbn = {3-446-21161-6}
+}
+
+@InProceedings{elmoutaouakkail2001a,
+ author = {Elmoutaouakkail, A. and Salvo, L. and Maire, E. and
+ Peix, G.},
+ title = {{2D} and {3D} characterisation of metal foams using
+ {X}-ray tomography},
+ booktitle = {Cellular Metals and Metal Foaming Technology},
+ pages = {245--250},
+ year = 2001,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ address = {Bremen},
+ publisher = {Verlag MIT Publishing},
+ language = {english},
+ isbn = {3-935538-11-1}
+}
+
+@Article{erbe1994a,
+ author = {Erbe, M. and Galanulis, K. and Ritter, R. and Steck, E.},
+ title = {Theoretical and Experimental Investigations of Fracture
+ by Finite Element and Grating Methods},
+ journal = {Engineering Fracture Mechanics},
+ year = 1994,
+ volume = 48,
+ number = 1,
+ pages = {103-118},
+ language = {english}
+}
+
+@Book{erhard1993a,
+ author = {Erhard, G.},
+ title = {Konstruieren mit Kunststoffen},
+ publisher = {Carl-Hanser-Verlag},
+ year = 1993,
+ address = {M"unchen},
+ language = {ngerman},
+ isbn = {3-446-17397-8}
+}
+
+@Article{fatima2001a,
+ author = {F\'atima Vaz, M. and Fortes, M.{\,}A.},
+ title = {Simulation of cell collapse in the compression of
+ non-uniform cellular solids},
+ journal = {Scripta Materialia},
+ year = 2001,
+ volume = 45,
+ pages = {375--382},
+ language = {english}
+}
+
+@InProceedings{fazekas2001a,
+ author = {Fazekas, A. and Dendievel, R. and Salvo, L. and
+ Br\'echet, Y.},
+ title = {Influence of microstructural dispersions on the effective
+ properties of cellular solids},
+ booktitle = {Cellular Metals and Metal Foaming Technology},
+ pages = {259--264},
+ year = 2001,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ address = {Bremen},
+ publisher = {Verlag MIT Publishing},
+ language = {english},
+ isbn = {3-935538-11-1}
+}
+
+@Article{feith2000a,
+ author = {Feith, G.},
+ title = {Schaumteile als Dauerkerne in Gu"steilen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {407--408},
+ language = {ngerman}
+}
+
+@Book{feynman1989a,
+ author = {Feynman, R.{\,}P. and Leighton, R.{\,}B. and Sands, M.},
+ title = {The Feynman Lectures on Physics, Vol~I, II \&\ III},
+ publisher = {Pearson Higher Education},
+ year = 1989,
+ language = {english},
+ isbn = {0-201-50064-7}
+}
+
+@Article{foroughi2000a,
+ author = {Foroughi, B. and Kriszt, B. and Degischer, H.{\,}P.},
+ title = {Simulation des Verformungsverhaltens von por\"osen
+ Metallen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {451--454},
+ language = {ngerman}
+}
+
+@InProceedings{foroughi2001a,
+ author = {Foroughi, B. and Kriszt, B. and Degischer, H.{\,}P.},
+ title = {Modelling of mechanical properties of inhomogeneous cellular
+ materials},
+ booktitle = {Cellular Metals and Metal Foaming Technology},
+ pages = {265--268},
+ year = 2001,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ address = {Bremen},
+ publisher = {Verlag MIT Publishing},
+ language = {english},
+ isbn = {3-935538-11-1}
+}
+
+@Book{frost1982a,
+ author = {Frost, H.{\,}J. and Ashby, M.{\,}F.},
+ title = {Deformation-Mechanism Maps},
+ publisher = {Pergamon Press},
+ year = 1982,
+ edition = {1.},
+ language = {english},
+ isbn = {0-08-029338-7}
+}
+
+@Book{fujita1998a,
+ editor = {Fujita, F.{\,}E.},
+ title = {Physics of New Materials},
+ publisher = {Springer-Verlag},
+ year = 1998,
+ volume = 27,
+ series = {Springer Series in Materials Science},
+ address = {Berlin},
+ edition = {2.},
+ language = {english},
+ isbn = {3-540-64143-2}
+}
+
+@InProceedings{galanulis1999a,
+ author = {Galanulis, K. and Hofmann, A.},
+ title = {Determination of Forming Limit Diagrams Using an Optical
+ Measurement System},
+ booktitle = {Sheet Metal 1999},
+ year = 1999,
+ editor = {Geiger, M. and Kals, H.{\,}J.{\,}J. and Shirvani, B. and
+ Singh, U.{\,}P.},
+ address = {Erlangen},
+ month = {September},
+ language = {english},
+ isbn = {3-87525-110-5}
+}
+
+@Article{galovsky2000a,
+ author = {Galovsky, U.},
+ title = {Bestimmung von Bruchz\"ahigkeitswerten bei
+ Schaumaluminium},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {578--580},
+ language = {ngerman}
+}
+
+@Article{gent1963a,
+ author = {Gent, A.{\,}N. and Thomas, A.{\,}G.},
+ title = {Mechanics of Foamed Elastic Materials},
+ journal = {Rubber Chemistry and Technology},
+ year = 1963,
+ volume = 36,
+ pages = {597--610},
+ language = {english}
+}
+
+@InProceedings{gent1963b,
+ author = {Gent, A.{\,}N. and Thomas, A.{\,}G.},
+ title = {Mechanics of Foamed Elastic Materials},
+ booktitle = {Proceedings of the 7th Annual Technical Conference of the
+ Cellular Plastics Division},
+ year = 1963,
+ address = {New York},
+ organization = {Society of the Plastics Industry},
+ language = {english}
+}
+
+@Article{gers2000a,
+ author = {Gers, H. and Brungs, D. and Nijhof, K. and Baumg\"artner, F.
+ and M\"aurer, H.-J.},
+ title = {Pulvermetallurgische Fertigung von Bauteilen aus
+ Aluminiumschaum},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {403--406},
+ language = {ngerman}
+}
+
+@InProceedings{giamei1997a,
+ author = {Giamei, A.},
+ title = {Aero-Engine and Naval Applications for Ultra-Lightweight
+ Metals},
+ booktitle = {Proceedings of the Fraunhofer USA Metal Foam Symposium},
+ pages = {63--78},
+ year = 1997,
+ address = {Bremen (Germany)},
+ publisher = {MIT-Verlag},
+ language = {english}
+}
+
+@Article{gibson1982a,
+ author = {Gibson, L.{\,}J. and Ashby, M.{\,}F.},
+ title = {The Mechanics of Three-Dimensional Cellular Materials},
+ journal = {Proceedings of the Royal Society of London},
+ year = 1982,
+ volume = {A~382},
+ pages = {43--59},
+ language = {english}
+}
+
+@Article{gibson1982b,
+ author = {Gibson, L.{\,}J. and Ashby, M.{\,}F. and Schajer, G.{\,}S. and
+ Robertson, C.{\,}I.},
+ title = {The mechanics of two-dimensional cellular materials},
+ journal = {Proceedings of the Royal Society of London},
+ year = 1982,
+ volume = {A~382},
+ pages = {25--42},
+ language = {english}
+}
+
+@Article{gibson1989a,
+ author = {Gibson, L.{\,}J.},
+ title = {Modelling the mechanical behaviour of cellular
+ materials},
+ journal = {Materials Science and Engineering},
+ year = 1989,
+ volume = {A~110},
+ pages = 1,
+ language = {english}
+}
+
+@Book{gibson1997a,
+ author = {Gibson, L.{\,}J. and Ashby, M.{\,}F.},
+ title = {Cellular solids},
+ publisher = {Cambridge University Press},
+ year = 1997,
+ edition = {2nd},
+ language = {english}
+}
+
+@Article{gioux2000a,
+ author = {Gioux, G. and McCormack, T.{\,}M. and Gibson, L.{\,}J.},
+ title = {Failure of aluminum foams under multiaxial loads},
+ journal = {International Journal of Mechanical Sciences},
+ year = 2000,
+ volume = 42,
+ pages = {1097--1117},
+ language = {english}
+}
+
+@InProceedings{golovin2000a,
+ author = {Golovin, I.{\,}S. and Sinning, H.-R.},
+ title = {Damping of Some Aluminium Foams at Low Amplitudes},
+ booktitle = {MS-2, Poland, 2-8 December 2000, Solid State Phenomena},
+ year = 2000,
+ language = {english}
+}
+
+@InProceedings{golovin2000b,
+ author = {Golovin, I.{\,}S. and Sinning, H.-R.},
+ title = {Low-amplitude Mechanical Damping of Some Aluminium Foams},
+ booktitle = {Materials Week},
+ year = 2000,
+ address = {Munich},
+ month = {October},
+ language = {english}
+}
+
+@InProceedings{golovin2000c,
+ author = {Golovin, I.{\,}S. and Sinning, H.-R. and G\"oken, J. and
+ Riehemann, W.},
+ title = {Amplitude Dependent Damping of Some Metallic Foams},
+ booktitle = {2nd Mechanical Spectroscopy School},
+ year = 2000,
+ address = {Krakow, Poland},
+ month = {December},
+ language = {english}
+}
+
+@Book{gottstein1998a,
+ author = {Gottstein, G.},
+ title = {Physikalische Grundlagen der Materialkunde},
+ publisher = {Springer"=Verlag},
+ year = 1998,
+ address = {Berlin},
+ language = {ngerman},
+ isbn = {3-540-62670-0}
+}
+
+@InCollection{greenhut1997a,
+ author = {Greenhug, V.{\,}A.},
+ title = {Effects of Composition, Processing, and Structure on
+ Properties of Ceramics and Glasses},
+ booktitle = {Materials Selection and Design},
+ pages = {416--433},
+ publisher = {ASM International},
+ year = 1997,
+ editor = {Dieter, G.{\,}E.},
+ volume = 20,
+ series = {ASM Handbook},
+ language = {english},
+ isbn = {0-87170-386-6}
+}
+
+@Article{grenestedt2000a,
+ author = {Grenestedt, J.{\,}L.},
+ title = {Influence of Cell Wall Wiggles on Stiffness of Cellular
+ Solids},
+ journal = {International Journal of Mechanical Sciences},
+ year = 2000,
+ volume = 42,
+ number = 7,
+ pages = {1327--1338},
+ language = {english},
+}
+
+@Article{grenestedt2000b,
+ author = {Grenestedt, J.{\,}L. and Bassinet, F.},
+ title = {Influence of Cell Wall Thickness Variations on Elastic
+ Stiffness of Closed-Cell Cellular Solids},
+ journal = {International Journal of Mechanical Sciences},
+ year = 2000,
+ volume = 42,
+ pages = {1327--1338},
+ language = {english}
+}
+
+@Book{gross2001a,
+ author = {Gross, D. and Seelig, T.},
+ title = {Bruchmechanik mit einer Einf"uhrung in die Mikromechanik},
+ publisher = {Springer"=Verlag},
+ address = {Berlin},
+ year = 2001,
+ edition = {3.},
+ language = {ngerman},
+ isbn = {3-540-42203-X}
+}
+
+@Article{grote2000a,
+ author = {Grote, F. and Stemmler, M. and Kaesberg, S.},
+ title = {\"Ubertragung realer zellularer Strukturen auf
+ 3D-FEM-Modell -- Methoden und Potential},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {455--458},
+ language = {ngerman}
+}
+
+@Book{guy1970a,
+ author = {Guy, A.{\,}G.},
+ title = {Metallkunde f\"ur Ingenieure},
+ publisher = {Akademische Verlagsgesellschaft},
+ year = 1970,
+ volume = 7,
+ series = {Technisch-physikalische Sammlung},
+ address = {Frankfurt am Main},
+ language = {ngerman}
+}
+
+@Article{haag2003a,
+ author = {Haag, M. and Wanner, A. and Clemens, H. and Zhang, P. and
+ Kraft, O. and Arzt, E.},
+ title = {Creep of Aluminium-Based Closed-Cell Foams},
+ journal = {Acta Materialia},
+ year = 2003,
+ note = {Submitted to Acta Materialia},
+ language = {english}
+}
+
+@Article{haberling2000a,
+ author = {Haberling, C. and Haldenwanger, H.-G.},
+ title = {Leichtbau durch lokales Aussteifen von Strukturbauteilen
+ im PKW-Bau},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {505--510},
+ language = {ngerman}
+}
+
+@InProceedings{hagen1998a,
+ author = {von Hagen, H. and Bleck, W.},
+ title = {Compressive, Tensile and Shear Testing of Melt-Foamed
+ Aluminium},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {59--64},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+@Article{hahn2000a,
+ author = {Hahn, M. and Otto, A.},
+ title = {Hochtemperatur-Umformung von zellularem Aluminium},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {432--435},
+ language = {ngerman}
+}
+
+@PhdThesis{harder1997a,
+ author = {Harder, J.},
+ title = {Simulation lokaler Flie"svorg"ange in Polykristallen},
+ school = {Mechanik"=Zentrum, TU Braunschweig},
+ year = 1997,
+ language = {ngerman},
+ isbn = {3-920395-27-1}
+}
+
+@Article{harder1999a,
+ author = {Harder, J.},
+ title = {A crystallographic model for the study of local deformation
+ processes in polycrystals},
+ journal = {International Journal of Plasticity},
+ year = 1999,
+ volume = 15,
+ pages = {605--624},
+ language = {english},
+ issn = {0749-6419}
+}
+
+@TechReport{harders1999a,
+ author = {Harders, Harald and Wei\ss{}, Susanne and Thielecke, Frank},
+ title = {Verwendung des datengest\"utzten Systemidentifizierungstools
+ RAPID zur fehlertoleranten Modellierung des
+ Luftdatensystems FADS},
+ institution = {Institut f\"ur Flugmechanik, Deutsches Zentrum f\"ur Luft-
+ und Raumfahrt e.\,V.},
+ year = 1999,
+ number = {Institutsbericht IB 111-1999/25},
+ address = {Braunschweig},
+ language = {ngerman}
+}
+
+@InProceedings{harders2000a,
+ author = {Harders, Harald and R\"osler, Joachim and Hupfer, Knut},
+ title = {Schwingfestigkeitsversuche an Aluminiumschaum},
+ booktitle = {Vortr\"age der Tagung Werkstoffpr\"ufung 2000},
+ pages = {241--246},
+ year = 2000,
+ address = {Bad Nauheim},
+ month = {Dezember},
+ organization = {Deutscher Verband f\"ur Materialforschung und -pr\"ufung},
+ language = {ngerman}
+}
+
+@InProceedings{harders2001a,
+ author = {Harders, Harald and R\"osler, Joachim and Hupfer, Knut and
+ Steck, Elmar},
+ title = {Experimental Studies and Simulations of the Fatigue
+ Behaviour of Metal Foams},
+ booktitle = {Cellular Metals and Metal Foaming Technology},
+ pages = {317--322},
+ year = 2001,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ address = {Bremen (Germany)},
+ publisher = {MIT-Verlag},
+ language = {english}
+}
+
+@Article{harte1999a,
+ author = {Harte, A.-M. and Fleck, N.{\,}A. and Ashby, M.{\,}F.},
+ title = {Fatigue failure of an open cell and a closed cell
+ aluminium alloy foam},
+ journal = {Acta Materialia},
+ year = 1999,
+ volume = 47,
+ number = 8,
+ pages = {2511--2524},
+ language = {english},
+ issn = {1359-6454}
+}
+
+@Article{herrmann1997a,
+ author = {Herrmann, K.{\,}P.},
+ title = {Ri"sausbreitungsvorg\"ange in thermomechanisch belasteten
+ Zweikomponentenmedien: Analysis und Experiment},
+ journal = {Zeitschrift f\"ur angewandte Mathematik und Mechanik (ZAMM)},
+ year = 1997,
+ volume = 77,
+ number = 3,
+ pages = {163--188},
+ language = {ngerman}
+}
+
+@Book{hill1950a,
+ author = {Hill, R.},
+ title = {The Mathematical Theory of Plasticity},
+ publisher = {Oxford University Press},
+ year = 1998,
+ address = {Oxford},
+ language = {english},
+ isbn = {0-19-850367-9}
+}
+
+@Article{hipke2000a,
+ author = {Hipke, T. and Wunderlich, T.},
+ title = {Chancen und Hemmnisse f\"ur den Metallschaumeinsatz},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {396--399},
+ language = {ngerman}
+}
+
+@Article{hoenscheidt2000a,
+ author = {H\"ohnscheidt, W.},
+ title = {Aluminium-Schaum-Strukturen bald serienreif f\"ur den Pkw},
+ journal = {VDI nachrichten},
+ year = 2000,
+ volume = 34,
+ pages = {18--19},
+ month = {August},
+ language = {ngerman}
+}
+
+@Book{holzapfel2000a,
+ author = {Holzapfel, G.{\,}A.},
+ title = {Nonlinear Solid Mechanics},
+ publisher = {John Wiley \&\ Sons},
+ year = 2000,
+ address = {Chichester},
+ language = {english},
+ isbn = {0-471-82319-8}
+}
+
+@Book{honeycombe2000a,
+ author = {Honeycombe, R.{\,}W.{\,}K.},
+ title = {Steels~-- Microstructure and Properties},
+ publisher = {Edward Arnold},
+ year = 2000,
+ address = {London},
+ language = {english},
+ isbn = {0-7131-2793-7}
+}
+
+@book{hornbogen1983a,
+ author = {Hornbogen, E.},
+ title = {Werkstoffe},
+ publisher = {Springer"=Verlag},
+ year = 1994,
+ address = {Berlin},
+ edition = {6.},
+ language = {ngerman},
+ isbn = {3-540-57325-9}
+}
+
+@Book{hoser1996a,
+ author = {Ohser, J. and Lorz, U.},
+ title = {Quantitative Gef\"ugeanalyse: theoretische Grundlagen und
+ Anwendungen},
+ publisher = {TU Bergakademie Freiberg},
+ year = 1996,
+ volume = {B~276},
+ series = {Freiberger Forschungshefte},
+ address = {Freiberg},
+ edition = {2.},
+ language = {ngerman},
+ isbn = {3-86012-025-5}
+}
+
+@InProceedings{huang1998a,
+ author = {Huang, J.{\,}S. and Lin, J.{\,}Y.},
+ title = {Modeling of Fatigue for Cellular Materials},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {27--32},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+@Article{huebler1999a,
+ author = {H\"ubler, A.{\,}C. and Hahn, U. and Weidner, J. and
+ Schneider, J.},
+ title = {Krafteinleitung an Bauelementen aus Aluminiumschaum},
+ journal = {konstruktionspraxis},
+ year = 1999,
+ volume = 04,
+ language = {ngerman}
+}
+
+@Article{hunsche1986a,
+ author = {Hunsche, A. and Neumann, P.},
+ title = {Quantitative measurement of persistent slip band profiles
+ and crack initiation},
+ journal = {Acta metallurgica},
+ year = 1986,
+ volume = 34,
+ number = 2,
+ pages = {207--217},
+ language = {english}
+}
+
+@PhdThesis{hupfer2003a,
+ author = {Hupfer, K.},
+ title = {Einflu\ss\ der Mikrostruktur auf die
+ Festigkeitseigenschaften von Metallsch\"aumen},
+ school = {Braunschweiger Schriften zur Mechanik},
+ year = 2003,
+ type = {Dissertation},
+ address = {Braunschweig},
+ language = {ngerman}
+}
+
+@InProceedings{huschka1997a,
+ author = {Huschka, S. and Hicken, S. and Arendts, F.-J.},
+ title = {Modellierung der Spannungs-Stauchungskurven von
+ Aluminiumschaum unter Ber\"ucksichtigung der
+ Porengr"o"senverteilung},
+ booktitle = {Metallsch"aume (Beitr"age zum Symposium Metallsch"aume,
+ IFAM, Bremen 06.~--~07.{\,}03.~1997},
+ pages = 189,
+ year = 1997,
+ editor = {Banhart, J.},
+ publisher = {Verlag MIT Bremen},
+ language = {ngerman}
+}
+
+@PhdThesis{huschka1998a,
+ author = {Huschka, S.},
+ title = {Modellierung eines Materialgesetzes zur
+ Beschreibung der mechanischen Eigenschaften von
+ Aluminiumschaum},
+ school = {Universit"at Stuttgart},
+ year = 1998,
+ type = {Dissertation},
+ address = {VDI-Verlag. Fortschrittberichte, Reihe 5, Nr. 525},
+ language = {ngerman}
+}
+
+@Article{hutchinson2000a,
+ author = {Hutchinson, J.{\,}W. and He, M.{\,}Y.},
+ title = {Buckling of cylindrical sandwich shells with metal foam
+ cores},
+ journal = {International journal of solids and structures},
+ year = 2000,
+ volume = 37,
+ number = {46--47},
+ pages = {6777-6794},
+ language = {english},
+ issn = {0020-7683}
+}
+
+@Article{ichitsubo2002a,
+ author = {Ichitsubo, T. and Tane, M. and Ogi, H. and Hirao, M. and
+ Ikeda, T. and Nakajima, H.},
+ title = {Anisotropic elastic constants of lotus-type porous copper:
+ measurements and micromechanics modeling},
+ journal = {Acta Materialia},
+ year = 2002,
+ volume = 50,
+ pages = {4105--5115},
+ language = {english}
+}
+
+@Manual{ifam2001a,
+ title = {Metal Foams},
+ organization = {Frauhofer Institut f\"ur Fertigungstechnik und
+ Angewandte Materialforschung (IFAM)},
+ address = {Bremen},
+ month = 01,
+ year = 2001,
+ language = {english}
+}
+
+@Manual{ifam2001b,
+ title = {FOAMINAL},
+ organization = {Frauhofer Institut f\"ur Fertigungstechnik und
+ Angewandte Materialforschung (IFAM)},
+ address = {Bremen},
+ month = 01,
+ year = 2001,
+ language = {english}
+}
+
+@Article{illerhaus2000a,
+ author = {Illerhaus, B. and Goebbels, J.},
+ title = {Dreidimensionale Charakterisierung von Metallschaumk\"orpern
+ mittels MikroComputertomographie},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {527--528},
+ language = {ngerman}
+}
+
+@Book{ilschner2002a,
+ author = {Ilschner, B. and Singer, R.{\,}F.},
+ title = {Werkstoffwissenschaften und Fertigungstechnik},
+ publisher = {Springer"=Verlag},
+ year = 2002,
+ address = {Berlin},
+ language = {ngerman},
+ isbn = {3-540-67451-9}
+}
+
+@Article{ishikawa2000a,
+ author = {Ishikawa, N. and Parks, D.{\,}M. and Socrate, S. and
+ Kurihara, M.},
+ title = {Micromechanical Modeling of Ferrite-Pearlite Steels Using
+ Finite Element Unit Cell Models},
+ journal = {ISIJ International},
+ year = 2000,
+ volume = 40,
+ number = 11,
+ pages = {1170--1179},
+ language = {english}
+}
+
+@Book{issler1995a,
+ author = {Issler, L. and Ruo"s, H. and H"afele, P.},
+ title = {Festigkeitslehre~-- Grundlagen},
+ publisher = {Springer"=Verlag},
+ year = 1997,
+ edition = {2.},
+ address = {Berlin},
+ language = {ngerman},
+ isbn = {3-540-61998-4}
+}
+
+@InProceedings{jasiuniene2001a,
+ author = {Jansiunien\"e, E. and Goebbels, J. and Illerhaus, B. and
+ L\"owe, P. and Kottar, A.},
+ title = {{3D} investigation of strength tested metallic foams by
+ micro-tomography},
+ booktitle = {Cellular Metals and Metal Foaming Technology},
+ pages = {251--254},
+ year = 2001,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ address = {Bremen},
+ publisher = {Verlag MIT Publishing},
+ language = {english},
+ isbn = {3-935538-11-1}
+}
+
+@Book{jenkins1972a,
+ editor = {Jenkins, A.{\,}D.},
+ title = {Polymer Science},
+ publisher = {North-Holland Publishing Company},
+ year = 1972,
+ volume = 1,
+ address = {Amsterdam},
+ language = {english},
+ isbn = {0-7204-0246-8}
+}
+
+@Book{kaliszky1984a,
+ author = {Kaliszky, S.},
+ title = {Plastizit"atslehre},
+ publisher = {VDI"=Verlag},
+ year = 1984,
+ address = {D"usseldorf},
+ language = {ngerman},
+ isbn = {3-18-400447-3}
+}
+
+@Article{kathuria2001a,
+ author = {Kathuria, Y.{\,}P.},
+ title = {Laser Assisted Foaming of Aluminum},
+ journal = {Advanced Engineering Materials},
+ year = 2001,
+ volume = 3,
+ number = 9,
+ pages = {702--705},
+ language = {english}
+}
+
+@Book{kausch1983a,
+ editor = {Kausch, H.-H.},
+ title = {Crazing in Polymers, Vol.~1},
+ publisher = {Springer-Verlag},
+ year = 1983,
+ volume = {52/53},
+ series = {Advances in Polymer Science},
+ address = {Berlin},
+ language = {english},
+ isbn = {3-540-12571-X}
+}
+
+@Book{kausch1990a,
+ editor = {Kausch, H.-H.},
+ title = {Crazing in Polymers, Vol.~2},
+ publisher = {Springer-Verlag},
+ year = 1990,
+ volume = {91/92},
+ series = {Advances in Polymer Science},
+ language = {english},
+ isbn = {3-540-51306-X}
+}
+
+@Book{kittel1999a,
+ author = {Kittel, Ch.},
+ title = {Einf"uhrung in die Festk"orperphysik},
+ publisher = {R. Oldenbourg Verlag},
+ year = 1999,
+ address = {M"unchen},
+ edition = {12.},
+ language = {ngerman},
+ isbn = {3-486-23843-4}
+}
+
+@Article{ko1965a,
+ author = {Ko, W.{\,}L.},
+ title = {Deformations of Foamed Elastomers},
+ journal = {Journal of CELLULAR PLASTICS},
+ year = 1965,
+ pages = {45--50},
+ month = {January},
+ language = {english}
+}
+
+@Article{kottar2000a,
+ author = {Kottar, A. and Degischer, H.{\,}P. and Kriszt, B.},
+ title = {R\"ontgen-Computertomographie zur Charakterisierung von
+ zellularem Aluminium und seiner Verformung},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {465--469},
+ language = {ngerman}
+}
+
+@InProceedings{kretz1999a,
+ author = {Kretz, R. and Hombergsmeier, E. and Eipper, K.},
+ title = {Manufacturing and testing of aluminium foam structural parts
+ for passenger cars demonstrated by example of a rear
+ intermediate panel},
+ booktitle = {Metal Foams and Porous Metal Structures},
+ pages = {23--38},
+ year = 1999,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ address = {Bremen},
+ publisher = {MIT-Verlag},
+ language = {english}
+}
+
+@Article{kretz2000a,
+ author = {Kretz, R. and Wolfsgruber, E.},
+ title = {Potential des Alulight Verfahrens zur Herstellung von
+ dreidimensionalen Net Shape Schaumaluminiumbauteilen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {400--402},
+ language = {ngerman}
+}
+
+@TechReport{kriszt1997a,
+ author = {Kriszt, B. and Ashby, M.{\,}F.},
+ title = {Structure and Properties of Nickel Foams},
+ institution = {University of Cambridge},
+ year = 1997,
+ number = {CUED/C-MATS/TR240},
+ language = {english}
+}
+
+@Article{kriszt2000a,
+ author = {Kriszt, B. and Kraft, O. and Clemens, H.},
+ title = {Mikrostruktureigenschaften von Alporas Schaum in
+ Abh\"angigkeit von thermisch mechanischer Belastung},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {478--480},
+ language = {ngerman}
+}
+
+@Article{kumar1994a,
+ author = {Kumar, S. and Kurtz, S.{\,}K.},
+ title = {Simulation of Material Microstructure Using a 3D Voronoi
+ Tesselation: Calculation of Effective Thermal Expansion
+ Coefficient of Polycrystalline Materials},
+ journal = {Acta metallurgica et materialia},
+ year = 1994,
+ volume = 42,
+ number = 12,
+ pages = {3917--3927},
+ language = {english}
+}
+
+@Article{kunz2001a,
+ author = {Kunz, L. and Luk\'a\v{s}, P. and Weiss, B. and Melisova, D.},
+ title = {Effect of loading history on cyclic stress-strain response},
+ journal = {Materials Science and Engineering},
+ year = 2001,
+ volume = {A~314},
+ pages = {1--6},
+ language = {english}
+}
+
+@Book{landau1997a,
+ author = {Landau, L.{\,}D. and Lifschitz, E.{\,}M.},
+ title = {Lehrbuch der theoretischen Physik},
+ publisher = {Verlag Harri Deutsch},
+ year = 1997,
+ volume = {Bd.{\,}2: Klassische Feldtheorie},
+ edition = {12.},
+ language = {ngerman},
+ isbn = {3-8171-1327-7}
+}
+
+@Article{lange1974a,
+ author = {Lange, G.},
+ title = {Vereinfachte Ermittlung der Flie"skurve metallischer
+ Werkstoffe im Zugversuch w"ahrend der Einschn"urung der
+ Proben},
+ journal = {Archiv f"ur das Eisenh"uttenwesen},
+ year = 1974,
+ volume = 45,
+ number = 11,
+ pages = {809--812},
+ month = {November},
+ language = {ngerman}
+}
+
+@Book{lange1992a,
+ editor = {Lange, G.},
+ title = {Systematische Beurteilung technischer Schadensf"alle},
+ publisher = {Wiley-VCH},
+ year = 2001,
+ address = {Weinheim},
+ edition = {5.},
+ language = {ngerman},
+ isbn = {3-527-30417-7}
+}
+
+@InProceedings{lankford1998a,
+ author = {Lankford, J., Jr. and Dannemann, K.{\,}A.},
+ title = {Strain Rate Effects in Porous Materials},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {103--108},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+@Article{lederman1971a,
+ author = {Lederman, J.{\,}M.},
+ title = {The Prediction of the Tensile Properties of Flexible Foams},
+ journal = {Journal of Applied Polymer Science},
+ year = 1971,
+ volume = 15,
+ pages = {693--703},
+ language = {english}
+}
+
+@InCollection{lehman1991a,
+ author = {Lehman, R.{\,}L.},
+ title = {Overview of Ceramic Design and Process Engineering},
+ booktitle = {Ceramics and Glasses},
+ pages = {29--37},
+ publisher = {ASM International},
+ year = 1991,
+ editor = {Schneider, Samuel J.},
+ volume = 4,
+ series = {Engineered Materials Handbook},
+ language = {english},
+ isbn = {0-87170-282-7}
+}
+
+@Article{lehmhus2000a,
+ author = {Lehmhus, D. and Marschner, C. and Banhart, J.},
+ title = {Einflu\ss{} von W\"armebehandlungen auf Gef\"uge und
+ Festigkeitseigenschaften von Aluminiumsch\"aumen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {474--477},
+ language = {ngerman}
+}
+
+@Article{lehmhus2002a,
+ author = {Lehmhus, D. and Banhart, J. and Rodriguez-Perez, M.{\,}A.},
+ title = {Adaptation of aluminium foam properties by means of
+ precipitation hardening},
+ journal = {Materials Science and Technology},
+ year = 2002,
+ volume = 18,
+ month = {May},
+ language = {english}
+}
+
+@InProceedings{leitlmeier2000a,
+ author = {Leitlmeier, D. and Flankl, H.},
+ title = {Vergleich der Herstellverfahren von Aluminiumschaum unter
+ dem Aspekt zuk"unftiger industrieller
+ Anwendungsm"oglichkeiten},
+ booktitle = {1.~Ranshofer Leichtmetalltage:
+ Vom Werkstoff zum Bauteilsystem},
+ pages = {155--167},
+ year = 2000,
+ editor = {Kaufmann, U. and Uggowitzer, P.{\,}J.},
+ month = {Mai},
+ language = {ngerman}
+}
+
+@InBook{lemaitre2001a,
+ editor = {Lemaitre, J.},
+ title = {Handbook of Materials Behavior Models},
+ chapter = {Damage mechanisms in amorphous glassy polymers: crazing},
+ publisher = {Harcourt Publishers},
+ year = 2001,
+ language = {english},
+ isbn = {0-12-443341-3}
+}
+
+@Article{loethman2000a,
+ author = {L\"othman, P.{\,}A. and Andersen, O. and Gr\"under, J. and
+ Landgraf, G.},
+ title = {Mechanische Eigenschaften metallischer Hohlkugelformk\"orper
+ und Charakterisierung ihrer Zellwandeigenschaften},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {529--530},
+ language = {ngerman}
+}
+
+@Article{lukas2002a,
+ author = {Luk\'{a}\v{s}, P. and Kunz, L.},
+ title = {Specific features of high-cycle and ultra-high-cycle
+ fatigue},
+ journal = {Fatigue and fracture of engineering materials and
+ structures},
+ year = 2002,
+ volume = 25,
+ number = 8,
+ pages = {747--753},
+ language = {english}
+}
+
+@Book{macherauch1990a,
+ author = {Macherauch, E.},
+ title = {Praktikum in Werkstoffkunde},
+ publisher = {Vieweg Verlagsgesellschaft},
+ year = 1990,
+ address = {Braunschweig},
+ edition = {9.},
+ language = {ngerman},
+ isbn = {3-528-83306-8}
+}
+
+@Article{magnin2001a,
+ author = {Magnin, T. and Bosch, C. and Wolski, K. and Delafosse, D.},
+ title = {Cyclic plastic deformation behaviour of {Ni} single crystal
+ oriented for single slip as a function of hydrogen content},
+ journal = {Materials Science and Engineering},
+ year = 2001,
+ volume = {A\,314},
+ pages = {7--11},
+ language = {english}
+}
+
+@Article{maire2001a,
+ author = {Maire, E. and Buffi\`ere, J.-Y. and Salvo, L.},
+ title = {On the Application of X-ray Microtomography in the Field
+ of Materials Science},
+ journal = {Advanced Engineering Materials},
+ year = 2001,
+ volume = 3,
+ number = 8,
+ pages = {539--546},
+ language = {english}
+}
+
+@InProceedings{margevicius1998a,
+ author = {Margevicius, R.{\,}W. and Stanek, P.{\,}W. and Jacobson, L.{\,}A.},
+ title = {Effects of Thermomechanical Processing on the Resulting
+ Mechanical Properties of 6101 Aluminium Foam},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {65--70},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+@Article{markaki2001a,
+ author = {Markaki, A.{\,}E. and Clyne, T.{\,}W.},
+ title = {The Effect of Cell Wall Microstructure on the Deformation and
+ Fracture of Aluminium-Based Foams},
+ journal = {Acta Materialia},
+ year = 2001,
+ volume = 49,
+ pages = {1677--1686},
+ language = {english}
+}
+
+@Article{maurer2000a,
+ author = {Maurer, M. and Lugscheider, E.},
+ title = {Erh\"ohung und Charakterisierung der Festigkeit von
+ Metallsch\"aumen f\"ur lasttragende Anwendungen durch
+ thermisch gespritzte Verbundstrukturen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {523--526},
+ language = {ngerman}
+}
+
+@Article{mcclintock1968a,
+ author = {McClintock, F.{\,}A.},
+ title = {A Criterion for Ductile Fracture by the Growth of Holes},
+ journal = {Journal of Applied Mechanics},
+ year = 1968,
+ pages = {363--371},
+ month = {June},
+ language = {english}
+}
+
+@Book{mccrum1988a,
+ author = {McCrum, N.{\,}G. and Buckley, C.{\,}P. and Bucknall, C.{\,}B.},
+ title = {Principles of Polymer Engineering},
+ publisher = {Oxford University Press},
+ year = 1988,
+ language = {english},
+ isbn = {0-19-856152-0}
+}
+
+@Article{mccullough2000a,
+ author = {McCullough, K.{\,}Y.{\,}G. and Fleck, N.{\,}A. and Ashby, M.{\,}F.},
+ title = {The stress-life fatigue behaviour of aluminium alloy foams},
+ journal = {Fatigue \&\ fracture of engineering materials \&\
+ structures},
+ year = 2000,
+ volume = 23,
+ number = 3,
+ pages = {199--208},
+ language = {english},
+ issn = {0160-4112}
+}
+
+@Misc{mems1997a,
+ key = {mems},
+ title = {MEMS Material Database},
+ howpublished = {http://www.memsnet.org},
+ year = 1997,
+ language = {english}
+}
+
+@Article{menges1975a,
+ author = {Menges, G. and Knipschild, F.},
+ title = {Estimation of Mechanical Properties for Rigid Polyurethane
+ Foams},
+ journal = {Polymer Engineering and Science},
+ year = 1975,
+ volume = 15,
+ number = 8,
+ pages = {623--627},
+ month = {August},
+ language = {english}
+}
+
+@Misc{mepura1997a,
+ key = {MEPURA},
+ title = {MEPURA: "`Alulight"'},
+ howpublished = {Firmenschrift der MEPURA-Metallpulver GmbH},
+ month = {April},
+ year = 1997,
+ note = {Ranshofen, "Osterreich},
+ language = {ngerman}
+}
+
+@Book{merkel2000a,
+ author = {Merkel, M. and Thomas, K.-H.},
+ title = {Taschenbuch der Werkstoffe},
+ publisher = {Fachbuchverlag Leipzig},
+ year = 2000,
+ edition = {5.},
+ language = {ngerman},
+ isbn = {3-446-21410-0}
+}
+
+@InCollection{miyayama1991a,
+ author = {Miyayama, M. and Koumoto, K. and Yanagida, H.},
+ title = {Engineering Properties of Single Oxides},
+ booktitle = {Ceramics and Glasses},
+ pages = {748--757},
+ publisher = {ASM International},
+ year = 1991,
+ editor = {Schneider, Samuel J.},
+ volume = 4,
+ series = {Engineered Materials Handbook},
+ language = {english},
+ isbn = {0-87170-282-7}
+}
+
+@Article{miyoshi2000a,
+ author = {Miyoshi, T. and Itoh, M. and Akiyama, S. and Kitahara, A.},
+ title = {{ALPORAS} Aluminium Foam: Production Process, Properties,
+ and Applications},
+ journal = {Advanced Engineering Materials},
+ year = 2000,
+ volume = 2,
+ number = 4,
+ pages = {179--183},
+ language = {english}
+}
+
+@Unpublished{moehrmann2001a,
+ author = {M\"ohrmann, C. and Jung, A. and Woldt, E.},
+ title = {The Packing Density of Randomly Packed Spheres and the
+ Structural Stability of Metallic Glasses},
+ note = {abgelehnt von Elsevier Science},
+ year = 2001,
+ language = {english}
+}
+
+@InCollection{moet1988a,
+ author = {Moet, A. and Aglan, H.},
+ title = {Fatigue Failure},
+ booktitle = {Engineering Plastics},
+ pages = {741--750},
+ publisher = {ASM International},
+ year = 1988,
+ editor = {Epel, J.{\,}N.},
+ volume = 2,
+ series = {Engineered Materials Handbook},
+ language = {english},
+ isbn = {0-87170-279-7}
+}
+
+@Article{mohr2000a,
+ author = {Mohr, U. and Bleck, W. and Scholz P.-F.},
+ title = {Metallic Foams Produced by Slipcasting},
+ journal = {Advanced Engineering Materials},
+ year = 2000,
+ volume = 4,
+ number = {1--2},
+ pages = {28--33},
+ language = {english}
+}
+
+@Article{mosler2000a,
+ author = {Mosler, U. and Heinzel, G. and Martin, U. and Oettel, H.},
+ title = {Mikrostruktur und Verformungsverhalten von
+ Aluminium-Sch\"aumen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {519--522},
+ language = {ngerman}
+}
+
+@Unpublished{mosler2000b,
+ author = {Mosler, U.},
+ title = {Mikrostrukturuntersuchungen von AlSi\,7-Schaum},
+ note = {Vortrag beim Arbeitskreistreffen \emph{Quantitative
+ Gef\"ugebestimmung} des DFG-SPP~1075 am 29. und 30.{\,}03.~2000,
+ unver"offentlicht, Institut f\"ur Metallkunde,
+ TU~Bergakademie Freiberg},
+ year = 2000,
+ language = {ngerman}
+}
+
+@Article{mosler2001a,
+ author = {Mosler, U. and M\"uller, A.},
+ title = {Gef\"ugeinterpretation von Aluminium-Sch"aumen},
+ journal = {Praktische Metallographie (Sonderb"ande)},
+ year = 2001,
+ volume = 32,
+ pages = {279--284},
+ language = {ngerman}
+}
+
+@InProceedings{mosler2001b,
+ author = {Mosler, U. and M\"uller, A. and Baum, H. and Martin, U. and
+ Oettel, H.},
+ title = {Microstructure of the Foamable Precursor and Foamed Aluminium
+ Material},
+ booktitle = {Cellular Metals and Metal Foaming Technology},
+ pages = {233--238},
+ year = 2001,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ address = {Bremen},
+ publisher = {Verlag MIT Publishing},
+ language = {english},
+ isbn = {3-935538-11-1}
+}
+
+@Misc{mosler2001c,
+ author = {Mosler, U.},
+ title = {LiMi-Aufnahmen von AlSi\,7},
+ howpublished = {E-Mail an Knut Hupfer},
+ month = {August},
+ year = 2001,
+ language = {ngerman}
+}
+
+@Unpublished{moslera,
+ author = {Mosler, U. and M\"uller, A. and Baum, H. and Martin, U.
+ and Oettel, H.},
+ title = {Microstructure of the foamable precursor and foamed
+ aluminium material},
+ note = {TU Freiberg},
+ language = {english}
+}
+
+@Article{motz2000a,
+ author = {Motz, C. and Pippan, R.},
+ title = {Bruchz\"ahigkeit und Ri"sfortschritt in den Zellw\"anden
+ von Schaumaluminium},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {493--496},
+ language = {ngerman}
+}
+
+@Article{motz2001a,
+ author = {Motz, C. and Pippan, R.},
+ title = {Deformation Behaviour of Closed-Cell Aluminium Foams in
+ Tension},
+ journal = {Acta Materialia},
+ year = 2001,
+ volume = 49,
+ pages = {2463--2470},
+ language = {english}
+}
+
+@Article{motz2002a,
+ author = {Motz, C. and Pippan, R.},
+ title = {Fracture behaviour and fracture toughness of ductile
+ closed-cell metallic foams},
+ journal = {Acta Materialia},
+ year = 2002,
+ volume = 50,
+ pages = {2013--2033},
+ language = {english}
+}
+
+@PhdThesis{mueller1983a,
+ author = {M"uller, H.},
+ title = {Flie"sspannung von Zink in Abh"angigkeit von
+ Korngr"o"se,
+ Beanspruchungsrichtung und Verformungsgrad},
+ school = {Technische Universit"at Braunschweig},
+ year = 1983,
+ type = {Dissertation},
+ language = {ngerman}
+}
+
+@Unpublished{muellera,
+ author = {M\"uller, A. and Mosler, U.},
+ title = {Gef\"ugeinterpretation von Aluminium-Sch\"aumen},
+ note = {Institut f\"ur Metallkunde, TU Bergakademie Freiberg.
+ Ist es vielleicht in Sonderb\"ande der Praktischen
+ Metallographie 32 (2001) 279},
+ language = {ngerman}
+}
+
+@Article{muench2000a,
+ author = {M\"unch, M. and Schlimmer, M.},
+ title = {Ermittlung mechanischer Kennwerte von Aluminiumsch\"aumen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {544--546},
+ language = {ngerman}
+}
+
+@Book{munz1989a,
+ author = {Munz, D. and Fett, T.},
+ title = {Mechanisches Verhalten keramischer Werkstoffe},
+ publisher = {Springer"=Verlag},
+ year = 1989,
+ address = {Berlin},
+ language = {ngerman},
+ isbn = {3-540-51508-9}
+}
+
+@Book{nadgornyi1988a,
+ author = {Nadgornyi, E.},
+ title = {Dislocation dynamics and mechanical properties of crystals},
+ publisher = {Pergamon Press},
+ year = 1988,
+ volume = 31,
+ series = {Progress in materials science},
+ address = {Oxford},
+ edition = {1.},
+ language = {english},
+ isbn = {0-08-036864-6}
+}
+
+@Book{nadgronyi1988a,
+ author = {Nadgornyi, E.{\,}M.},
+ title = {Dislocation dynamics and mechanical properties of crystals},
+ publisher = {Pergamon Press},
+ year = 1988,
+ volume = 31,
+ series = {Progress in materials science},
+ address = {Oxford},
+ language = {english},
+ isbn = {0-08-036864-6}
+}
+
+@Book{neuber1985a,
+ author = {Neuber, H.},
+ title = {Kerbspannungslehre},
+ publisher = {Springer"=Verlag},
+ year = 1985,
+ address = {Berlin},
+ edition = {3.},
+ language = {ngerman},
+ isbn = {3-540-13558-8}
+}
+
+@InProceedings{neugebauer1998a,
+ author = {Neugebauer, R. and Hipke, Th.},
+ title = {Parameters of Construction for Applications of Metal Foams},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {265--270},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+@InProceedings{neugebauer1998b,
+ author = {Neugebauer, R. and Br\"aunlich, H. and Wagner, U.},
+ title = {Lightweight Products with Metal Foam---Properties and
+ Methods of Processing},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {271--278},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+@Article{neugebauer2000a,
+ author = {Neugebauer, R. and Wagner, U.},
+ title = {Strukturanalyse von Metallsch\"aumen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {462--464},
+ language = {ngerman}
+}
+
+@Misc{newprocess2000a,
+ key = {AAA},
+ title = {Foam Metal Developed with New Process},
+ howpublished = {Japan Chemical Week},
+ month = {June 15},
+ year = 2000,
+ language = {english}
+}
+
+@InProceedings{olurin1999a,
+ author = {Olurin, O.{\,}B. and Fleck, N.{\,}A. and Ashby, M.{\,}F.},
+ title = {Fatigue of an aluminium alloy foam},
+ booktitle = {Metal Foams and Porous Metal Structures},
+ pages = {365--371},
+ year = 1999,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ publisher = {MIT Verlag},
+ language = {english}
+}
+
+@Article{olurin2001a,
+ author = {Olurin, O.{\,}B. and Fleck, N.{\,}A. and Ashby, M.{\,}F.},
+ title = {Tensile and Compressive Failure of Notched Cellular Foams},
+ journal = {Advanced Engineering Materials},
+ year = 2001,
+ volume = 3,
+ number = {1--2},
+ pages = {55--58},
+ language = {english}
+}
+
+@Article{olurin2002a,
+ author = {Olurin, O.{\,}B. and Arnold, M. and K\"orner, C. and
+ Singer, R.{\,}F.},
+ title = {The investigation of morphometric parameters of aluminium
+ foams using micro-computed tomography},
+ journal = {Materials Science and Engineering},
+ year = 2002,
+ volume = {A~328},
+ pages = {334--343},
+ language = {english}
+}
+
+@Article{onck2001a,
+ author = {Onck, P.{\,}R. and Andrews, E.{\,}W. and Gibson, L.{\,}J.},
+ title = {Size effects in ductile cellular solids. Part~I: modeling},
+ journal = {International Journal of Mechanical Sciences},
+ year = 2001,
+ volume = 43,
+ pages = {681--699},
+ language = {english}
+}
+
+
+@InCollection{ownby1991a,
+ author = {Ownby, P.{\,}D. and Stewart, R.{\,}W.},
+ title = {Engineering Properties of Diamond and Graphite},
+ booktitle = {Ceramics and Glasses},
+ pages = {821--834},
+ publisher = {ASM International},
+ year = 1991,
+ editor = {Schneider, Samuel J.},
+ volume = 4,
+ series = {Engineered Materials Handbook},
+ language = {english},
+ isbn = {0-87170-282-7}
+}
+
+
+@Book{podesta1996a,
+ author = {de Podesta, M.},
+ title = {Understanding the Properties of Matter},
+ publisher = {UCL Press},
+ year = 1996,
+ address = {London},
+ language = {english},
+ isbn = {1-85728-299-X}
+}
+
+
+@Article{poeppe1999a,
+ author = {P"oppe, C.},
+ title = {Der Beweis der Keplerschen Vermutung},
+ journal = {Spektrum der Wissenschaft},
+ year = 1999,
+ volume = 4,
+ language = {ngerman}
+}
+
+
+@Book{polmear1995a,
+ author = {Polmear, I.{\,}J.},
+ title = {Light Alloys},
+ publisher = {Arnold},
+ year = 1995,
+ series = {Metallurgy and Materials Science Series},
+ address = {London},
+ edition = {3.},
+ language = {english},
+ isbn = {0-340-63207-0}
+}
+
+
+@Book{prager1961a,
+ author = {Prager, W.},
+ title = {Einf"uhrung in die Konitnuumsmechanik},
+ publisher = {Birkh"auser Verlag},
+ year = 1961,
+ volume = 20,
+ series = {Lehr- und Handb"ucher der Ingenieurwissenschaften},
+ address = {Basel},
+ language = {ngerman}
+}
+
+
+@Article{quelheillalt2002a,
+ author = {Queheillalt, D.{\,}T. and Sypeck, D.{\,}J. and Wadley, H.{\,}N.{\,}G.},
+ title = {Ultrasonic characterization of cellular metal structures},
+ journal = {Materials Science and Engineering},
+ year = 2002,
+ volume = {A~323},
+ pages = {138--147},
+ language = {english}
+}
+
+
+@Article{rabiei2000a,
+ author = {Rabiei, A. and Evans, A.{\,}G. and Hutchinson, J.{\,}W.},
+ title = {Heat Generation During the Fatigue of a Cellular {Al} Alloy},
+ journal = {Metallurgical and materials transactions},
+ year = 2000,
+ volume = 31,
+ number = 4,
+ pages = {1129--1136},
+ language = {english},
+ issn = {1073-5623}
+}
+
+
+@Book{radaj1995a,
+ author = {Radaj, D.},
+ title = {Erm"udungsfestigkeit},
+ publisher = {Springer"=Verlag},
+ year = 1995,
+ address = {Berlin},
+ language = {ngerman},
+ isbn = {3-540-58348-3}
+}
+
+
+@Article{rausch2000a,
+ author = {Rausch, G. and Hartwig, T. and Weber, M. and Schulz, O.},
+ title = {Herstellung und Eigenschaften von Titansch\"aumen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {412--414},
+ language = {ngerman}
+}
+
+
+@Article{rausch2000b,
+ author = {Rausch, G. and Weber, M. and Kn\"uwer, M.},
+ title = {Neue Entwicklungen zur Herstellung von Stahlsch\"aumen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {424--427},
+ language = {ngerman}
+}
+
+
+@Book{reckling1967a,
+ author = {Reckling, K.-A.},
+ title = {Plastizit"atstheorie und ihre Anwendung auf
+ Festigkeitsprobleme},
+ publisher = {Springer"=Verlag},
+ year = 1967,
+ address = {Berlin},
+ language = {ngerman}
+}
+
+
+@Book{reif1987a,
+ author = {Reif, F.},
+ title = {Statistische Physik und Theorie der W"arme},
+ publisher = {De Gruyter},
+ year = 1987,
+ edition = {3.},
+ language = {ngerman},
+ isbn = {3-11-011383-X}
+}
+
+
+@InProceedings{renauld1998a,
+ author = {Renauld, M.{\,}L. and Giamei, A.{\,}F. and Thompson, M.{\,}S. and
+ Priluck, J.},
+ title = {The Effect of Parent Metal Properties on the Performance
+ of Lattice Block Material},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {109--117},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+
+@Book{rhines1956a,
+ author = {Rhines, F.{\,}N.},
+ title = {Phase Diagrams in Metallurgy},
+ publisher = {McGraw-Hill Book Company},
+ year = 1956,
+ series = {Metallurgy and Metallurgical Engineering Series},
+ address = {New York},
+ language = {english}
+}
+
+
+@Article{rice1968a,
+ author = {Rice, J.{\,}R.},
+ title = {A Path Independent Integral and the Approximate Analysis
+ of Strain Concentration by Notches and Cracks},
+ journal = {Journal of Applied Mechanics},
+ year = 1968,
+ pages = {379--386},
+ month = {June},
+ language = {english}
+}
+
+
+@Book{riedel1990a,
+ author = {Riedel, E.},
+ title = {Allgemeine und Anorganische Chemie},
+ publisher = {Walter de Gruyter},
+ year = 1990,
+ address = {Berlin},
+ edition = {5.},
+ language = {ngerman},
+ isbn = {3-11-012586-2}
+}
+
+
+@Article{rinebolt1951a,
+ author = {Rinebolt, J.{\,}A. and Harris, W.{\,}J., Jr.},
+ title = {Effect of Alloying Elements on Notch Toughness of
+ Pearlitic Steels},
+ journal = {Transactions of the American Society of Metals},
+ year = 1951,
+ volume = 43,
+ pages = {1175--1202},
+ language = {english}
+}
+
+
+@Article{roberts2001a,
+ author = {Roberts, A.{\,}P. and Garboczi, E.{\,}J.},
+ title = {Elastic Moduli of Model Random Three-Dimensional
+ Closed-Cell Cellular Solids},
+ journal = {Acta Materialia},
+ year = 2001,
+ volume = 49,
+ pages = {189--197},
+ language = {english}
+}
+
+
+@Article{roberts2002a,
+ author = {Roberts, A.{\,}P. and Garboczi, E.{\,}J.},
+ title = {Elastic properties of model random three-dimensional
+ open-cell solids},
+ journal = {Journal of the Mechanics and Physics of Solids},
+ year = 2002,
+ volume = 50,
+ pages = {35--55},
+ language = {english}
+}
+
+
+@Article{roesler1992a,
+ author = {R\"osler, J. and Joos, R. and Arzt, E.},
+ title = {Microstructure and Creep Properties of
+ Dispersion-Strengthened Aluminium Alloys},
+ journal = {Metallurgical Transactions A},
+ year = 1992,
+ volume = {23\,A},
+ pages = {1521--1539},
+ month = {May},
+ language = {english}
+}
+
+
+@Book{roesler2003a,
+ editor = {R{\"o}sler, J. and Harders, H. and B{\"a}ker, M.},
+ title = {Mechanisches Verhalten der Werkstoffe},
+ publisher = {Teubner-Verlag},
+ edition = {1.},
+ year = 2003,
+ language = {ngerman}
+}
+
+
+@Book{ruge2001a,
+ author = {Ruge, J. and Wohlfahrt, H.},
+ title = {Technologie der Werkstoffe},
+ publisher = {Vieweg Verlag},
+ year = 2001,
+ address = {Braunschweig},
+ edition = {6.},
+ language = {ngerman},
+ isbn = {3-528-53021-9}
+}
+
+
+@InProceedings{saenz1998a,
+ author = {Saenz, E. and Baranda, P.{\,}S. and Bonhomme, J.},
+ title = {Shear Properties on Aluminium Metal Foams Prepared by
+ the Melt Route},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {83--89},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+
+@Book{salmang1982a,
+ author = {Salmang, H. and Scholze, H.},
+ title = {Keramik, Teil 1},
+ publisher = {Springer"=Verlag},
+ year = 1982,
+ address = {Berlin},
+ edition = {6.},
+ language = {ngerman},
+ isbn = {3-540-10987-0}
+}
+
+
+@Book{salmang1983a,
+ author = {Salmang, H. and Scholze, H.},
+ title = {Keramik, Teil 2},
+ publisher = {Springer"=Verlag},
+ year = 1983,
+ address = {Berlin},
+ edition = {6.},
+ language = {ngerman},
+ isbn = {3-540-12595-7}
+}
+
+
+@InProceedings{sanders1998a,
+ author = {Sanders, W. and Gibson, L.{\,}J.},
+ title = {Reduction in Young's Modulus of Aluminum Foams Due to
+ Cell Wall Curvature and Corrugation},
+ booktitle = {Porous and Cellular Material for Structural Applications},
+ pages = {53--57},
+ year = 1998,
+ volume = 521,
+ organization = {Materials Research Society},
+ language = {english}
+}
+
+
+@Article{santosa1998a,
+ author = {Santosa, S. and Wierzbicki, T.},
+ title = {On the modeling of crush behavior of a closed-cell
+ aluminium foam structure},
+ journal = {Journal of the Mechanics and Physics of Solids},
+ year = 1998,
+ volume = 46,
+ pages = 645,
+ language = {english}
+}
+
+
+@PhdThesis{sass1997a,
+ author = {Sa"s, V.},
+ title = {Untersuchung der Anisotropie im Kriechverhalten der
+ einkristallinen Nickelbasis"=Superlegierung CMSX"~4},
+ school = {TU Berlin},
+ year = 1997,
+ type = {Dissertation},
+ language = {ngerman},
+ isbn = {3-89574-236-8}
+}
+
+
+@Article{sassov2000a,
+ author = {Sassov, A. and Cronelis, E. and Van Dyck, D.},
+ title = {Non destructive 3-D Investigation of Metal Foam
+ Microstructure},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {571--573},
+ language = {english}
+}
+
+
+@PhdThesis{schacht2001a,
+ author = {Schacht, T.},
+ title = {Orientierungsabh"angige Rissbildung in duktilen Metallen},
+ school = {TU~Braunschweig},
+ year = {2001},
+ type = {Dissertation},
+ address = {Braunschweiger Schriften zur Mechanik, Nr.~42-2001,
+ Mechanik-Zentrum der TU Braunschweig},
+ language = {ngerman}
+}
+
+
+@Book{schatt1996a,
+ editor = {Schatt, W. and Worch, H.},
+ title = {Werkstoffwissenschaft},
+ publisher = {Deutscher Verlag f"ur Grundstoffindustrie},
+ year = 1996,
+ address = {Stuttgart},
+ language = {ngerman},
+ isbn = {3-527-30956-X}
+}
+
+
+@Book{schimpke1977a,
+ author = {Schimpke, P. and Schropp, H. and K\"onig, R.},
+ title = {Technologie der Maschinenbaustoffe:
+ Werkstoffkunde, Werkstoffpr\"ufung, Werkstoffverarbeitung},
+ publisher = {Hirzel},
+ year = 1977,
+ address = {Stuttgart},
+ edition = {18.},
+ language = {ngerman},
+ isbn = {3-7776-0312-0}
+}
+
+
+@Article{schlums1992a,
+ author = {Schlums, H. and Steck, E.},
+ title = {Description of Cyclic Deformation Processes With a
+ Stochastic Model for Inelastic Behaviour of Metals},
+ journal = {International Journal of Plasticity},
+ year = 1992,
+ volume = 8,
+ pages = {147--159},
+ language = {english}
+}
+
+
+@InProceedings{schneider1990a,
+ author = {Schneider, K.},
+ title = {Advanced Blading},
+ booktitle = {High Temperature Materials for Power Engineering 1990~--
+ Part~{II}},
+ pages = {935--954},
+ year = 1990,
+ editor = {Bauchelet, E. and others},
+ address = {Dordrecht},
+ publisher = {Kluwer Academic Publishers},
+ language = {english}
+}
+
+
+@Book{schott1997a,
+ editor = {Schott, G.},
+ title = {Werkstofferm"udung~-- Erm"udungsfestigkeit},
+ publisher = {Deutscher Verlag f"ur Grundstoffindustrie},
+ year = 1997,
+ address = {Stuttgart},
+ edition = {4.},
+ language = {ngerman},
+ isbn = {3-342-00511-4}
+}
+
+
+@Book{schultz1977a,
+ author = {Schultz, J.{\,}M.},
+ title = {Properties of solid polymeric materials~-- Part B},
+ publisher = {Academic Press},
+ year = 1977,
+ volume = 10,
+ series = {Treatise on materials science and technology},
+ address = {New York},
+ language = {english},
+ isbn = {0-12-341841-0}
+}
+
+
+@InProceedings{schultz1999a,
+ author = {Schultz, O. and Ligneris, A. des and Haider, O. and
+ Starke, P.},
+ title = {Fatigue behaviour, Strength and Failure of
+ Aluminium Foam},
+ booktitle = {Metal Foams and Porous Metal Structures},
+ pages = {379--386},
+ year = 1999,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ publisher = {MIT Verlag},
+ language = {english}
+}
+
+
+@Article{schultz2000a,
+ author = {Schultz, O. and Ligneris, A. des and Haider, O. and
+ Starke, P.},
+ title = {Fatigue behaviour, Strength and Failure of
+ Aluminium Foam},
+ journal = {Advanced Engineering Materials},
+ year = 2000,
+ volume = 2,
+ number = 4,
+ pages = {215--218},
+ language = {english}
+}
+
+
+@Article{schultz2000b,
+ author = {Schultz, O. and Schindler, R.},
+ title = {Aluminiumschaum: Dynamische Festigkeit und Anwendung im
+ Hubschrauber},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {511--514},
+ language = {ngerman}
+}
+
+
+@Book{schumann1962a,
+ author = {Schumann, H.},
+ title = {Metallographie},
+ publisher = {VEB Deutscher Verlag f\"ur Grundstoffindustrie},
+ year = 1962,
+ address = {Leipzig},
+ edition = {4.},
+ language = {ngerman}
+}
+
+
+@Book{schwalbe1980a,
+ author = {Schwalbe, K.-H.},
+ title = {Bruchmechanik metallischer Werkstoffe},
+ publisher = {Carl Hanser Verlag},
+ address = {M"unchen},
+ year = 1980,
+ language = {ngerman},
+ isbn = {3-446-12983-9}
+}
+
+
+@Article{schwalbe2001a,
+ author = {Schwalbe, H.-J. and Baumg"artner, F. and Beichelt, Ch.},
+ title = {Investigations on the Failure Behaviour of Aluminium Foams},
+ journal = {ALUMINIUM},
+ year = 2001,
+ volume = {1/2},
+ pages = {87--92},
+ language = {english}
+}
+
+
+@InProceedings{seeliger1997a,
+ author = {Seeliger, H.-W.},
+ title = {Complex Shaped Aluminum Foam Sandwich Panels for
+ Automotive Applications},
+ booktitle = {Proceedings of the Fraunhofer USA Metal Foam Symposium},
+ pages = {79--89},
+ year = 1997,
+ address = {Bremen (Germany)},
+ publisher = {MIT-Verlag},
+ language = {english}
+}
+
+
+@Article{seitzberger2000a,
+ author = {Seitzberger, M. and Willminger, S.},
+ title = {Versagensmechanismen zur Kollapsanalyse axial gedr\"uckter
+ Aluminiumschaum-gef\"ullter Profile},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {459--461},
+ language = {ngerman}
+}
+
+
+@Article{shiozawa2002a,
+ author = {Shiozawa, K. and Lu, L.},
+ title = {Very high-cycle fatigue behaviour of shot-peened
+ high-carbon-chromium bearing steel},
+ journal = {Fatigue and fracture of engineering materials and
+ structures},
+ year = 2002,
+ volume = 25,
+ number = 8,
+ pages = {813--833},
+ language = {english}
+}
+
+
+@Article{silva1995a,
+ author = {Silva, M.{\,}J. and Hayes, W.{\,}C. and Gibson, L.{\,}J.},
+ title = {The effects of non-periodic microstructure on the elastic
+ properties of two-dimensional cellular solids},
+ journal = {International journal of mechanical sciences},
+ year = 1995,
+ volume = 37,
+ number = 11,
+ pages = {1161--1177},
+ language = {english}
+}
+
+
+@Article{silva1997a,
+ author = {Silva, M.{\,}J. and Gibson, L.{\,}J.},
+ title = {The effect of non-periodic microstructure and
+ defects on the compressive strength of
+ two-dimensional cellular solids},
+ journal = {International Journal of Mechanical Sciences},
+ year = 1997,
+ volume = 39,
+ pages = 549,
+ language = {english}
+}
+
+
+@InProceedings{simancik1998a,
+ author = {Siman\v{c}ik, F. and Kov\'a\v{c}ik, J. and Min\'arikov\'a, N.},
+ title = {Bending Properties of Foamed Aluminium Panels and
+ Sandwiches},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {91--97},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+@Article{simone1998a,
+ author = {Simone, A.{\,}E. and Gibson, L.{\,}J.},
+ title = {Aluminium foams produced by liquid-state
+ processes},
+ journal = {Acta Materialia},
+ year = 1998,
+ volume = 46,
+ pages = 3109,
+ language = {english}
+}
+
+@Article{simone1998b,
+ author = {Simone, A.{\,}E. and Gibson, L.{\,}J.},
+ title = {Effects of solid distribution on the stiffness and
+ strength of metallic foams},
+ journal = {Acta Materialia},
+ year = 1998,
+ volume = 46,
+ pages = {2139--2150},
+ language = {english}
+}
+
+@Manual{stahlschluessel1992a,
+ title = {Stahlschl"ussel-Taschenbuch},
+ key = {Stahlschluessel},
+ organization = {Verlag Stahlschl"ussel Wegst GmbH},
+ address = {Marbach/N.},
+ year = 1992,
+ language = {ngerman},
+ isbn = {3-922599-08-7}
+}
+
+@Article{stanzick2000a,
+ author = {Stanzick, H. and Duarte, I. and Banhart, J.},
+ title = {Der Sch\"aumproze\ss{} von Aluminium},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {409--411},
+ language = {ngerman}
+}
+
+@Article{steck1989a,
+ author = {Steck, E.},
+ title = {A Stochastic Model for the Interaction of Plasticity and
+ Creep in Metals},
+ journal = {Nuclear Engineering and Design},
+ year = 1989,
+ volume = 114,
+ pages = {285--294},
+ language = {english}
+}
+
+@Article{steck1991a,
+ author = {Steck, E. and Kublik, F.},
+ title = {Application of Constitutive Models for the Prediction of
+ Multiaxial Inelastic Behaviour},
+ journal = {SMiRT 11 Transactions},
+ year = 1991,
+ volume = {L},
+ language = {english}
+}
+
+@InProceedings{steck1992a,
+ author = {Steck, E.},
+ title = {Stochastic Modelling of Cyclic Deformation Processes in
+ Metals},
+ booktitle = {Proceedings of the 13th Ris\o\ International Symposium on
+ Materials Science: Modelling of Plastic Deformation and
+ Its Engineering Applications},
+ pages = {439--444},
+ year = 1992,
+ editor = {Andersen, S.{\,}I. and Bilde-S\o{}rensen, J.{\,}B. and Hansen, N.
+ and Juul Jensen, D. and Leffers, T. and Lilholt, H. and
+ Lorentzen, T. and Pedersen, O.{\,}B. and Ralph, B.},
+ address = {Roskilde, Denmark},
+ organization = {Ris\o\ National Laboratory},
+ language = {english}
+}
+
+
+
+@Article{steck1995a,
+ author = {Steck, E.},
+ title = {Zur Ber\"ucksichtigung von Vorg\"angen im Mikrobereich
+ metallischer Werkstoffe bei der Entwicklung von
+ Stoffmodellen},
+ journal = {Zeitschrift f\"ur angewandte Mathematik und Mechanik (ZAMM)},
+ year = 1995,
+ volume = 75,
+ number = 5,
+ pages = {331--341},
+ language = {ngerman},
+ issn = {0946-8463}
+}
+
+@InProceedings{steck1995b,
+ author = {Steck, E.},
+ title = {Zur Ber\"ucksichtigung von Vorg\"angen im Mikrobereich
+ kristalliner Werkstoffe bei der Entwicklung von
+ Stoffmodellen},
+ booktitle = {Jahrbuch 1995},
+ pages = {115--130},
+ year = 1995,
+ organization = {Braunschweigische Wissenschaftliche Gesellschaft},
+ language = {ngerman}
+}
+
+@Article{steck1997a,
+ author = {Steck, E.},
+ title = {Zur Berechnung der Ri"sausbreitung in z\"ahen metallischen
+ Werkstoffen},
+ journal = {Abhandlungen der Braunschweigischen Wissenschaftlichen
+ Gesellschaft},
+ year = 1997,
+ volume = {XLVII},
+ pages = {211--229},
+ language = {ngerman}
+}
+
+@InCollection{stevens1991a,
+ author = {Stevens, R.},
+ title = {Engineering Properties of Zirconia},
+ booktitle = {Ceramics and Glasses},
+ pages = {775--786},
+ publisher = {ASM International},
+ year = 1991,
+ editor = {Schneider, Samuel J.},
+ volume = 4,
+ series = {Engineered Materials Handbook},
+ language = {english},
+ isbn = {0-87170-282-7}
+}
+
+@Article{stiebel2001a,
+ author = {Stiebel, C. and W\"urtz, T. and Janocha, H.},
+ title = {Leistungsverst\"arker f\"ur piezoelektrische Aktoren},
+ journal = {Elektronik},
+ year = 2001,
+ volume = 12,
+ pages = {82--88},
+ language = {ngerman}
+}
+
+@Book{stoyan1995a,
+ author = {Stoyan, D. and Kendall, W.{\,}S. and Mecke, J.},
+ title = {Stochastic Geometry and its Applications},
+ publisher = {John Wiley \&\ Sons},
+ year = 1995,
+ address = {Chichester},
+ edition = {2nd},
+ language = {english},
+ isbn = {0-471-95099-8}
+}
+
+
+@Article{stroehla2000a,
+ author = {Str\"ohla, S. and Winter, W. and Kuhn, G.},
+ title = {Numerische Ermittlung elastischer Eigenschaften von
+ Metallsch\"aumen mit Polyeder-Einheitszellen},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {444--446},
+ language = {ngerman}
+}
+
+@Book{stuewe1991a,
+ author = {Stwe, H.-P.},
+ title = {Einf\"uhrung in die Werkstoffkunde},
+ publisher = {B.I.-Wissenschaftsverlag},
+ year = 1991,
+ series = {B.I.-Hochschultaschenbuch},
+ volume = {467},
+ edition = {2.},
+ address = {Mannheim, Wien, Z\"urich},
+ language = {ngerman}
+}
+
+@Article{sugimura1997a,
+ author = {Sugimura, Y. and Meyer, J. and He, M.{\,}Y. and
+ Bart-Smith, H. and Greenstedt, J. and Evans, A.{\,}G.},
+ title = {On the mechanical performance of closed cell {Al} alloy
+ foams},
+ journal = {Acta Materialia},
+ year = 1997,
+ volume = 45,
+ number = 12,
+ pages = {5245--5260},
+ language = {english}
+}
+
+@Article{sugimura1999a,
+ author = {Sugimura, Y. and Rabiei, A. and Evans, A.{\,}G. and
+ Harte, A.{\,}M. and Fleck, N.{\,}A.},
+ title = {Compression fatigue of a cellular {Al} alloy},
+ journal = {Materials Science \&\ Engineering},
+ year = 1999,
+ volume = {A~269},
+ pages = {38--48},
+ language = {english}
+}
+
+@Book{tabellenbuch1999a,
+ author = {Fischer, U. and Heinzler, M. and Kilgus, R. and N"aher, F.
+ and Paetzold, H. and R"ohrer, W. and Schilling, K. and
+ Stephan, A.},
+ title = {Tabellenbuch Metall},
+ publisher = {Verlag Europa-Lehrmittel},
+ year = 1999,
+ address = {Haan-Gruiten},
+ edition = {41.},
+ language = {ngerman},
+ isbn = {3-8085-1721-2}
+}
+
+
+@Book{tada2000a,
+ author = {Tada,H. and Paris, P. and Irwin, G.},
+ title = {The Stress Analysis of Cracks Handbook},
+ publisher = {ASME},
+ year = 2000,
+ address = {New York},
+ language = {english},
+ isbn = {1-86058-304-0}
+}
+
+
+
+
+@Article{tanaka2002a,
+ author = {Tanaka, K. and Akiniwa, Y.},
+ title = {Fatigue crack propagation behaviour derived from S-N
+ data in very high cycle regime},
+ journal = {Fatigue and fracture of engineering materials and
+ structures},
+ year = 2002,
+ volume = 25,
+ number = 8,
+ pages = {775--784},
+ language = {english}
+}
+
+@Book{tenckhoff1980a,
+ author = {Tenckhoff, E.},
+ title = {Verformungsmechanismen, Textur und Anisotropie in
+ Zirkonium und Zircaloy},
+ publisher = {Gebr"uder Borntraeger, Berlin, Stuttgart},
+ year = 1980,
+ series = {Materialkundlich-Technische Reihe~5},
+ language = {ngerman}
+}
+
+@Article{torquato1998a,
+ author = {Torquato, S. and Gibiansky, L.{\,}V. and Silva, M.{\,}J. and
+ Gibson, L.{\,}J.},
+ title = {Effective Mechanical and Transport Properties of Cellular
+ Solids},
+ journal = {International Journal of Mechanical Sciences},
+ year = 1998,
+ volume = 40,
+ number = 1,
+ pages = {71--82},
+ language = {english}
+}
+
+@Article{triantafillou1989a,
+ author = {Triantafillou, T.{\,}C. and Zhang, J. and Shercliff,
+ T.{\,}L. and Gibson, L.{\,}J. and Ashby, M.{\,}F.},
+ title = {Failure surfaces for cellular materials under
+ multiaxial loads -- {II}.~Comparison of models with
+ experiment},
+ journal = {International Journal of Mechanical Sciences},
+ year = 1997,
+ volume = 39,
+ pages = 549,
+ language = {english}
+}
+
+@TechReport{vesper2000a,
+ author = {Vesper, M. and Steck, E.},
+ title = {Customizing ABAQUS Material Subroutines UMAT Incorporating
+ Constitutive Laws for FCC Polycrystalline Metals},
+ institution = {Institut f\"ur Allgemeine Mechanik und Festigkeitslehre,
+ Technische Universi\"at Braunschweig},
+ year = 2000,
+ type = {Technical Report},
+ address = {Braunschweig},
+ language = {english}
+}
+
+@InProceedings{wadley2001a,
+ author = {Wadley, H.{\,}N.{\,}G.},
+ title = {Cellular metals manufacturing: an overview of stochastic
+ and periodic concepts},
+ booktitle = {Cellular Metals and Metal Foaming Technology},
+ pages = {137--146},
+ year = 2001,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ address = {Bremen},
+ publisher = {Verlag MIT Publishing},
+ language = {english},
+ isbn = {3-935538-11-1}
+}
+
+@Article{wallach2001a,
+ author = {Wallach, J.{\,}C. and Gibson, L.{\,}J.},
+ title = {Mechanical behavior of a three-dimensional truss material},
+ journal = {International Journal of Solids and Structures},
+ year = 2001,
+ volume = 38,
+ pages = {7181--7196},
+ language = {english}
+}
+
+
+
+@Article{wallach2001b,
+ author = {Wallach, J.{\,}C. and Gibson, L.{\,}J.},
+ title = {Defect sensitivity of a {3D} truss material},
+ journal = {Scripta Materialia},
+ year = 2001,
+ volume = 45,
+ pages = {639--644},
+ language = {english}
+}
+
+@Article{wanner2000a,
+ author = {Wanner, A. and Kriszt, B.},
+ title = {Charakterisierung des linear-elastischen Verhaltens von
+ Metallsch\"aumen mittels Ultraschall-Phasenspektroskopie},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {481--483},
+ language = {ngerman}
+}
+
+@Article{weaire1994a,
+ author = {Weaire, D. and Fortes, M.{\,}A.},
+ title = {Stress and strain in liquid and solid foams},
+ journal = {Advances in Physics},
+ year = 1994,
+ volume = 43,
+ pages = 685,
+ language = {english}
+}
+
+
+@PhdThesis{weber1995a,
+ author = {Weber, M.},
+ title = {Herstellung von Metallsch\"aumen und Beschreibung der
+ Werkstoffeigenschaften},
+ school = {Technische Universit\"at Clausthal},
+ year = 1995,
+ type = {Dissertation},
+ language = {ngerman}
+}
+
+@InProceedings{weiss1999a,
+ author = {Wei\ss{}, S. and Thielecke, F. and Harders, H.},
+ title = {Ein neuer Ansatz zur Modellierung von Luftdatensystemen},
+ booktitle = {Deutscher Luft- und Raumfahrtkongre\ss{} 1999\,/\,DGLR
+ Jahrestagung 1999},
+ year = 1999,
+ address = {Berlin},
+ month = {27.\,--\,30.\,09.},
+ language = {ngerman}
+}
+
+@Book{wellinger1976a,
+ author = {Wellinger, K. and Dietmann, H.},
+ title = {Festigkeitsberechnung: Grundlagen und technische Anwendung},
+ publisher = {Alfred Kr"oner Verlag},
+ year = 1976,
+ address = {Stuttgart},
+ edition = {3.},
+ language = {ngerman},
+ isbn = {3-520-90303-2}
+}
+
+@Article{westergaard1939a,
+ author = {Westergaard, H.{\,}M.},
+ title = {Bearing Pressures and Cracks},
+ journal = {Journal of Applied Mechanics},
+ year = 1939,
+ volume = 6,
+ pages = {49--53},
+ language = {english}
+}
+
+@MastersThesis{wieding1991a,
+ author = {Wieding, H., v.},
+ title = {Entwicklung eines Programmpaketes zur Berechnung der
+ ertragbaren Spannungen bzw.\ der Lebensdauer bei
+ mehrachsiger Betriebsbeanspruchung auf der Basis der
+ modifizierten Okaederschubspannungshypothese},
+ school = {Institut f"ur Werkstoffe, TU Braunschweig},
+ year = 1991,
+ type = {Studienarbeit},
+ language = {ngerman}
+}
+
+@Unpublished{witzela,
+ author = {Witzel, W. and Drude, H. and Schwarze, R. and B\"uckle, R.
+ and Hagedorn, U. and Otremba, R.},
+ title = {Torsionspr\"ufung mit Laserextensometer zur Messung von
+ Dehnungsverteilungen},
+ language = {ngerman}
+}
+
+@Misc{www.copper.org,
+ key = {CopperPage},
+ title = {The Copper Page},
+ howpublished = {http://www.copper.org},
+ language = {english}
+}
+
+@Article{yamada2000a,
+ author = {Yamada, Y. and Shimojima, K. and Mabuchi, M. and
+ Nakamura, M. and Asahina, T. and Mukai, T. and
+ Kanahashi, H. and Higashi, K.},
+ title = {Compressive deformation behavior of {Al$_2$O$_3$} foam},
+ journal = {Materials Science and Engineering},
+ year = 2000,
+ volume = {A~277},
+ pages = {213--217},
+ language = {english}
+}
+
+@Article{yang2000a,
+ author = {Yang, C.{\,}C. and Nakae, H.},
+ title = {Foam Structure Effect on the Compression Behavior of
+ Foamed Aluminium Alloy},
+ journal = {ISIJ International},
+ year = 2000,
+ volume = 40,
+ number = 12,
+ pages = {1283--1286},
+ language = {english}
+}
+
+@Article{yu1998a,
+ author = {Yu, C.J. and Eifert, H.{\,}H. and Banhart, J. and
+ Baumeister, J.},
+ title = {Metal foaming by a powder metallurgy method: Production,
+ properties and applications},
+ journal = {Materials research innovations},
+ year = 1998,
+ volume = 2,
+ pages = {181--188},
+ language = {english}
+}
+
+@InProceedings{zettl1998a,
+ author = {Zettl, B. and Stanzl-Tschegg, S. and Gradinger, R.
+ and Degischer, H.{\,}P.},
+ title = {High Cycle Fatigue Properties of Aluminium Foams},
+ booktitle = {Porous and Cellular Materials for Structural Applications},
+ pages = {97--102},
+ year = 1998,
+ editor = {Schwartz, D.{\,}S. and Shih, D.{\,}S. and Evans, A.{\,}G. and
+ Wadley, H.{\,}N.{\,}G.},
+ volume = 521,
+ series = {Symposium Proceedings},
+ address = {Warrendale, Pennsylvania},
+ month = {April},
+ publisher = {Materials Research Society},
+ language = {english}
+}
+
+
+@InProceedings{zettl1999a,
+ author = {Zettl, B. and Stanzl-Tschegg, S.},
+ title = {Fatigue of Aluminium Foams at Ultrasonic
+ Frequencies},
+ booktitle = {Metal Foams and Porous Metal Structures},
+ pages = {373--378},
+ year = 1999,
+ editor = {Banhart, J. and Ashby, M.{\,}F. and Fleck, N.{\,}A.},
+ publisher = {MIT Verlag},
+ language = {english}
+}
+
+
+@InProceedings{zettl2000a,
+ author = {Zettl, B. and Stanzl-Tschegg, S.},
+ title = {Er\"udungssch\"aden in Aluminiumschaum},
+ booktitle = {Metallsch\"aume},
+ pages = {484--487},
+ year = 2000,
+ editor = {Degischer, H.{\,}P.},
+ publisher = {Wiley-VCH},
+ language = {ngerman}
+}
+
+@Article{zettl2000b,
+ author = {Zettl, B. and Stanzl-Tschegg, S.},
+ title = {Erm\"udungssch\"aden in Aluminiumschaum},
+ journal = {Materialwissenschaft und Werkstofftechnik},
+ year = 2000,
+ volume = 31,
+ pages = {484--487},
+ language = {ngerman}
+}
+
+@Book{zhang1989a,
+ author = {Zhang, J.},
+ title = {The Mechanics of Foams and Honeycombs},
+ publisher = {University of Cambridge},
+ year = 1989,
+ language = {english}
+}
+
+@Article{zhou2002a,
+ author = {Zhou, J. and Mercer, C. and Soboyejo, W.{\,}O.},
+ title = {An Investigation of the Mictrostructure and Strengh of
+ Open-Cell 6101 Aluminum Foams},
+ journal = {Metallurgical and Materials Transactions A},
+ year = 2002,
+ volume = {33A},
+ pages = {1413--1427},
+ month = {May},
+ language = {english}
+}
+
+@InCollection{ziegler1991a,
+ author = {Ziegler, G.},
+ title = {Engineering Properties of Carbon-Carbon and Ceramic-Matrix
+ Composites},
+ booktitle = {Ceramics and Glasses},
+ pages = {835--844},
+ publisher = {ASM International},
+ year = 1991,
+ editor = {Schneider, Samuel J.},
+ volume = 4,
+ series = {Engineered Materials Handbook},
+ language = {english},
+ isbn = {0-87170-282-7}
+}
+
+@PhdThesis{zorn2002a,
+ author = {Zorn, C.},
+ title = {Plastisch instabile Verformung aufgrund dynamischer
+ Reckalterung und korrelierten Versetzungsgleitens},
+ school = {Mechanik"=Zentrum, TU Braunschweig},
+ year = 2002,
+ type = {Dissertation},
+ language = {ngerman},
+ isbn = {3-920395-45-X}
+}
+
+@PhDThesis{ov-mori-sanchez2002,
+ author = {Mori-S{\'a}nchez, Paula},
+ title = {Densidad electr{\'o}nica y enlace qu{\'\i}mico.
+ {De} la mol{\'e}cula al cristal},
+ year = 2002,
+ month = {Febrero},
+ type = {Tesis Doctoral},
+ school = {Universidad de Oviedo},
+ language = {spanish},
+ url = {http://www.uniovi.es/~quimica.fisica/qcg/pms/tesis.html},
+ }
+
+@MastersThesis{ov-montes2002,
+ author = {Men{\'e}ndez Montes, Jos{\'e} Manuel},
+ title = {Sumas electrost{\'a}ticas en sistemas bidimensionales:
+ Fundamentos, algoritmos y aplicaciones},
+ year = 2002,
+ school = {Universidad de Oviedo},
+ type = {{S}eminario de {I}nvestigaci{\'o}n},
+ note = {Directores: A. Mart{\'\i}n Pend{\'a}s
+ M.{\,}A. Blanco y A. Costales Castro},
+ pages = 127,
+ language = {spanish},
+}
+
+@misc{ov-luana2002,
+ author = {Lua{\~n}a, V{\'\i}ctor},
+ booktitle = {Curso de Espectroscop\'{\i}a Molecular 2002},
+ title = {Curso de Espectroscop\'{\i}a Molecular 2002},
+ year = 2002,
+ abstract = {%
+ Conjunto de 166 transparencias en formato PDF creadas para impartir
+ la asignatura Espectroscop\'{\i}a Molecular correspondiente al
+ tercer a\~{n}o de la Licenciatura en Ciencias Qu\'{\i}micas. Estas
+ transparencias, junto con el resto del material docente desarrollado,
+ est\'{a}n disponibles en el servidor web de la Universidad de Oviedo.
+ },
+ url = {http://www.uniovi.es/~quimica.fisica/qcg/asignaturas.html},
+ language = {spanish},
+}
+
+@Book{ov-LG2002,
+ author = {Lua{\~n}a, V{\'\i}ctor
+ and Garc{\'\i}a Fern{\'a}ndez, V.{\,}M.
+ and Francisco, E.
+ and Recio, J.{\,}M.},
+ title = {Espectroscop\'{\i}a Molecular},
+ year = 2002,
+ publisher = {{S}ervicio de {P}ublicaciones, {U}niversidad de {O}viedo},
+ address = {Oviedo},
+ isbn = {84-8317-273-9},
+ pages = {269+x},
+ note = {269+x p\'{a}gs},
+ language = {spanish},
+}
+
+@Article{ov-PB86,
+ author = {Pueyo, L.
+ and Barandiar{\'a}n, Z.
+ and Fern{\'a}ndez Rodrigo, G.
+ and Fl{\'o}rez, M.
+ and Francisco, E.
+ and Lua{\~n}a, V.
+ and Recio, J.{\,}M.
+ and van der Maelen, F.{\,}J.
+ and Bermejo, M.
+ and Seijo, L.},
+ title = {Algunos problemas en el c\'{a}lculo de la estructura
+ electr\'{o}nica de iones de transici\'{o}n en redes
+ i\'{o}nicas},
+ journal = {Studia Chemica},
+ year = 1986,
+ volume = 11,
+ pages = {285--301},
+ note = {(Homenaje a Jos\'{e} Antonio Herr\'{a}ez)},
+ language = {spanish},
+}
+
+@Book{plateau1873a,
+ author = {Plateau, Joseph},
+ title = {Statique exp\'erimentale et th\'eorique des liquides},
+ publisher = {Gauthier-Villars},
+ year = 1873,
+ volume = {1.},
+ address = {Paris},
+ language = {frenchb}
+}
+
+@Article{voronoi1908a,
+ author = {Vorono\"\i, G.},
+ title = {Nouvelles applications des param\`etres continus \`a la
+ th\'eorie des formes quadratiques},
+ journal = {Journal f\"ur die reine und angewandte Mathematik},
+ year = 1908,
+ volume = 134,
+ pages = {198--312},
+ language = {frenchb}
+}
+
diff --git a/Master/texmf-dist/bibtex/bib/base/xampl.bib b/Master/texmf-dist/bibtex/bib/base/xampl.bib
new file mode 100644
index 00000000000..f651547ce26
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/base/xampl.bib
@@ -0,0 +1,356 @@
+@preamble{ "\newcommand{\noopsort}[1]{} "
+ # "\newcommand{\printfirst}[2]{#1} "
+ # "\newcommand{\singleletter}[1]{#1} "
+ # "\newcommand{\switchargs}[2]{#2#1} " }
+
+@ARTICLE{article-minimal,
+ author = {L[eslie] A. Aamport},
+ title = {The Gnats and Gnus Document Preparation System},
+ journal = {\mbox{G-Animal's} Journal},
+ year = 1986,
+}
+
+@ARTICLE{article-full,
+ author = {L[eslie] A. Aamport},
+ title = {The Gnats and Gnus Document Preparation System},
+ journal = {\mbox{G-Animal's} Journal},
+ year = 1986,
+ volume = 41,
+ number = 7,
+ pages = "73+",
+ month = jul,
+ note = "This is a full ARTICLE entry",
+}
+
+The KEY field is here to override the KEY field in the journal being
+cross referenced (so is the NOTE field, in addition to its imparting
+information).
+
+@ARTICLE{article-crossref,
+ crossref = {WHOLE-JOURNAL},
+ key = "",
+ author = {L[eslie] A. Aamport},
+ title = {The Gnats and Gnus Document Preparation System},
+ pages = "73+",
+ note = "This is a cross-referencing ARTICLE entry",
+}
+
+@ARTICLE{whole-journal,
+ key = "GAJ",
+ journal = {\mbox{G-Animal's} Journal},
+ year = 1986,
+ volume = 41,
+ number = 7,
+ month = jul,
+ note = {The entire issue is devoted to gnats and gnus
+ (this entry is a cross-referenced ARTICLE (journal))},
+}
+
+@INBOOK{inbook-minimal,
+ author = "Donald E. Knuth",
+ title = "Fundamental Algorithms",
+ publisher = "Addison-Wesley",
+ year = "{\noopsort{1973b}}1973",
+ chapter = "1.2",
+}
+
+@INBOOK{inbook-full,
+ author = "Donald E. Knuth",
+ title = "Fundamental Algorithms",
+ volume = 1,
+ series = "The Art of Computer Programming",
+ publisher = "Addison-Wesley",
+ address = "Reading, Massachusetts",
+ edition = "Second",
+ month = "10~" # jan,
+ year = "{\noopsort{1973b}}1973",
+ type = "Section",
+ chapter = "1.2",
+ pages = "10--119",
+ note = "This is a full INBOOK entry",
+}
+
+@INBOOK{inbook-crossref,
+ crossref = "whole-set",
+ title = "Fundamental Algorithms",
+ volume = 1,
+ series = "The Art of Computer Programming",
+ edition = "Second",
+ year = "{\noopsort{1973b}}1973",
+ type = "Section",
+ chapter = "1.2",
+ note = "This is a cross-referencing INBOOK entry",
+}
+
+@BOOK{book-minimal,
+ author = "Donald E. Knuth",
+ title = "Seminumerical Algorithms",
+ publisher = "Addison-Wesley",
+ year = "{\noopsort{1973c}}1981",
+}
+
+@BOOK{book-full,
+ author = "Donald E. Knuth",
+ title = "Seminumerical Algorithms",
+ volume = 2,
+ series = "The Art of Computer Programming",
+ publisher = "Addison-Wesley",
+ address = "Reading, Massachusetts",
+ edition = "Second",
+ month = "10~" # jan,
+ year = "{\noopsort{1973c}}1981",
+ note = "This is a full BOOK entry",
+}
+
+@BOOK{book-crossref,
+ crossref = "whole-set",
+ title = "Seminumerical Algorithms",
+ volume = 2,
+ series = "The Art of Computer Programming",
+ edition = "Second",
+ year = "{\noopsort{1973c}}1981",
+ note = "This is a cross-referencing BOOK entry",
+}
+
+@BOOK{whole-set,
+ author = "Donald E. Knuth",
+ publisher = "Addison-Wesley",
+ title = "The Art of Computer Programming",
+ series = "Four volumes",
+ year = "{\noopsort{1973a}}{\switchargs{--90}{1968}}",
+ note = "Seven volumes planned (this is a cross-referenced set of BOOKs)",
+}
+
+@BOOKLET{booklet-minimal,
+ key = "Kn{\printfirst{v}{1987}}",
+ title = "The Programming of Computer Art",
+}
+
+@BOOKLET{booklet-full,
+ author = "Jill C. Knvth",
+ title = "The Programming of Computer Art",
+ howpublished = "Vernier Art Center",
+ address = "Stanford, California",
+ month = feb,
+ year = 1988,
+ note = "This is a full BOOKLET entry",
+}
+
+@INCOLLECTION{incollection-minimal,
+ author = "Daniel D. Lincoll",
+ title = "Semigroups of Recurrences",
+ booktitle = "High Speed Computer and Algorithm Organization",
+ publisher = "Academic Press",
+ year = 1977,
+}
+
+@INCOLLECTION{incollection-full,
+ author = "Daniel D. Lincoll",
+ title = "Semigroups of Recurrences",
+ editor = "David J. Lipcoll and D. H. Lawrie and A. H. Sameh",
+ booktitle = "High Speed Computer and Algorithm Organization",
+ number = 23,
+ series = "Fast Computers",
+ chapter = 3,
+ type = "Part",
+ pages = "179--183",
+ publisher = "Academic Press",
+ address = "New York",
+ edition = "Third",
+ month = sep,
+ year = 1977,
+ note = "This is a full INCOLLECTION entry",
+}
+
+@INCOLLECTION{incollection-crossref,
+ crossref = "whole-collection",
+ author = "Daniel D. Lincoll",
+ title = "Semigroups of Recurrences",
+ pages = "179--183",
+ note = "This is a cross-referencing INCOLLECTION entry",
+}
+
+@BOOK{whole-collection,
+ editor = "David J. Lipcoll and D. H. Lawrie and A. H. Sameh",
+ title = "High Speed Computer and Algorithm Organization",
+ booktitle = "High Speed Computer and Algorithm Organization",
+ number = 23,
+ series = "Fast Computers",
+ publisher = "Academic Press",
+ address = "New York",
+ edition = "Third",
+ month = sep,
+ year = 1977,
+ note = "This is a cross-referenced BOOK (collection) entry",
+}
+
+@MANUAL{manual-minimal,
+ key = "Manmaker",
+ title = "The Definitive Computer Manual",
+}
+
+@MANUAL{manual-full,
+ author = "Larry Manmaker",
+ title = "The Definitive Computer Manual",
+ organization = "Chips-R-Us",
+ address = "Silicon Valley",
+ edition = "Silver",
+ month = apr # "-" # may,
+ year = 1986,
+ note = "This is a full MANUAL entry",
+}
+
+@MASTERSTHESIS{mastersthesis-minimal,
+ author = "{\'{E}}douard Masterly",
+ title = "Mastering Thesis Writing",
+ school = "Stanford University",
+ year = 1988,
+}
+
+@MASTERSTHESIS{mastersthesis-full,
+ author = "{\'{E}}douard Masterly",
+ title = "Mastering Thesis Writing",
+ school = "Stanford University",
+ type = "Master's project",
+ address = "English Department",
+ month = jun # "-" # aug,
+ year = 1988,
+ note = "This is a full MASTERSTHESIS entry",
+}
+
+@MISC{misc-minimal,
+ key = "Missilany",
+ note = "This is a minimal MISC entry",
+}
+
+@MISC{misc-full,
+ author = "Joe-Bob Missilany",
+ title = "Handing out random pamphlets in airports",
+ howpublished = "Handed out at O'Hare",
+ month = oct,
+ year = 1984,
+ note = "This is a full MISC entry",
+}
+
+@STRING{STOC-key = "OX{\singleletter{stoc}}"}
+
+@STRING{ACM = "The OX Association for Computing Machinery"}
+
+@STRING{STOC = " Symposium on the Theory of Computing"}
+
+@INPROCEEDINGS{inproceedings-minimal,
+ author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis",
+ title = "On Notions of Information Transfer in {VLSI} Circuits",
+ booktitle = "Proc. Fifteenth Annual ACM" # STOC,
+ year = 1983,
+}
+
+@INPROCEEDINGS{inproceedings-full,
+ author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis",
+ title = "On Notions of Information Transfer in {VLSI} Circuits",
+ editor = "Wizard V. Oz and Mihalis Yannakakis",
+ booktitle = "Proc. Fifteenth Annual ACM" # STOC,
+ number = 17,
+ series = "All ACM Conferences",
+ pages = "133--139",
+ month = mar,
+ year = 1983,
+ address = "Boston",
+ organization = ACM,
+ publisher = "Academic Press",
+ note = "This is a full INPROCEDINGS entry",
+}
+
+@INPROCEEDINGS{inproceedings-crossref,
+ crossref = "whole-proceedings",
+ author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis",
+ title = "On Notions of Information Transfer in {VLSI} Circuits",
+ organization = "",
+ pages = "133--139",
+ note = "This is a cross-referencing INPROCEEDINGS entry",
+}
+
+@PROCEEDINGS{proceedings-minimal,
+ key = STOC-key,
+ title = "Proc. Fifteenth Annual" # STOC,
+ year = 1983,
+}
+
+@PROCEEDINGS{proceedings-full,
+ editor = "Wizard V. Oz and Mihalis Yannakakis",
+ title = "Proc. Fifteenth Annual" # STOC,
+ number = 17,
+ series = "All ACM Conferences",
+ month = mar,
+ year = 1983,
+ address = "Boston",
+ organization = ACM,
+ publisher = "Academic Press",
+ note = "This is a full PROCEEDINGS entry",
+}
+
+@PROCEEDINGS{whole-proceedings,
+ key = STOC-key,
+ organization = ACM,
+ title = "Proc. Fifteenth Annual" # STOC,
+ address = "Boston",
+ year = 1983,
+ booktitle = "Proc. Fifteenth Annual ACM" # STOC,
+ note = "This is a cross-referenced PROCEEDINGS",
+}
+
+@PHDTHESIS{phdthesis-minimal,
+ author = "F. Phidias Phony-Baloney",
+ title = "Fighting Fire with Fire: Festooning {F}rench Phrases",
+ school = "Fanstord University",
+ year = 1988,
+}
+
+@PHDTHESIS{phdthesis-full,
+ author = "F. Phidias Phony-Baloney",
+ title = "Fighting Fire with Fire: Festooning {F}rench Phrases",
+ school = "Fanstord University",
+ type = "{PhD} Dissertation",
+ address = "Department of French",
+ month = jun # "-" # aug,
+ year = 1988,
+ note = "This is a full PHDTHESIS entry",
+}
+
+@TECHREPORT{techreport-minimal,
+ author = "Tom Terrific",
+ title = "An {$O(n \log n / \! \log\log n)$} Sorting Algorithm",
+ institution = "Fanstord University",
+ year = 1988,
+}
+
+@TECHREPORT{techreport-full,
+ author = "Tom T{\'{e}}rrific",
+ title = "An {$O(n \log n / \! \log\log n)$} Sorting Algorithm",
+ institution = "Fanstord University",
+ type = "Wishful Research Result",
+ number = "7",
+ address = "Computer Science Department, Fanstord, California",
+ month = oct,
+ year = 1988,
+ note = "This is a full TECHREPORT entry",
+}
+
+@UNPUBLISHED{unpublished-minimal,
+ author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot",
+ title = "Lower Bounds for Wishful Research Results",
+ note = "Talk at Fanstord University (this is a minimal UNPUBLISHED entry)",
+}
+
+@UNPUBLISHED{unpublished-full,
+ author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot",
+ title = "Lower Bounds for Wishful Research Results",
+ month = nov # ", " # dec,
+ year = 1988,
+ note = "Talk at Fanstord University (this is a full UNPUBLISHED entry)",
+}
+
+@MISC{random-note-crossref,
+ key = {Volume-2},
+ note = "Volume~2 is listed under Knuth \cite{book-full}"
+}
diff --git a/Master/texmf-dist/bibtex/bib/beebe/gut.bib b/Master/texmf-dist/bibtex/bib/beebe/gut.bib
new file mode 100644
index 00000000000..92377798d89
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/beebe/gut.bib
@@ -0,0 +1,1368 @@
+%%% -*-BibTeX-*-
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "1.12",
+%%% date = "01 November 2000",
+%%% time = "08:10:36 MDT",
+%%% filename = "gut.bib",
+%%% address = "Center for Scientific Computing
+%%% University of Utah
+%%% Department of Mathematics, 322 INSCC
+%%% 155 S 1400 E RM 233
+%%% Salt Lake City, UT 84112-0090
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 585 1640, +1 801 581 4148",
+%%% checksum = "46228 1368 4056 36890",
+%%% email = "beebe at math.utah.edu, beebe at acm.org,
+%%% beebe at computer.org, beebe at ieee.org
+%%% (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "bibliography, Cahiers GUTenberg",
+%%% supported = "yes",
+%%% docstring = "This file contains a BibTeX bibliography
+%%% for the journal Cahiers GUTenberg,
+%%% published by l'Association GUTenberg
+%%% (Groupe des Utilisateurs de \TeX{}
+%%% Francophones).
+%%%
+%%% At version 1.12, the year coverage looked
+%%% like this:
+%%%
+%%% 1988 ( 7) 1990 ( 31)
+%%% 1989 ( 42) 1991 ( 47)
+%%%
+%%% Article: 127
+%%%
+%%% Total entries: 127
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+
+@Preamble{"\input gut.sty"}
+
+@String{j-GUTENBERG = "Cahiers GUTenberg"}
+
+@Article{Andre:CG-0-1,
+ author = "J. Andr{\'e} and B. Gaulle",
+ title = "{\'E}ditorial",
+ journal = j-GUTENBERG,
+ year = "1988",
+ volume = "0",
+ pages = "1--2",
+ month = "avril",
+}
+
+@Article{Kolodzieska:CG-0-3,
+ author = "H. Kolodzieska",
+ title = "Le traitement des textes polonais avec le logiciel
+ \smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1988",
+ volume = "0",
+ pages = "3--10",
+ month = "avril",
+}
+
+@Article{Gaulle:CG-0-11,
+ author = "B. Gaulle",
+ title = "La publication assist{\'e}e au {Circ}{\'e}",
+ journal = j-GUTENBERG,
+ year = "1988",
+ volume = "0",
+ pages = "11--16",
+ month = "avril",
+}
+
+@Article{Louarn:CG-0-17,
+ author = "Ph. Louarn",
+ title = "Une exp{\'e}rience d'utilisation de \smash{\LaTeX}~:
+ le rapport d'activit{\'e} de l'{Inria}",
+ journal = j-GUTENBERG,
+ year = "1988",
+ volume = "0",
+ pages = "17--24",
+ month = "avril",
+}
+
+@Article{Laugier:CG-0-25,
+ author = "M. Laugier",
+ title = "\smash{\TeX} et l'imprimerie",
+ journal = j-GUTENBERG,
+ year = "1988",
+ volume = "0",
+ pages = "25--29",
+ month = "avril",
+}
+
+@Article{Carnes:CG-0-30,
+ author = "L. Carnes",
+ title = "{PC}\smash{\TeX} news",
+ journal = j-GUTENBERG,
+ year = "1988",
+ volume = "0",
+ pages = "30--31",
+ month = "avril",
+}
+
+@Article{Gaulle:CG-0-32,
+ author = "B. Gaulle",
+ title = "Vous avez dit pol{\'e}mique~?",
+ journal = j-GUTENBERG,
+ year = "1988",
+ volume = "0",
+ pages = "32--36",
+ month = "avril",
+}
+
+@Article{Gaulle:CG-1-1,
+ author = "B. Gaulle",
+ title = "{\'E}ditorial",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "1--1",
+ month = "avril",
+}
+
+@Article{Chahuneau:CG-1-2,
+ author = "F. Chahuneau",
+ title = "Quelques r{\'e}flexions sur le traitement de textes
+ informatis{\'e} {\`a} propos du logiciel \smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "2--15",
+ month = "avril",
+}
+
+@Article{Poggenbur:CG-1-16,
+ author = "R.-P. Poggenbur",
+ title = "\smash{\TeX} et {Beaudelaire}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "16--20",
+ month = "avril",
+}
+
+@Article{Andre:CG-1-21,
+ author = "J. Andr{\'e}",
+ title = "\smash{\LaTeX} ou {SGML} pouvaient-ils faire
+ {\'e}viter la catastrophe de la gare de {Lyon}~?",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "21--25",
+ month = "avril",
+}
+
+@Article{Brouard:CG-1-26,
+ author = "N. Brouard",
+ title = "Pr{\'e}sentation d'une revue mensuelle compos{\'e}e
+ automatiquement par \smash{\LaTeX} {\`a} partir d'une
+ base de donn{\'e}es relationnelle",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "26--34",
+ month = "avril",
+}
+
+@Article{Violante:CG-1-35,
+ author = "A. Violante",
+ title = "{DDI} dessin {DVI}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "35--38",
+ month = "avril",
+}
+
+@Article{Siebenmann:CG-1-39,
+ author = "L. Siebenmann",
+ title = "{\'E}volution en amont de \smash{\TeX}~: le
+ foisonnement des pr{\'e}processeurs pour la
+ math{\'e}matique",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "39--44",
+ month = "avril",
+}
+
+@Article{Borghi:CG-1-45,
+ author = "B. Borghi",
+ title = "Les concepts graphiques de {Post\-Script}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "45--51",
+ month = "avril",
+}
+
+@Article{Weil:CG-1-52,
+ author = "G. Weil",
+ title = "Le coin des gourous",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "52--53",
+ month = "avril",
+}
+
+@Article{Andre:CG-1-54,
+ author = "J. Andr{\'e}",
+ title = "M{\'e}dia\smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "54--60",
+ month = "avril",
+}
+
+@Article{Louarn:CG-1-61,
+ author = "Ph. Louarn",
+ title = "Programma\smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "61--63",
+ month = "avril",
+}
+
+@Article{Borghi:CG-1-64,
+ author = "B. Borghi",
+ title = "Les fiches cuisine d'Onc' {Post\-Script}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "1",
+ pages = "64--66",
+ month = "avril",
+}
+
+@Article{Gaulle:CG-2-3,
+ author = "B. Gaulle",
+ title = "L'ann{\'e}e de tous les anniversaires",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "2",
+ pages = "3--10",
+ month = "mai",
+}
+
+@Article{Brouard:CG-2-11,
+ author = "N. Brouard",
+ title = "X-window, \smash{\LaTeX}, \smash{\TeX}draw, {PLOT79}
+ ou comment calculer, r{\'e}diger, dessiner et imprimer
+ plus ais{\'e}ment",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "2",
+ pages = "11--12",
+ month = "mai",
+}
+
+@Article{Beebe:CG-2-13,
+ author = "N. H. F. Beebe",
+ title = "\smash{\TeX} and graphics: the state of the problem",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "2",
+ pages = "13--53",
+ month = "mai",
+}
+
+@Article{Merlet:CG-2-54,
+ author = "J.-P. Merlet",
+ title = "{JPdraw}, un {\'e}diteur de dessins pour
+ \smash{\LaTeX} sur {Sun}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "2",
+ pages = "54--62",
+ month = "mai",
+}
+
+@Article{Antoniadis:CG-2-63,
+ author = "A. Antoniadis",
+ title = "Graphisme et \smash{\TeX} dans un environnement
+ {{Macintosh}}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "2",
+ pages = "63--67",
+ month = "mai",
+}
+
+@Article{Laugier:CG-2-68,
+ author = "M. Laugier",
+ title = "Une application pratique~: traduction en \smash{\TeX}
+ d'un fichier ascii avec r{\'e}cup{\'e}ration des
+ tableaux et graphiques",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "2",
+ pages = "68--72",
+ month = "mai",
+}
+
+@Article{Cerin:CG-2-73,
+ author = "Ch. C{\'e}rin",
+ title = "Gi\smash{\TeX}, {Paps}~: deux logiciels manipulant
+ {Post\-Script} et \smash{\LaTeX}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "2",
+ pages = "73--80",
+ month = "mai",
+}
+
+@Article{Ferguson:CG-2-81,
+ author = "M. J. Ferguson",
+ title = "L'incorporation de graphiques dans
+ {INRS}\smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "2",
+ pages = "81--89",
+ month = "mai",
+}
+
+@Article{Decouty:CG-2-90,
+ author = "B. Decouty and Ph. Louarn",
+ title = "L'environnement de production de documents
+ \smash{\TeX} {\`a} l'{Irisa}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "2",
+ pages = "90--95",
+ month = "mai",
+}
+
+@Article{Andre:CG-3-1,
+ author = "J. Andr{\'e}",
+ title = "{\'E}ditorial~: touche pas {\`a} mon prote",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "1--3",
+ month = "octobre",
+}
+
+@Article{Carnes:CG-3-4,
+ author = "L. Carnes",
+ title = "\smash{\TeX} et les graphiques pour le {PC}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "4--8",
+ month = "octobre",
+}
+
+@Article{Olejniczak-Burkert:CG-3-9,
+ author = "R. Olejniczak-Burkert",
+ title = "{\it texpic} -- design and implementation of a
+ picture graphics language in \smash{\TeX} {\`a} la
+ {\em pic}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "9--20",
+ month = "octobre",
+}
+
+@Article{Nicole:CG-3-21,
+ author = "O. Nicole",
+ title = "Un pilote graphique entre le logiciel statistique {S}
+ et {PiC}\smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "21--31",
+ month = "octobre",
+}
+
+@Article{Chancelier:CG-3-32,
+ author = "J. Ph. Chancelier and A. Sulem",
+ title = "{MACRO}\smash{\TeX}~: un g{\'e}n{\'e}rateur de code
+ \smash{\LaTeX} impl{\'e}ment{\'e} en {MACSYMA}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "32--39",
+ month = "octobre",
+}
+
+@Article{Gaulle:CG-3-40,
+ author = "B. Gaulle",
+ title = "Nouvelles de {GUT\-en\-berg}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "40--47",
+ month = "octobre",
+}
+
+@Article{Brouard:CG-3-48,
+ author = "N. Brouard",
+ title = "Les disquettes {GUT89}~: une version compl{\`e}te de
+ \smash{\TeX} du domaine public sous {DOS}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "48--54",
+ month = "octobre",
+}
+
+@Article{Weil:CG-3-55,
+ author = "G. Weil and R. Seroul",
+ title = "Le coin des gourous",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "55--59",
+ month = "octobre",
+}
+
+@Article{Andre:CG-3-60,
+ author = "J. Andr{\'e}",
+ title = "{M{\'e}dia}\smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "60--65",
+ month = "octobre",
+}
+
+@Article{Borghi:CG-3-66,
+ author = "B. Borghi",
+ title = "Les fiches cuisine d'Onc' {Post\-Script}~: 2. un
+ {\'e}mulateur de table tra{\c{c}}ante",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "66--68",
+ month = "octobre",
+}
+
+@Article{Andre:CG-3-69,
+ author = "J. Andr{\'e} and Ph. Louarn",
+ title = "Analyses bibliographiques",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "3",
+ pages = "69--70",
+ month = "octobre",
+}
+
+@Article{Andre:CG-4-1,
+ author = "J. Andr{\'e}",
+ title = "{\'E}ditorial~: mais que fait la police~?",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "1--1",
+ month = "decembre",
+}
+
+@Article{Dardailler:CG-4-2,
+ author = "D. Dardailler",
+ title = "Normes et fontes",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "2--8",
+ month = "decembre",
+}
+
+@Article{Andre:CG-4-9,
+ author = "J. Andr{\'e}",
+ title = "M{\'e}triques de fontes en typographie
+ traditionnelle",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "9--22",
+ month = "decembre",
+}
+
+@Article{Andre:CG-4-23,
+ author = "J. Andr{\'e} and V. Ostromoukhov",
+ title = "Punk~: de {\METAFONT} {\`a} {Post\-Script}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "23--28",
+ month = "decembre",
+}
+
+@Article{Siebenmann:CG-4-29,
+ author = "L. Siebenmann",
+ title = "Une meilleure int{\'e}gration du graphisme
+ {Macintosh}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "29--38",
+ month = "decembre",
+}
+
+@Article{Knuth:CG-4-39,
+ author = "D. E. Knuth",
+ title = "\smash{\TeX} 3.0 ou le \smash{\TeX} nouveau va
+ arriver",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "39--45",
+ month = "decembre",
+}
+
+@Article{Gaulle:CG-4-46,
+ author = "B. Gaulle",
+ title = "Br{\`e}ves de {GUT\-en\-berg}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "46--48",
+ month = "decembre",
+}
+
+@Article{Weil:CG-4-49,
+ author = "G. Weil and Ph. Louarn",
+ title = "Le coin des gourous",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "49--51",
+ month = "decembre",
+}
+
+@Article{Gaulle:CG-4-52,
+ author = "B. Gaulle",
+ title = "Lu dans la presse",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "52--53",
+ month = "decembre",
+}
+
+@Article{Andre:CG-4-54,
+ author = "J. Andr{\'e}",
+ title = "{M{\'e}dia}\smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1989",
+ volume = "4",
+ pages = "54--56",
+ month = "decembre",
+}
+
+@Article{Gaulle:CG-5-1,
+ author = "B. Gaulle",
+ title = "{\'E}ditorial~: {\`a} propos de {GUT\-en\-berg}'90",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "1--2",
+ month = "mai",
+}
+
+@Article{Ferguson:CG-5-3,
+ author = "M. J. Ferguson",
+ title = "Une {\`e}re nouvelle~: \smash{\TeX} v3.0",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "3--7",
+ month = "mai",
+}
+
+@Article{Cerin:CG-5-8,
+ author = "Ch. C{\'e}rin and B. Lemaire",
+ title = "Vers l'introduction de la couleur dans \smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "8--15",
+ month = "mai",
+}
+
+@Article{Grimault:CG-5-16,
+ author = "J. Grimault and A. Isambard",
+ title = "D{\'e}buter avec \smash{\LaTeX}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "16--19",
+ month = "mai",
+}
+
+@Article{Laugier:CG-5-20,
+ author = "M. Laugier",
+ title = "Pourquoi \smash{\TeX}~? et pourquoi pas~?",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "20--25",
+ month = "mai",
+}
+
+@Article{Guillope:CG-5-26,
+ author = "L. Guillop{\'e}",
+ title = "Sur les codes {\`a} barre {EAN}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "26--29",
+ month = "mai",
+}
+
+@Article{Quitte:CG-5-30,
+ author = "P. Naudin et C. Quitt{\'e}",
+ title = "Typographie des programmes {Ada}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "30--40",
+ month = "mai",
+}
+
+@Article{Borceux:CG-5-41,
+ author = "F. Borceux",
+ title = "De la construction de diagrammes",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "41--48",
+ month = "mai",
+}
+
+@Article{Laan:CG-5-49,
+ author = "K. van der Laan",
+ title = "Typesetting bridge via \smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "49--61",
+ month = "mai",
+}
+
+@Article{Taupin:CG-5-62,
+ author = "D. Taupin",
+ title = "Musique en \smash{\TeX}~: {\'e}criture de musique
+ polyphonique ou instrumentale en plain \smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "62--73",
+ month = "mai",
+}
+
+@Article{Laan:CG-5-74,
+ author = "K. van der Laan",
+ title = "\smash{\TeX} and {SGML}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "5",
+ pages = "74--81",
+ month = "mai",
+}
+
+@Article{Delabbey:CG-6-1,
+ author = "C. Delabbe{\"y}",
+ title = "{\'E}ditorial~: vous avez dit {Toulouse}~?",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "1--1",
+ month = "juillet",
+}
+
+@Article{Mittelbach:CG-6-2,
+ author = "F. Mittelbach and R. Sch{\"o}pf",
+ title = "\smash{\LaTeX} dans les ann{\'e}es 1990",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "2--14",
+ month = "juillet",
+}
+
+@Article{Cousquer:CG-6-15,
+ author = "A. Cousquer",
+ title = "En chinois dans le \smash{\TeX}te",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "15--24",
+ month = "juillet",
+}
+
+@Article{Siebenmann:CG-6-25,
+ author = "L. Siebenmann",
+ title = "L\smash{\AMSTEX} --- un nouveau formateur de {Michael
+ Spivak}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "25--33",
+ month = "juillet",
+}
+
+@Article{Beebe:CG-6-34,
+ author = "N. H. F. Beebe",
+ title = "Greetings from the {TUG} president",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "34--38",
+ month = "juillet",
+}
+
+@Article{Marshall:CG-6-39,
+ author = "A. Marshall",
+ title = "Manuels typographiques conserv{\'e}s au {Mus{\'e}e}
+ de l'impri\-merie de {Lyon}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "39--41",
+ month = "juillet",
+}
+
+@Article{Andre:CG-6-42,
+ author = "J. Andr{\'e} and J. Grimault",
+ title = "Le{\c{c}}ons de microtypographie~: 1--emploi des
+ capitales (premi{\`e}re partie)",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "42--50",
+ month = "juillet",
+}
+
+@Article{Cornelis:CG-6-51,
+ author = "{\'E}. Cornelis",
+ title = "Analyse bibliographique~: {\em \smash{\LaTeX} la
+ perfection dans le traitement de texte}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "51--52",
+ month = "juillet",
+}
+
+@Article{Weil:CG-6-53,
+ author = "G. Weil and R. Seroul",
+ title = "Le coin des gourous",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "53--59",
+ month = "juillet",
+}
+
+@Article{Borghi:CG-6-60,
+ author = "B. Borghi",
+ title = "Les fiches cuisine d'Onc' {Post\-Script}~: {\'e}crire
+ en fran{\c{c}}ais avec {Post\-Script} ",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "6",
+ pages = "60--62",
+ month = "juillet",
+}
+
+@Article{Andre:CG-7-1,
+ author = "J. Andr{\'e}",
+ title = "{\'E}ditorial~: {GUT\-en\-berg} et l'{Europe} de~92",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "1--2",
+ month = "novembre",
+}
+
+@Article{Flynn:CG-7-3,
+ author = "P. Flynn",
+ title = "Logiciels \smash{\TeX} sur serveurs",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "3--16",
+ month = "novembre",
+}
+
+@Article{Vibert:CG-7-17,
+ author = "J.-F. Vibert",
+ title = "Le gestionnaire {BIBLIO}\smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "17--22",
+ month = "novembre",
+}
+
+@Article{Louarn:CG-7-23,
+ author = "Ph. Louarn",
+ title = "Traitement d'index avec \smash{\LaTeX}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "23--28",
+ month = "novembre",
+}
+
+@Article{Ferguson:CG-7-29,
+ author = "M. J. Ferguson",
+ title = "Fontes latines europ{\'e}ennes et \smash{\TeX} 3.0",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "29--32",
+ month = "novembre",
+}
+
+@Article{Baudin:CG-7-33,
+ author = "F. Baudin",
+ title = "``La typographie'' {\oguill} entre
+ guillemets{\fguill}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "33--34",
+ month = "novembre",
+}
+
+@Article{Megevand:CG-7-35,
+ author = "D. M{\'e}gevand",
+ title = "\smash{\TeX} 90 -- {\'a}{\i}lte {\i}
+ {gCol}{\'a}{\i}ste na {hOllsco}{\i}le, Corca{\i}gh",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "35--37",
+ month = "novembre",
+}
+
+@Article{Gaulle:CG-7-38,
+ author = "B. Gaulle and O. Nicole",
+ title = "Ballades irlandaises",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "38--40",
+ month = "novembre",
+}
+
+@Article{Picheral:CG-7-41,
+ author = "{\'E}. Picheral",
+ title = "Comment le faire en \smash{\LaTeX}",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "41--43",
+ month = "novembre",
+}
+
+@Article{Borghi:CG-7-44,
+ author = "B. Borghi",
+ title = "Les fiches cuisine d'Onc {Post\-Script}~:
+ \smash{\TeX} et {Post\-Script} vont chez l'imprimeur",
+ journal = j-GUTENBERG,
+ year = "1990",
+ volume = "7",
+ pages = "44--47",
+ month = "novembre",
+}
+
+@Article{Knuth:CG-8-1,
+ author = "D. E. Knuth",
+ title = "L'avenir de \smash{\TeX} et de {\METAFONT}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "8",
+ pages = "1--2",
+ month = "mars",
+}
+
+@Article{Marshall:CG-8-3,
+ author = "A. Marshall",
+ title = "La composition typographique",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "8",
+ pages = "3--9",
+ month = "mars",
+}
+
+@Article{Bertrand:CG-8-10,
+ author = "A. Bertrand",
+ title = "La typographie et la loi",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "8",
+ pages = "10--20",
+ month = "mars",
+}
+
+@Article{Trepos:CG-8-21,
+ author = "R. Tr{\'e}pos and Ph. Louarn",
+ title = "Serveurs de fichiers et de fontes pour \smash{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "8",
+ pages = "21--28",
+ month = "mars",
+}
+
+@Article{Andre:CG-8-29,
+ author = "J. Andr{\'e} and J. Bur",
+ title = "M{\'e}trique de fontes {Post\-Script}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "8",
+ pages = "29--50",
+ month = "mars",
+}
+
+@Article{Nicole:CG-8-51,
+ author = "O. Nicole and J. Andr{\'e}",
+ title = "Analyses bibliographiques",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "8",
+ pages = "51--56",
+ month = "mars",
+}
+
+@Article{Picheral:CG-8-57,
+ author = "\smash{{\'E}.} Picheral",
+ title = "Comment le faire en \smash{\LaTeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "8",
+ pages = "57--58",
+ month = "mars",
+}
+
+@Article{Weil:CG-8-59,
+ author = "G. Weil",
+ title = "Le coin des gourous",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "8",
+ pages = "59--61",
+ month = "mars",
+}
+
+@Article{Andre:CG-9-1,
+ author = "J. Andr{\'e}",
+ title = "{\'E}ditorial~: un nouveau style pour les {{\em
+ Cahiers {GUT\-en\-berg}}}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "1--2",
+ month = "juillet",
+}
+
+@Article{Cousquer:CG-9-3,
+ author = "A. Cousquer and {\'E}. Picheral",
+ title = "Polices, {\TeX} et Cie",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "3--31",
+ month = "juillet",
+}
+
+@Article{Louarn:CG-9-32,
+ author = "Ph. Louarn",
+ title = "Lucida, une fonte compl{\`e}te pour {\LaTeX} et son
+ installation",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "32--40",
+ month = "juillet",
+}
+
+@Article{Nicole:CG-9-41,
+ author = "O. Nicole - {\rm trad.}",
+ title = "{\em The Economist} polit ses polices",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "41--48",
+ month = "juillet",
+}
+
+@Article{Quint:CG-9-49,
+ author = "V. Quint and others",
+ title = "Grif et l'{\'e}dition de documents structur{\'e}s",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "49--65",
+ month = "juillet",
+ bibdate = "Wed Nov 1 08:10:29 2000",
+}
+
+@Article{Thomas:CG-9-66,
+ author = "H. Thomas",
+ title = "Typographie du jeu d'{\'e}checs",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "66--74",
+ month = "juillet",
+}
+
+@Article{Heck:CG-9-75,
+ author = "A. Heck",
+ title = "Star{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "75--78",
+ month = "juillet",
+}
+
+@Article{Haralambous:CG-9-79,
+ author = "Y. Haralambous",
+ title = "Quand {\TeX} rencontre {Mozart}{\ldots}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "79--82",
+ month = "juillet",
+}
+
+@Article{Gaulle:CG-9-83,
+ author = "B. Gaulle",
+ title = "L'association{\ldots} fait la force",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "83--85",
+ month = "juillet",
+}
+
+@Article{Picheral:CG-9-86,
+ author = "{\'E}. Picheral",
+ title = "Distribution {MLTeX} v.3.14 pour {Sun}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "9",
+ pages = "86--87",
+ month = "juillet",
+}
+
+@Article{Malyshev:CG-10-1,
+ author = "B. Malyshev and A. Samarin and D. Vulis",
+ title = "Russian {\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "1--6",
+ month = "septembre",
+}
+
+@Article{Jurriens:CG-10-7,
+ author = "T. Jurriens",
+ title = "{TeX}\-niques in {Siberia}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "7--14",
+ month = "septembre",
+}
+
+@Article{Knappen:CG-10-15,
+ author = "J. Knappen",
+ title = "{\TeX} and {Africa}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "15--24",
+ month = "septembre",
+}
+
+@Article{Boughaba:CG-10-25,
+ author = "O. Boughaba and S. Boutalbi and M. Fanton",
+ title = "Vers une version arabis{\'e}e de {\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "25--44",
+ month = "septembre",
+}
+
+@Article{Malyshev:CG-10-45,
+ author = "B. Malyshev and A. Samarin",
+ title = "{\TeX} Integrated Shell for {IBM} {PC}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "45--56",
+ month = "septembre",
+}
+
+@Article{Zlatuska:CG-10-57,
+ author = "J. Zlatu{\v{s}}ka",
+ title = "Automatic generation of virtual fonts with accented
+ letters for {\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "57--68",
+ month = "septembre",
+}
+
+@Article{Haralambous:CG-10-69,
+ author = "Y. Haralambous",
+ title = "Scholar{\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "69--70",
+ month = "septembre",
+}
+
+@Article{Braams:CG-10-71,
+ author = "J. Braams",
+ title = "Babel, a multilingual style-option system",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "71--72",
+ month = "septembre",
+}
+
+@Article{Fanton:CG-10-73,
+ author = "M. Fanton",
+ title = "{\TeX}~: les limites du multilinguisme",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "73--80",
+ month = "septembre",
+}
+
+@Article{Schrod:CG-10-81,
+ author = "J. Schrod",
+ title = "An International Version of {Make\-Index}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "81--90",
+ month = "septembre",
+}
+
+@Article{Bacsich:CG-10-91,
+ author = "P. Bacsich and E. Heyes and P. Lefrere and G.
+ Yarwood",
+ title = "Conversion of {Micro\-soft Word} into {\LaTeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "91--92",
+ month = "septembre",
+}
+
+@Article{Lavaud:CG-10-93,
+ author = "M. Lavaud",
+ title = "As{\TeX}~: An integrated and customizable multiwindow
+ environment for scientific research",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "93--116",
+ month = "septembre",
+}
+
+@Article{Larsen:CG-10-117,
+ author = "S. Larsen and A. F. Jensen",
+ title = "Tailored database publishing with {\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "117--134",
+ month = "septembre",
+}
+
+@Article{Leguy:CG-10-135,
+ author = "B. Leguy",
+ title = "Drawing tree structures with {GWEZ}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "135--146",
+ month = "septembre",
+}
+
+@Article{Laan:CG-10-147,
+ author = "K. van der Laan",
+ title = "Math into {BLU}es: Sing your song",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "147--170",
+ month = "septembre",
+}
+
+@Article{Binding:CG-10-171,
+ author = "A. Binding",
+ title = "Organizing a large collection of stylefiles",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "171--184",
+ month = "septembre",
+}
+
+@Article{Dobrowolski:CG-10-185,
+ author = "A. E. Dobrowolski",
+ title = "Typesetting {SGML}{} Documents Using {\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "185--196",
+ month = "septembre",
+}
+
+@Article{Cerin:CG-10-197,
+ author = "Ch. C{\'e}rin",
+ title = "Vers la construction de macros de mise en couleur
+ pour {\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "197--208",
+ month = "septembre",
+}
+
+@Article{Laugier:CG-10-209,
+ author = "M. Laugier",
+ title = "Composition des formules chimiques en {\TeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "10-11",
+ pages = "209--221",
+ month = "septembre",
+}
+
+@Article{Gaulle:CG-12-1,
+ author = "B. Gaulle",
+ title = "{\'E}ditorial~: {\`a} propos d'erratum",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "1--2",
+ month = "decembre",
+}
+
+@Article{Gopelt:CG-12-3,
+ author = "E. G{\"o}pelt and B. Schmid",
+ title = "{WY}{\-}{SI}{\-}{WYG}-{\TeX}-editors on the basis of
+ object-oriented system technology",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "3--12",
+ month = "decembre",
+}
+
+@Article{Spivak:CG-12-13,
+ author = "M. Spivak",
+ title = "{\LamSTeX}: A Public Domain Document Preparation
+ System Extended {\AmSTeX}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "13--20",
+ month = "decembre",
+}
+
+@Article{MacKay:CG-12-21,
+ author = "P. A. MacKay",
+ title = "Un regard sur les pixels. Obtention de fontes de
+ qualit{\'e} pour imprimantes {\`a} laser {\`a} 300~dpi
+ gr{\^a}ce {\`a} {\MF}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "21--36",
+ month = "decembre",
+}
+
+@Article{Goossens:CG-12-37,
+ author = "M. Goossens and E. van herwijnen",
+ title = "Introduction {\`a} {SGML}, {DSSSL} et {SPDL}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "37--56",
+ month = "decembre",
+}
+
+@Article{Andre:CG-12-57,
+ author = "J. Andr{\'e} and Ph. Louarn",
+ title = "Notes en bas de pages~: comment les faire en
+ {\LaTeX}?",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "57--70",
+ month = "decembre",
+}
+
+@Article{Samarin:CG-12-71,
+ author = "A. Samarin and A. Urvantsev",
+ title = "Cyr{TUG}, le monde {\TeX} en cyrillique",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "71--74",
+ month = "decembre",
+}
+
+@Article{Kolodziejska:CG-12-75,
+ author = "H. Ko{\l}odziejska",
+ title = "{\TeX} en {Pologne}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "75--77",
+ month = "decembre",
+}
+
+@Article{Andre:CG-12-78,
+ author = "J. Andr{\'e}",
+ title = "Lu, vu ou entendu",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "78--83",
+ month = "decembre",
+}
+
+@Article{Anonymous:CG-12-84,
+ author = "Anonymous",
+ title = "Table des mati{\`e}res pour l'ann{\'e}e 1991",
+ journal = j-GUTENBERG,
+ year = "1991",
+ volume = "12",
+ pages = "84--??",
+ month = "decembre",
+}
diff --git a/Master/texmf-dist/bibtex/bib/beebe/komoedie.bib b/Master/texmf-dist/bibtex/bib/beebe/komoedie.bib
new file mode 100644
index 00000000000..65005fe671f
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/beebe/komoedie.bib
@@ -0,0 +1,365 @@
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Nelson H. F. Beebe and Peter Schmitt",
+%%% version = "1.05",
+%%% date = "07 October 1996",
+%%% time = "08:04:41 MDT",
+%%% filename = "komoedie.bib",
+%%% address = "Center for Scientific Computing
+%%% Department of Mathematics
+%%% University of Utah
+%%% Salt Lake City, UT 84112
+%%% USA
+%%%
+%%% Institute of Mathematics
+%%% University of Vienna
+%%% Strudlhofgasse 4
+%%% A-1090 Wien
+%%% Austria",
+%%% telephone = "+1 801 581 5254 (NHFB)",
+%%% FAX = "+1 801 581 4148 (NHFB)",
+%%% checksum = "49532 365 1167 10775",
+%%% email = "beebe at math.utah.edu (Internet) and
+%%% a8131dal at awiuni11.edvz.univie.ac.at
+%%% (Internet) or schmitt at awirap.bitnet",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "TeX, DANTE, bibliography",
+%%% supported = "yes",
+%%% docstring = "This bibliography contains the publications
+%%% of the journal Die TeXnische Komoedie, the
+%%% publication of DANTE, Deutschsprachige
+%%% Anwendervereinigung TeX e.V. (the Group of
+%%% German-speaking TeX Users).
+%%%
+%%% At version 1.05, the year coverage looked
+%%% like this:
+%%%
+%%% 1992 ( 24)
+%%%
+%%% Article: 14
+%%% Book: 1
+%%% Misc: 9
+%%% Periodical: 1
+%%%
+%%% Total entries: 25
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+
+@Preamble{"\input bibnames.sty "
+# "\input path.sty "
+# "\hyphenation{An-wen-der-ver-ein-i-gung Deutsch-spra-chi-ge
+ Bal-ken-di-a-gram-me}"
+# "\def\PiCTeX{Pic\TeX}"
+}
+
+@String{dec = "Dezember"}
+
+@String{j-KOMOEDIE = "{{Die \TeX nische Kom{\"o}die}}"}
+@String{pub-DANTE = "DANTE. Deutschsprachige Anwendervereinigung {\TeX} e.V."}
+@String{pub-DANTE:adr = "Postfach 10 18 40, D-6900 Heidelberg, Deutschland"}
+
+@Periodical{Komoedie,
+ key = "Komoedie",
+ title = j-KOMOEDIE,
+ publisher = pub-DANTE,
+ address = pub-DANTE:adr,
+}
+
+@Book{Komoedie:4-4,
+ editor = "Luzia Dietsche",
+ title = "{{Die \TeX nische Kom{\"o}die}}",
+ publisher = pub-DANTE,
+ address = pub-DANTE:adr,
+ year = "1992",
+ volume = "4",
+ series = "4. Jahrgang",
+ month = dec,
+ note = "Heft 4/1992 4. Jahrgang Dezember 1992",
+}
+
+@Misc{Komoedie:4-4-3,
+ key = "Editorial",
+ title = "{{Editorial}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "3",
+ month = dec,
+ note = "[Section:] .",
+}
+
+@Article{Dietsche:Komoedie-4-4-3,
+ author = "Luzia Dietsche",
+ title = "{{[Editorial]}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "3",
+ month = dec,
+ note = "",
+}
+
+@Misc{Komoedie:4-4-4,
+ key = "Editorial",
+ title = "{{Hinter der B{\"u}hne : Vereinsinternes}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "4--8",
+ month = dec,
+ note = "[Section:] Behind the stage : Club matters",
+}
+
+@Article{Lammarsch:Komoedie-4-4-4,
+ author = "Joachim Lammarsch",
+ title = "{{Gru{\ss}wort}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "4--6",
+ month = dec,
+ note = "Welcome message",
+}
+
+@Article{Meyer-Lerbs:Komoedie-4-4-6,
+ author = "Lothar Meyer-Lerbs",
+ title = "{{\TeX\ auf dem Mac}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "6",
+ month = dec,
+ note = "\TeX\ on the Mac",
+}
+
+@Article{Erlmeier:Komoedie-4-4-6,
+ author = "Markus Erlmeier",
+ title = "{{\TeX nische Software f{\"u}r den Amiga}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "6--8",
+ month = dec,
+ note = "\TeX nical software for the Amiga",
+}
+
+@Misc{Komoedie:4-4-9,
+ key = "Editorial",
+ title = "{{Bretter, die die Welt bedeuten}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "9--34",
+ month = dec,
+ note = "[Section:] The stage is the world",
+}
+
+@Article{Gloeckner:Komoedie-4-4-9,
+ author = "J{\"u}rgen Gl{\"o}ckner",
+ title = "{{Erzeugung virtueller Fonts}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "9--16",
+ month = dec,
+ note = "Generating virtual fonts",
+}
+
+@Article{Dippel:Komoedie-4-4-16,
+ author = "Joachim Dippel",
+ title = "{{Neues zum \LaTeX-Seitenlayout: Der Ourhead Style}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "16--20",
+ month = dec,
+ note = "News on \LaTeX\ page layout: The ourhead style",
+}
+
+@Article{Breuer:Komoedie-4-4-20,
+ author = "Stefan Breuer",
+ title = "{{Anmerkungen zum \verb|\footnote|-Befehl}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "20--22",
+ month = dec,
+ note = "Remarks on the \verb|\footnote| command",
+}
+
+@Article{Burkhardt:Komoedie-4-4-22,
+ author = "Werner Burkhardt",
+ title = "{{Schaubilder mathematischer Funktionen mit
+ \PiCTeX}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "22--27",
+ month = dec,
+ note = "Diagrams of mathematical functions using \PiCTeX",
+}
+
+@Article{Bleser:Komoedie-4-4-28,
+ author = "Joachim Bleser and Edmund Lang",
+ title = "{{Balkendiagramme in \LaTeX-Dok\-u\-ment\-en}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "28--31",
+ month = dec,
+ note = "Column charts in \LaTeX\ documents",
+}
+
+@Article{Jurzitza:Komoedie-4-4-32,
+ author = "Dieter Jurzitza",
+ title = "{{Schaltbilder mit \LaTeX}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "32--34",
+ month = dec,
+ note = "Circuit diagrams with \LaTeX",
+}
+
+@Misc{Komoedie:4-4-35,
+ key = "Editorial",
+ title = "{{Was Sie schon immer {\"u}ber \TeX\ wissen wollten
+ \dots}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "35",
+ month = dec,
+ note = "[Section:] What you always wanted to know about \TeX
+ \dots",
+}
+
+@Article{Dietsche:Komoedie-4-4-35,
+ author = "Luzia Dietsche",
+ title = "{{Fette mathematische Akzente}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "35",
+ month = dec,
+ note = "Bold mathematical accents",
+}
+
+@Misc{Komoedie:4-4-36,
+ key = "Editorial",
+ title = "{{\TeX-Beiprogramm}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "36",
+ month = dec,
+ note = "[Section:] Accompanying program",
+}
+
+@Article{Erlmeier:Komoedie-4-4-36,
+ author = "Markus Erlmeier",
+ title = "{{Pas\TeX\ --- neue Version in Planung}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "36",
+ month = dec,
+ note = "Pas\TeX\ --- a new version is in preparation",
+}
+
+@Misc{Komoedie:4-4-37,
+ key = "Editorial",
+ title = "{{Rezensionen}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "37--40",
+ month = dec,
+ note = "[Section:] Reviews",
+}
+
+@Article{Bratz:Komoedie-4-4-37,
+ author = "Ernst Bratz",
+ title = "{{Beinahe gut --- ein subjektiver Test von Scientific
+ Word}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "37--38",
+ month = dec,
+ note = "Almost good --- a subjective test of Scientific Word",
+}
+
+@Article{Meyer-Lerbs:Komoedie-4-4-38,
+ author = "Lothar Meyer-Lerbs",
+ title = "{{Ganz un\TeX ni\-sche B{\"u}cher}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "38--40",
+ month = dec,
+ note = "Completely non-\TeX nical books",
+}
+
+@Misc{Komoedie:4-4-41,
+ key = "Editorial",
+ title = "{{Spielplan}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "41--51",
+ month = dec,
+ note = "[Section:] Repertory",
+}
+
+@Misc{Komoedie:4-4-52,
+ key = "Editorial",
+ title = "{{Adressen}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "52--55",
+ month = dec,
+ note = "[Section:] Addresses",
+}
+
+@Misc{Komoedie:4-4-56,
+ key = "Editorial",
+ title = "{{Inhalt Heft 492 /}}",
+ journal = j-KOMOEDIE,
+ year = "1992",
+ volume = "4",
+ number = "4",
+ pages = "56",
+ month = dec,
+ note = "[Section:] Contents of issue 492 /",
+}
diff --git a/Master/texmf-dist/bibtex/bib/beebe/texbook1.bib b/Master/texmf-dist/bibtex/bib/beebe/texbook1.bib
new file mode 100644
index 00000000000..8f064217d72
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/beebe/texbook1.bib
@@ -0,0 +1,5888 @@
+%%% /u/sy/beebe/tex/bib/texbook1.bib, Mon Jan 6 09:23:25 1992
+%%% Edit by Nelson H. F. Beebe <beebe at magna.math.utah.edu>
+
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "1.153",
+%%% date = "22 July 1994",
+%%% time = "12:36:52 MDT",
+%%% filename = "texbook1.bib",
+%%% address = "Center for Scientific Computing
+%%% Department of Mathematics
+%%% University of Utah
+%%% Salt Lake City, UT 84112
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 581 4148",
+%%% checksum = "60024 5888 22849 204249",
+%%% email = "beebe at math.utah.edu (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "bibliography, TeX",
+%%% supported = "yes",
+%%% docstring = "This BibTeX file records books, articles,
+%%% and electronic forums on TeX, METAFONT, Web,
+%%% fonts, typography, indexing, and software
+%%% related to these topics. Articles from
+%%% TUGboat and TeXniques are excluded, because
+%%% they are maintained in separate
+%%% bibliographies. The ISBN and ISSN fields
+%%% will be printed if the is-alpha.bst or
+%%% is-plain.bst style files are used.
+%%%
+%%% CONVENTIONS
+%%%
+%%% Books are tagged by the first author's last
+%%% name, a colon, up to 3 upper-case letters
+%%% taken from the first three upper-case words
+%%% in the title (ignoring words like A, And,
+%%% The), followed by the last two digits of
+%%% the publication year. If there is a volume
+%%% entry, it is appended to the tag, prefixed
+%%% by a hyphen.
+%%%
+%%% For Dutch authors, a van part is included
+%%% in the author tag. For names with accented
+%%% letters, accents are dropped in the author
+%%% tag.
+%%%
+%%% This scheme is systematic enough that it
+%%% can be programmed: most of the
+%%% Addison-Wesley book entries were created
+%%% with an awk program from a dump of the AW
+%%% database supplied by Mona Zeftel. Older
+%%% entries in this bibliography were modified
+%%% on 28-Nov-1990 to conform to this tagging
+%%% scheme.
+%%%
+%%% The choice of a limit of 3 letters was
+%%% determined from experiments on the
+%%% Addison-Wesley collection. Long tags are
+%%% undesirable because they are a nuisance to
+%%% type, and also interfere with the tagged
+%%% bibliography output produced using the
+%%% LaTeX showtags style option.
+%%%
+%%% Journal article tags look like
+%%% author:abbrev-volume-number-page, where the
+%%% author part is the last name of the first
+%%% author: for example,
+%%% Gilchrist:NAMS-36-9-1199.
+%%%
+%%% Technical report tags look like
+%%% author:abbrev-number: for example,
+%%% Billawala:STAN-CS-89-1256.
+%%%
+%%% The Como InProceedings entries look like
+%%% author:TEX85-page: for example,
+%%% Agostini:TEX85-117. Other InProceedings
+%%% entries should follow a similar style.
+%%%
+%%% Entries are stored ordered by the BibTeX
+%%% tag name, independent of the entry type
+%%% (the GNU Emacs function sort-bibtex-entries
+%%% can be used to ensure correct ordering).
+%%% However, entries that are cross-referenced
+%%% by others are stored at the end of the
+%%% file, since that order is required by
+%%% BibTeX.
+%%%
+%%% With few exceptions, value fields for
+%%% acknowledgement, address, journal, and
+%%% publisher keywords should use macros
+%%% defined in the string preamble below. This
+%%% helps to ensure consistency, and reduces
+%%% the entry sizes. Address entries must
+%%% always include the country.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+%%%
+%%% Computing Systems is the Journal of the USENIX Association
+%%% published with the collaboration of the EUUG. The ISSN is
+%%% 0895-6340. It is published by the University of California
+%%% Press, 2120 Berkeley Way, Berkeley, CA 94720.
+%%%
+%%% Rates are US $40/yr for non-members, plus $4 postage if
+%%% outside the US. Single copies are US $10.
+%%%
+%%% Editorial correspondence should be addressed to
+%%%
+%%% Computing Systems
+%%% Suite 215
+%%% 2560 Ninth Street
+%%% Berkeley, CA 94710
+%%%
+%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+@Preamble{"\input bibnames.sty "
+# "\input path.sty "
+# "\ifx \k \undefined \let \k = \c
+ \immediate\write16{Ogonek accent unavailable: replaced by cedilla}\fi "
+# "\hyphenation{An-wen-der-ver-ein-i-gung Co-lo-phon Deutsch-spra-chi-ge
+ Hol-dys Ko-lo-dziej-ska Lar-ra-bee
+ mark-up Rijks-uni-ver-si-teit South-all}"
+}
+
+%% Acknowledgements
+@String{ack-aa = "Abass Alamnehe,
+ EthiO Systems Co.,
+ P.O. Box 36921,
+ Houston, TX 77236,
+ USA,
+ Phone: +1 713 995-4360,
+ FAX: +1 713 995-1346,
+ e-mail: \path|abassa@sugar.NeoSoft.COM|"}
+@String{ack-ab = "Arvind Borde,
+ Department of Mathematics,
+ Long Island University,
+ Southampton, NY 11968, USA,
+ Tel: (516) 283-4000,
+ e-mail: BITnet: \path|borde@bnlcl1|"}
+@String{ack-bnb = "Barbara N. Beeton
+ e-mail: \path|bnb@math.ams.org|"}
+@String{ack-cb = "Claudio Beccari,
+ Dipartimento di Elettronica,
+ Politecnico di Torino,
+ Corso Duca degli Abruzzi, 24,
+ I10129 Torino, Italy,
+ e-mail: \path|beccari@itopoli.bitnet|,
+ \path|beccari@polito.it|"}
+@String{ack-dh = "Don Hosek,
+ 440F Grinnell,
+ Claremont, CA 91711,
+ Tel: (714) 625-0147,
+ e-mail: BITnet: \path|dhosek@ymir|"}
+@String{ack-fm = "Frank Mittelbach,
+ e-mail: \path|mittelbach@mzdmza.zdv.uni-mainz.de|"}
+@String{ack-hk = "Hanna K{\"o}lodziejska,
+ {\"O}srodek Obliczeniowy,
+ Instytutu Informatyki UW,
+ P{\"a}lac Kultury i Nauki pok. 838,
+ 00-901 Warszawa,
+ Poland"}
+@String{ack-jb = "Janusz S. Bie{\'n},
+ e-mail: \path|jsbien@plearn.edu.pl|"}
+@String{ack-jpl = "Jeff Lankford,
+ e-mail: \path|jpl@nrtc.northrop.com|"}
+@String{ack-kb = "Karl Berry,
+ e-mail: \path|karl@cs.umb.edu|"}
+@String{ack-mb = "Mimi Burbank,
+ e-mail: \path|MIMI@scri.fsu.edu|"}
+@String{ack-mc = "Malcolm Clark"}
+@String{ack-md = "Monika D{\k{a}}bkowska,
+ Uniwersytet Warszawski,
+ Wydzia{\l} Matematyki, Informatyki i Mechaniki Stosowanej,
+ Warszawa, Poland"}
+@String{ack-nhfb = "Nelson H. F. Beebe,
+ Center for Scientific Computing,
+ Department of Mathematics,
+ University of Utah,
+ Salt Lake City, UT 84112, USA,
+ Tel: +1 801 581 5254,
+ FAX: +1 801 581 4148,
+ e-mail: \path|beebe@math.utah.edu|"}
+@String{ack-njh = "Nick Higham,
+ e-mail: \path|higham@vtx.ma.man.ac.uk|"}
+@String{ack-ps = "Peter Schmitt,
+ Institute of Mathematics,
+ University of Vienna,
+ Strudlhofgasse 4,
+ A-1090 Wien,
+ Austria,
+ e-mail: \path|a8131dal@awiuni11.edvz.univie.ac.at|,
+ \path|schmitt@awirap.bitnet|"}
+@String{ack-rw = "Reinhard Wonneberger,
+ Electronic Data Systems,
+ Eisenstr.56 (N15),
+ W-6090 Ruesselsheim,
+ Federal Republic of Germany,
+ e-mail: \path|qzdmgn@ruipc1e.bitnet|"}
+@String{ack-rz = "Reinhard Zierke,
+ Universitaet Hamburg, FB Informatik,
+ Vogt-Koelln-Strasse 30
+ D-22527 Hamburg,
+ Germany,
+ Tel: (040) 54715-295,
+ Fax: (040) 54715-303,
+ e-mail: \path|zierke@informatik.uni-hamburg.de|"}
+
+%%======================================================================
+%% Miscellaneous abbreviations
+@String{rep = "Report No."}
+
+%%======================================================================
+%% Miscellaneous institutions
+@String{inst-CIRCE = "CIRCE"}
+@String{inst-CIRCE:adr = "Orsay, France"}
+@String{inst-CWI = "Centrum voor Wiskunde en Informatica"}
+@String{inst-CWI:adr = "P. O. Box 4079, 1009 AB Amsterdam, The Netherlands"}
+@String{inst-METAFOUNDRY = "The Metafoundry"}
+@String{inst-METAFOUNDRY:adr = "OCLC Online Computer Library Center, Inc., Dublin,
+ OH, USA"}
+@String{inst-STAN-CS = "Stanford University, Department of Computer
+ Science"}
+@String{inst-STANFORD = "Stanford University"}
+@String{inst-STANFORD:adr = "Stanford, CA, USA"}
+@String{inst-TUG = "\TeX{} Users Group"}
+@String{inst-TUG:adr = "Providence, RI, USA"}
+
+%%======================================================================
+%% Journals
+@String{j-ABACUS = "Abacus"}
+@String{j-BAMSN = "Bulletin of the American Mathematical Society
+ (new series)"}
+@String{j-CACM = "Communications of the Association for
+ Computing Machinery"}
+@String{j-CGF = "Computer Graphics Forum"}
+@String{j-CGIP = "Computer Graphics and Image Processing"}
+@String{j-CJ = "The Computer Journal"}
+@String{j-COLL-MICRO = "Collegiate Microcomputer"}
+@String{j-COMPCHEM = "Computers in Chemistry"}
+@String{j-COMPSYS = "Computing Systems"}
+@String{j-COMP-SURVEYS = "ACM Computing Surveys"}
+@String{j-COMPUTER = "Computer"}
+@String{j-COMPUTERSHOPPER = "Computer Shopper"}
+@String{j-CPC = "Computer Physics Communications"}
+@String{j-EPODD = "Electronic
+ Publishing\emdash{}Orig{\-}i{\-}na{\-}tion,
+ Dissemination, and Design"}
+@String{j-GUTENBERG = "Cahiers GUTenberg"}
+@String{j-IBM-SYS-J = "IBM Systems Journal"}
+@String{j-IEEE-COMPUTER = "IEEE Computer"}
+@String{j-KOMPUTER = j-COMPUTER}
+@String{j-MATHINTEL = "The Mathematical Intelligencer"}
+@String{j-MDMV = "Mitteilungen der Deutschen
+ Mathematiker-Vereinigung"}
+@String{j-MIKROLAN = "Mikrolan"}
+@String{j-NAMS = "Notices of the American Mathematical Society"}
+@String{j-NTG = "Nederlandstalige {\TeX} Geruikersgroup
+ (Dutch-speaking {\TeX} Users Group)"}
+@String{j-PCkurier = "PCkurier"}
+@String{j-PCkurier:adr = "PCkurier,
+ ul. St{\k{e}}pi{\'n}ska 22//23,
+ 00-739 Warszawa, Poland,
+ mailbox 41 03 74 (16.00-10.00)"}
+@String{j-SA = "Scientific American"}
+@String{j-SCHOLAR = "Scholarly Publishing"}
+@String{j-SEYBOLD = "The Seybold Report on Desktop Publishing"}
+@String{j-SIGACT = "ACM SIGACT News"}
+@String{j-SIGAPL = "ACM SIGAPL APL Quote Quad"}
+@String{j-SIGPLAN = "ACM SIGPLAN Notices"}
+@String{j-SIGDOC = "ACM SIGDOC Asterisk*"}
+@String{j-SIGSAM = "SIGSAM Bulletin"}
+@String{j-SPE = "Soft{\-}ware\emdash Prac{\-}tice and Experience"}
+@String{j-SUNEXPERT = "SunExpert Magazine"}
+@String{j-TEXHAX = "{\TeX{}hax}"}
+@String{j-TEXLINE = "{\TeX{}}line"}
+@String{j-TOGS = "ACM Transactions on Graphics"}
+@String{j-TSI = "Technology and Science of Informatics"}
+@String{j-TUGboat = "{\TUB{}}"}
+@String{j-TWIO = "TWIOscoop"}
+@String{j-UMAP = "The UMAP Journal"}
+@String{j-UMAP:adr = "COMAP, Inc., Suite 210, 57 Bedford St.,
+ Lexington, MA 02173, USA"}
+@String{j-VL = "Visible Language"}
+@String{j-WM = "Wiadomo\'sci Matematyczne"}
+
+%%======================================================================
+%% Languages
+@String{lang-eng = "English"}
+@String{lang-pl = "Polish"}
+
+%%======================================================================
+%% Preparation details
+@String{prep-latex = "Prepared with {\LaTeX}."}
+
+%%======================================================================
+%% Proceedings
+@String{proc-NIPT91 = "IS\&T's Seventh International Congress on
+ Advances in Non-impact Printing
+ Technologies, October 6--11, Portland, OR, USA."}
+@String{proc-TEX85 = "Proceedings of the First European Conference
+ on {\TeX} for Scientific Documentation,
+ 16--17 May 1985, Como, Italy"}
+
+%%======================================================================
+%% Publishers
+@String{pub-ADTP = "Architecture Design and Technology Press, Ltd."}
+@String{pub-ADTP:adr = "140 Kensington Church St., London W84 BN, UK"}
+@String{pub-AHV = "Dr. Alfred H{\"u}thing Verlag"}
+@String{pub-AHV:adr = "Heidelberg, Germany"}
+@String{pub-AMS = "American Mathematical Society"}
+@String{pub-AMS:adr = "Providence, RI, USA"}
+@String{pub-AP = "Academic Press"}
+@String{pub-AP:adr = "New York, NY, USA"}
+@String{pub-APA = "American Psychological Association"}
+@String{pub-APA:adr = "Washington, DC, USA"}
+@String{pub-ARIEL = "Ariel Sp. z o.o"}
+@String{pub-ARIEL:adr = "Krak{\'o}w, Poland"}
+@String{pub-ASCII = "ASCII Corporation"}
+@String{pub-ASCII:adr = "Tokyo, Japan"}
+@String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
+@String{pub-AW:adr = "Reading, MA, USA"}
+@String{pub-AWE = "Ad{\-}di{\-}son-Wes{\-}ley Europe"}
+@String{pub-AWE:adr = "Amsterdam, The Netherlands"}
+@String{pub-AWV = "Ad{\-}di{\-}son-Wes{\-}ley Verlag"}
+@String{pub-AWV:adr = "Bonn, Germany"}
+@String{pub-BH = "Birkh{\"{a}}user"}
+@String{pub-BH:adr = "Basel, Switzerland"}
+@String{pub-BIEL = "Biel"}
+@String{pub-BIEL:adr = "Savannah, Ga"}
+@String{pub-BL = "The British Library"}
+@String{pub-BL:adr = "London, UK"}
+@String{pub-BLUEPRINT = "Blueprint"}
+@String{pub-BLUEPRINT:adr = "London, UK"}
+@String{pub-BOWK = "R. R. Bowker Company"}
+@String{pub-BOWK:adr = "1180 Avenue of the Americas, New York, NY
+ 10036, USA"}
+@String{pub-BP = "Boole Press"}
+@String{pub-BP:adr = "Dublin, Ireland"}
+@String{pub-CHARTWELL = "Chartwell Books, Inc."}
+@String{pub-CHARTWELL:adr = "110 Enterprise Avenue, Secaucus, New
+ Jersey 07094, USA"}
+@String{pub-CIAOCO = "Editions Ciaoco"}
+@String{pub-CIAOCO:adr = "Artel, Bruxelles, Belgium"}
+@String{pub-CRC = "CRC Publishers"}
+@String{pub-CRC:adr = "2000 Corporate Blvd., Boca Raton, FL 33431, USA"}
+@String{pub-CSTUG = "Czechoslovak {\TeX} Users Group"}
+@String{pub-CSTUG:adr = "CSTUG M{\'U} UK, Sokolovsk{\'a} 83, 186 00
+ Praha 8, The Czech Republic"}
+@String{pub-CUP = "Cambridge University Press"}
+@String{pub-CUP:adr = "New York"}
+@String{pub-DP = "Digital Press"}
+@String{pub-DP:adr = "12 Crosby Drive, Bedford, MA 01730, USA"}
+@String{pub-EEI = "Editorial Experts, Inc."}
+@String{pub-EEI:adr = "Alexandria, VA, USA"}
+@String{pub-EH = "Ellis Horwood"}
+@String{pub-EH:adr = "Chichester, UK"}
+@String{pub-ESPNH = "Elsevier Science Publishers (North-Holland)"}
+@String{pub-ESPNH:adr = "Amsterdam, The Netherlands"}
+@String{pub-ETHIO = "EthiO Systems Co."}
+@String{pub-ETHIO:adr = "P.O. Box 36921, Houston, TX 77236, USA"}
+@String{pub-EUH = "Editore Ulrico Hoepli"}
+@String{pub-EUH:adr = "Ulrico Hoepli Editore S.p.A., via Hoepli 5,
+ 20121 Milano, Italy"}
+@String{pub-FCGCC = "F{\'e}d{\'e}ration C. G. C. de la Communication"}
+@String{pub-FCGCC:adr = ""}
+@String{pub-GP = "Graphics Press"}
+@String{pub-GP:adr = "Box 430, Cheshire, CT 06410, USA"}
+@String{pub-HAMISH = "Hamish Hamilton"}
+@String{pub-HAMISH:adr = "London"}
+@String{pub-HHP = "Hastings House, Publishers"}
+@String{pub-HHP:adr = "New York, NY, USA"}
+@String{pub-HLRA = "Harvard Law Review Association"}
+@String{pub-HLRA:adr = "Cambridge, MA, USA"}
+@String{pub-HRP = "Harper \& Row, Publishers"}
+@String{pub-HRP:adr = "New York, NY, USA"}
+@String{pub-HSCHV = "Universit{\"a}tsdruckerei und Verlag Hermann
+ Schmidt"}
+@String{pub-HSCHV:adr = "Mainz, Germany"}
+@String{pub-IBM = "IBM Corporation"}
+@String{pub-IBM:adr = "San Jose, CA, USA"}
+@String{pub-IE = "InterEditions"}
+@String{pub-IE:adr = "Paris, France"}
+@String{pub-INRIA = "INRIA/IRISA"}
+@String{pub-INRIA:adr = "Rennes, France"}
+@String{pub-IST = "Imaging Science \& Technology"}
+@String{pub-IST:adr = "????"}
+@String{pub-KLUWER = "Kluwer Academic Publishers Group"}
+@String{pub-KLUWER:adr = "Norwell, MA, USA"}
+@String{pub-KOMPUT = "a/S ``KompuT'' kirjastus"}
+@String{pub-KOMPUT:adr = "Tartumaa, Estonia"}
+@String{pub-MARSZALEK = "Adam Marsza{\l}ek"}
+@String{pub-MARSZALEK:adr = "Toru{\'n}, Poland"}
+@String{pub-MASARYKOVA = "Masarykova Universita"}
+@String{pub-MASARYKOVA:adr = "Brno, Czechoslovakia"}
+@String{pub-MASSON = "Masson Editeur"}
+@String{pub-MASSON:adr = "Paris, France"}
+@String{pub-MASSON-SA = "Masson, S.A."}
+@String{pub-MASSON-SA:adr = "Barcelona, Spain"}
+@String{pub-MH = "McGraw-Hill"}
+@String{pub-MH:adr = "New York, NY, USA"}
+@String{pub-MIT = "MIT Press"}
+@String{pub-MIT:adr = "Cambridge, MA, USA"}
+@String{pub-NAB = "New Amsterdam Books"}
+@String{pub-NAB:adr = "New York, NY, USA"}
+@String{pub-NH = "North-Holland Publishing Company"}
+@String{pub-NH:adr = "Amsterdam, The Netherlands"}
+@String{pub-NIGGLI = "Niggli/Hatje"}
+@String{pub-NIGGLI:adr = "Heiden, Stuttgart, Germany"}
+@String{pub-OHIO = "Ohio University Press"}
+@String{pub-OHIO:adr = "Athens, OH, USA"}
+@String{pub-OLDENBOURG = "R. Oldenbourg Verlag"}
+@String{pub-OLDENBOURG:adr = "Munich, Germany and Vienna, Austria"}
+@String{pub-ORA = "O'Reilly \& {Associates, Inc.}"}
+@String{pub-ORA:adr = "981 Chestnut Street, Newton, MA 02164, USA"}
+@String{pub-OUP = "Oxford University Press"}
+@String{pub-OUP:adr = "Walton Street, Oxford OX2 6DP, UK"}
+@String{pub-PEACHPIT = "Peachpit Press, Inc."}
+@String{pub-PEACHPIT:adr = "1085 Keith Avenue, Berkeley, CA 94708, USA"}
+@String{pub-PH = "Pren{\-}tice-Hall"}
+@String{pub-PH:adr = "Englewood Cliffs, NJ 07632, USA"}
+@String{pub-Pitagora = "Pitagora Editrice"}
+@String{pub-Pitagora:adr = "Via del legatore, 3, Bologna, Italy"}
+@String{pub-POLYGRAPH = "Polygraph Verlag"}
+@String{pub-POLYGRAPH:adr = "Frankfurt am Main, Germany"}
+@String{pub-PTI = "Personal {\TeX} Inc."}
+@String{pub-PTI:adr = "12 Madrona Street, Mill Valley, CA 94941, USA"}
+@String{pub-PTRPH = "P T R Pren{\-}tice-Hall"}
+@String{pub-PTRPH:adr = "Englewood Cliffs, NJ 07632, USA"}
+@String{pub-RISO = "Ris{\o} National Laboratory"}
+@String{pub-RISO:adr = "Roskilde, Denmark"}
+@String{pub-RRB = "R. R. Bowker Company"}
+@String{pub-RRB:adr = "New York, NY, USA"}
+@String{pub-SERIF = "Serif Publishing"}
+@String{pub-SERIF:adr = "A subsidiary of Xerox Corporation, 701 South
+ Aviation Boulevard, El Segundo, CA 90245, USA"}
+@String{pub-SF = "Scott, Foresman and Company"}
+@String{pub-SF:adr = "Glenview, IL, USA"}
+@String{pub-SIAM = "Society for Industrial and Applied Mathematics"}
+@String{pub-SIAM:adr = "Philadelphia, PA, USA"}
+@String{pub-SILICON = "Silicon Press"}
+@String{pub-SILICON:adr = "25 Beverly Road, Summit, NJ 07901, USA"}
+@String{pub-SP = "Shapolsky Publishers"}
+@String{pub-SP:adr = "New York, NY, USA"}
+@String{pub-STA = "Society of Typographic Arts"}
+@String{pub-STA:adr = "Chicago, IL, USA"}
+@String{pub-Steiner = "Steiner"}
+@String{pub-Steiner:adr = "Stuttgart, Germany"}
+@String{pub-SUCSLI = "Stanford University Center for the Study of
+ Language and Information"}
+@String{pub-SUCSLI:adr = "Stanford, CA, USA"}
+@String{pub-SV = "Spring{\-}er-Ver{\-}lag"}
+@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/ London,
+ UK~/ etc."}
+@String{pub-SYBEX = "Sybex"}
+@String{pub-SYBEX:adr = "2021 Challenger Driver, Suite 100, Alameda,
+ CA 94501, USA"}
+@String{pub-TEXPLORATORS = "The {\TeX}plorators Corporation"}
+@String{pub-TEXPLORATORS:adr = "3701 W. Alabama, Suite 450-273,
+ Houston, TX 77027, USA"}
+@String{pub-TH = "Thames and Hudson"}
+@String{pub-TH:adr = "London, UK"}
+@String{pub-TUB = "Technische Universit{\"a}t Berlin, Institut
+ f{\"u}r Humanwissenschaft in Arbeit und
+ Ausbildung"}
+@String{pub-TUB:adr = "10623 Berlin, Germany"}
+@String{pub-UCP = "University of Chicago Press"}
+@String{pub-UCP:adr = "Chicago, IL, USA"}
+@String{pub-UNIC = "UNI{$\bullet$}C"}
+@String{pub-UNIC:adr = "Danmarks EDB-Center for Forskning og
+ Uddannelse, Copenhagen, Denmark"}
+@String{pub-URW = "URW (Unternehmensberatung Rubow Weber) Verlag"}
+@String{pub-URW:adr = "Hamburg, Germany"}
+@String{pub-UTP = "University of Toronto Press"}
+@String{pub-UTP:adr = "Toronto, Ontario, Canada"}
+@String{pub-VIEWEG = "Friedrich Vieweg und Sohn"}
+@String{pub-VIEWEG:adr = "Braunschweig, Germany"}
+@String{pub-VNR = "Van Nostrand Reinhold"}
+@String{pub-VNR:adr = "New York, NY, USA"}
+@String{pub-VOGEL = "Vogel Verlag"}
+@String{pub-VOGEL:adr = "Postfach 67 40, D-8700 W{\"u}rzburg, Germany"}
+@String{pub-W = "Wiley"}
+@String{pub-W:adr = "Chichester, UK"}
+@String{pub-WCB = "William C. Brown Company Publishers"}
+@String{pub-WCB:adr = "Dubuque, IA, USA"}
+@String{pub-WGP = "Wat{\-}son-Gup{\-}till Publications"}
+@String{pub-WGP:adr = "1515 Broadway, New York, NY 10036, USA"}
+@String{pub-WORLD-SCI = "World Scientific"}
+@String{pub-WORLD-SCI:adr = "Singapore"}
+@String{pub-WPC = "Wadsworth Publishing Company"}
+@String{pub-WPC:adr = "Belmont, CA, USA"}
+@String{pub-WWS = "The Wynkyn de Worde Society and Bund Deutscher
+ Buchk{\"u}nstler"}
+@String{pub-WWS:adr = "London, UK and Offenbach, Germany"}
+@String{pub-YUP = "Yale University Press"}
+@String{pub-YUP:adr = "New Haven, CT, USA"}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+@Book{Abdelhamid:VLB92,
+ author = "Rames Abdelhamid",
+ title = "{Das Vieweg {\LaTeX}-Buch: Eine praxisorientierte
+ Einf{\"u}hrung}",
+ publisher = pub-VIEWEG,
+ year = "1992",
+ ISBN = "3-528-05145-0",
+ address = pub-VIEWEG:adr,
+ pages = "200",
+ bibdate = "Thu Mar 11 12:01:24 1993",
+}
+
+@Book{Abdelhamid:VLB93,
+ author = "Rames Abdelhamid",
+ title = "{Das Vieweg {\LaTeX}-Buch: Eine praxisorientierte
+ Einf{\"u}hrung}",
+ publisher = pub-VIEWEG,
+ edition = "Second",
+ year = "1993",
+ ISBN = "3-528-15145-5",
+ address = pub-VIEWEG:adr,
+ pages = "xvi + 169",
+ acknowledgement = ack-rz,
+ bibdate = "Wed Mar 2 08:33:46 1994",
+}
+
+@Article{Abikoff:MI-8-3-64,
+ author = "William Abikoff",
+ title = "{\TeX}",
+ journal = j-MATHINTEL,
+ year = "1986",
+ volume = "8",
+ number = "3",
+ pages = "64--76",
+ acknowledgement = ack-ps,
+ bibdate = "Fri Mar 12 09:43:47 1993",
+}
+
+@Article{Abikoff:TEA88,
+ author = "William Abikoff",
+ title = "{\TeX}: The Ease and Art of Text Processing",
+ journal = j-ABACUS,
+ year = "1988",
+ volume = "5",
+ number = "4",
+ pages = "10--29",
+ month = "summer",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 23:38:18 1994",
+}
+
+@Book{Abrahams:TI90,
+ author = "Paul W. Abrahams with Karl Berry and Kathryn A.
+ Hargreaves",
+ title = "{\TeX} for the Impatient",
+ publisher = pub-AW,
+ year = "1990",
+ address = pub-AW:adr,
+ ISBN = "0-201-51375-7",
+ LCCN = "Z253.4.T47 A27 1990",
+ pages = "xvii + 357",
+ bibdate = "Tue Dec 14 23:17:24 1993",
+}
+
+@Book{Abrahams:TI91,
+ author = "Paul W. Abrahams with Karl Berry and Kathryn A.
+ Hargreaves",
+ title = "{\TeX} per l'impaziente",
+ translator = "Gaia Franchi and Guido Franchi",
+ publisher = pub-AW,
+ year = "1991",
+ address = pub-AW:adr,
+ ISBN = "88-7192-022-8",
+ pages = "396",
+ bibdate = "Fri Dec 31 15:47:25 1993",
+ acknowledgement = ack-cb,
+ bookreview = "TUGboat 14, number 4, December 1993, 421--422",
+ note = "This is an translation to Italian of
+ \cite{Abrahams:TI90}, with additional material on
+ Italian hyphenation.",
+}
+
+@InProceedings{Adams:NIPT-353,
+ author = "Debra A. Adams",
+ title = "Evaluating font quality: {A} method of predicting
+ character image defects",
+ crossref = "Pietrowski:NIPT91",
+ pages = "353--364",
+ acknowledgement = ack-kb,
+ bibdate = "Tue Mar 1 11:52:23 1994",
+}
+
+@Manual{Adobe:AT190,
+ title = "Adobe Type 1 Font Format",
+ organization = "{Adobe Systems, Inc.}",
+ year = "1990",
+ month = mar,
+ partnumber = "LPS0064",
+}
+
+@Misc{Adobe:colophon,
+ author = "{Adobe Systems Incorporated}",
+ title = "{Colophon}\emdash {Adobe} {Systems} {News}
+ {Publication}",
+ year = "198?",
+}
+
+@Manual{Adobe:DPS88,
+ title = "The Display {\POSTSCRIPT{}} System Reference",
+ organization = "{Adobe Systems, Inc.}",
+ year = "1988",
+ month = oct # " 10",
+}
+
+@Book{Adobe:PLP88,
+ author = "Glenn C. Reid",
+ title = "{\POSTSCRIPT{}} Language Program Design",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1988",
+ ISBN = "0-201-14396-8",
+ LCCN = "QA76.73.P67 R45 1988",
+ pages = "xii + 224",
+ bibdate = "Tue Dec 14 23:17:57 1993",
+}
+
+@Book{Adobe:PLR85,
+ author = "{Adobe Systems Incorporated}",
+ title = "{\POSTSCRIPT{}} Language Reference Manual",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "{\noopsort{1985a}}1985",
+ ISBN = "0-201-10174-2",
+ LCCN = "QA76.73.P67 A33 1985",
+ pages = "ix + 321",
+ bibdate = "Tue Dec 14 23:18:17 1993",
+}
+
+@Book{Adobe:PLT85,
+ author = "{Adobe Systems Incorporated}",
+ title = "{\POSTSCRIPT{}} Language Tutorial and Cookbook",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "{\noopsort{1985b}}1985",
+ ISBN = "0-201-10179-3",
+ LCCN = "QA76.73.P67 A34 1985",
+ pages = "x + 243",
+ bibdate = "Tue Dec 14 23:18:32 1993",
+}
+
+@InProceedings{Agostini:TEX85-117,
+ crossref = "Lucarella:TSD85",
+ author = "M. Agostini and V. Matano and M. Schaerf and M.
+ Vascotto",
+ title = "An {Interactive} {User}-{Friendly} {\TeX} in
+ {VM}/{CMS} {Environment}",
+ pages = "117--132",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:43:14 1994",
+}
+
+@Article{Aiello:RIV-INF-13-3-261,
+ author = "L. Aiello and S. Pavan",
+ title = "A system for the production of documents based on
+ {\TeX} (in Italian)",
+ journal = "Riv. Inf. (Milan)",
+ year = "1983",
+ volume = "13",
+ number = "3",
+ pages = "261--270",
+ month = jul,
+ bibdate = "Thu Jul 21 19:48:28 1994",
+}
+
+@Book{Alamnehe:EDP93,
+ author = "Abass Alamnehe",
+ title = "{e\LaTeX}: Document Preparation Guide",
+ publisher = pub-ETHIO,
+ address = pub-ETHIO:adr,
+ year = "1993",
+ note = "This book is typeset in {e\LaTeX}, an Ethiopic-based
+ version of {\LaTeX}, and is entirely in the Amharic
+ language, including many of the control sequences.",
+ pages = "xvi + 230",
+ acknowledgement = ack-aa,
+ bibdate = "Fri Apr 1 09:00:27 1994",
+}
+
+@Article{Alexander:SEYBOLD-7-1-3,
+ author = "George Alexander",
+ title = "{\TeX} and {\TeX}tures: Page Composition in a
+ Completely Different Vein",
+ journal = j-SEYBOLD,
+ year = "1992",
+ volume = "7",
+ number = "1",
+ pages = "3--7",
+ month = sep # " 4",
+ bibdate = "Mon Dec 7 18:26:51 1992",
+}
+
+@Article{AMS:NAMS-37-2-143,
+ key = "NEWTEXFEATURES",
+ author = "Anonymous",
+ title = "New {\TeX} Features from {AMS}",
+ journal = j-NAMS,
+ year = "1990",
+ volume = "37",
+ number = "2",
+ pages = "143--144",
+ month = feb,
+}
+
+@Article{AMSCSD:NAMS-37-8-1027,
+ author = "{AMS Composition Services Department}",
+ title = "From Manuscript to Published Paper: How Does it
+ Happen? Part 2",
+ journal = j-NAMS,
+ year = "1990",
+ volume = "37",
+ number = "8",
+ pages = "1027--1028",
+ month = oct,
+}
+
+@InProceedings{Andre:TEX85-141,
+ crossref = "Lucarella:TSD85",
+ author = "Jacques Andr\'e and Richard Southall",
+ title = "Experiments in teaching {\METAFONT}",
+ pages = "141--153",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:43:24 1994",
+}
+
+@InProceedings{Andre:TEX85-79,
+ crossref = "Lucarella:TSD85",
+ author = "Jacques Andr\'e and Yann Grundt and Vincent Quint",
+ title = "Towards an {Interactive} {Math} {Mode} in {\TeX}",
+ pages = "79--92",
+ bibdate = "Tue Mar 1 12:43:35 1994",
+}
+
+@Article{Andre:TSI-1-5,
+ author = "Jacques Andr\'e",
+ title = "Analytical bibliography on text manipulation",
+ journal = j-TSI,
+ volume = "1",
+ number = "5",
+ year = "1983",
+ acknowledgement = ack-hk,
+}
+
+@Article{Antweiler:SIGSAM-23-2-26,
+ author = "Werner Antweiler and Andreas Strotmann and Volker
+ Winkelmann",
+ title = "A {\TeX}-{REDUCE} Interface",
+ journal = j-SIGSAM,
+ year = "1989",
+ volume = "23",
+ number = "2",
+ pages = "26--33",
+ month = apr,
+}
+
+@Book{APA:PMA84,
+ key = "APA",
+ author = "Anonymous",
+ title = "Publication Manual of the American Psychological
+ Association",
+ publisher = pub-APA,
+ address = pub-APA:adr,
+ year = "1984",
+ edition = "third",
+ index = "yes",
+ bibliography = "yes",
+ pages = "208",
+ ISBN = "0-912704-57-8",
+ LCCN = "BF76.7 .P83 1983",
+ annote = "The book contains style guidelines known as the APA
+ style. This ranges from spelling conventions to table
+ formatting. The guidelines assume that papers are
+ produced using a typewriter. The book itself shows a
+ very unpleasant design making reading are hard task.",
+ keywords = "document preparation guidelines, style guidelines,
+ communications in psychology, psychology authorship,
+ American Psychological Association, publication manual,
+ writing",
+ acknowledgement = ack-fm,
+ bibdate = "Tue Mar 1 11:52:52 1994",
+}
+
+@InProceedings{Appelt:TEX85-61,
+ crossref = "Lucarella:TSD85",
+ author = "Wolfgang Appelt",
+ title = "The {Hyphenation} of {Non}-{English} {Words} with
+ {\TeX}",
+ pages = "61--65",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:43:51 1994",
+}
+
+@Book{Appelt:TF88,
+ author = "Wolfgang Appelt",
+ title = "{\TeX{}} f{\"u}r Fortgeschrittene",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1988",
+ ISBN = "3-89319-115-1",
+ pages = "x + 179",
+ bibdate = "Wed Dec 15 08:47:26 1993",
+}
+
+@Book{Appelt:TF94,
+ author = "Wolfgang Appelt",
+ title = "{\TeX{}} f{\"u}r Fortgeschrittene",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ year = "1994",
+ ISBN = "3-89319-695-1",
+ pages = "xii + 183",
+ acknowledgement = ack-rz,
+ bibdate = "Tue Mar 1 14:25:32 MET 1994",
+}
+
+@Book{Arnold:IP72,
+ author = "Edmund C. Arnold",
+ title = "Ink on Paper 2: a Handbook of the Graphic Arts",
+ publisher = pub-HRP,
+ address = pub-HRP:adr,
+ year = "1972",
+ note = "Chapter bibliographies, sidebars, glossary, index, pp.
+ 375.",
+ annote = "Summarizes evolution of printing technoology, with
+ focus on current status.",
+ acknowledgement = ack-jpl,
+ ISBN = "0-06-010131-8",
+ LCCN = "Z244 .A83 1972",
+ pages = "374",
+ bibdate = "Tue Mar 1 12:44:08 1994",
+}
+
+@Article{Arrabito:EPODD-1-2-117,
+ author = "R. Arrabito and H. J{\"{u}}rgensen",
+ title = "Computerized {Braille} Typesetting: Another View of
+ Mark-up Standards",
+ journal = j-EPODD,
+ year = "1988",
+ volume = "1",
+ number = "2",
+ pages = "117--132",
+ month = sep,
+}
+
+@Book{Baecker:HFT89,
+ author = "Ronald M. Baecker and Aaron Marcus",
+ title = "Human Factors and Typography for More Readable
+ Programs",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1989",
+ ISBN = "0-201-10745-7",
+ LCCN = "QA76.75 .B34 1990",
+ pages = "xx + 348",
+ bibliography = "yes",
+ index = "yes",
+ keywords = "visual programming, computer graphics, human-computer
+ interaction",
+ acknowledgement = ack-fm,
+ bibdate = "Tue Dec 14 22:56:18 1993",
+}
+
+@Book{Bailey:ASB70,
+ author = "Herbert S. {Bailey, Jr.}",
+ title = "The Art and Science of Book Publishing",
+ publisher = pub-HRP,
+ address = pub-HRP:adr,
+ year = "1970",
+ note = "Bibliography, tables, figures, appendix, index, pp.
+ 217.",
+ annote = "Semi-narrative style analyzing the management of
+ (book) publishing by a former director of Princeton
+ University Press.",
+ LCCN = "Z278 .B15",
+ pages = "xii + 216",
+ acknowledgement = ack-jpl,
+}
+
+@Book{Bailey:ASB90,
+ author = "Herbert S. {Bailey, Jr.}",
+ title = "The Art and Science of Book Publishing",
+ publisher = pub-OHIO,
+ address = pub-OHIO:adr,
+ edition = "Third",
+ year = "1990",
+ ISBN = "0-8214-0970-0",
+ LCCN = "Z278 .B15 1990",
+ pages = "xviii + 216",
+ acknowledgement = ack-nhfb,
+ bibdate = "Sat Feb 19 12:16:32 1994",
+}
+
+@Book{Barlow:TC92,
+ author = "Geoff Barlow and Simon Eccles",
+ title = "Typesetting and Composition",
+ address = pub-BLUEPRINT:adr,
+ publisher = pub-BLUEPRINT,
+ ISBN = "0-948905-72-7",
+ pages = "274",
+ year = "1992",
+ edition = "second",
+ acknowledgement = ack-mc,
+}
+
+@Article{Barron:EPODD-2-1-3,
+ author = "D. Barron",
+ title = "Why Use {SGML}?",
+ journal = j-EPODD,
+ year = "1989",
+ volume = "2",
+ number = "1",
+ pages = "3--24",
+ month = apr,
+ bibdate = "Tue Mar 1 12:44:34 1994",
+}
+
+@Article{Barwise:NAMS-36-3-241,
+ author = "Jon Barwise",
+ title = "{\TeX}, {\LaTeX}, and {\AmSTeX}",
+ journal = j-NAMS,
+ year = "1989",
+ volume = "36",
+ number = "3",
+ pages = "241--243",
+ month = mar,
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 11:08:55 1993",
+}
+
+@Book{Barzun:WEP86,
+ author = "Jacques Barzun",
+ title = "On Writing, Editing, and Publishing: Essays,
+ Explicative and Hortatory",
+ publisher = pub-UCP,
+ address = pub-UCP:adr,
+ year = "1986",
+ acknowledgement = ack-jpl,
+ ISBN = "0-226-03857-2 (hardcover), 0-226-03858-0 (paperback)",
+ LCCN = "PN149 .B295 1986",
+ pages = "xi + 148",
+ bibdate = "Tue Dec 14 22:56:20 1993",
+}
+
+@Article{BCS:NAMS-33-1-8,
+ author = "Report of the {Boston Computer Society}",
+ title = "Technical {Wordprocessors} for the {IBM PC} and
+ {Compatibles}",
+ journal = j-NAMS,
+ volume = "33",
+ number = "1",
+ pages = "8--37",
+ month = jan,
+ year = "1986",
+ acknowledgement = ack-hk,
+}
+
+@Book{Beccari:LGS91,
+ author = "Claudio Beccari",
+ title = "{\LaTeX}\emdash{}Guida a un sistema di editoria
+ elettronica",
+ publisher = pub-EUH,
+ address = pub-EUH:adr,
+ year = "1991",
+ ISBN = "88-203-1931-4",
+ pages = "ix + 399",
+ acknowledgement = ack-cb,
+ note = "[From the author]: The book is the first and only one
+ in Italian at this moment [18-Nov-1991]. Although it
+ contains an introductory chapter for the beginner, its
+ main purpose is to give the reader advanced information
+ on {\LaTeX} (and partially on {\TeX}) in order to
+ prepare sophisticated macros, style files, and to make
+ a clever use of fonts.
+
+ Here is a reduced table of contents (translated to
+ English):
+
+ Chapter 1 - Introduction \\
+ \hphantom{Chapter }2 - Introductory \LaTeX{} \\
+ \hphantom{Chapter }3 - General commands for text mode
+ \\
+ \hphantom{Chapter }4 - Mathematical commands \\
+ \hphantom{Chapter }5 - Environments \\
+ \hphantom{Chapter }6 - Figures and tables \\
+ \hphantom{Chapter }7 - Macros \\
+ \hphantom{Chapter }8 - Typical documents and style
+ files \\
+ \hphantom{Chapter }9 - Fonts \\
+ Appendix A - \TeX{} Users Group \\
+ \hphantom{Appendix }B - Keyboards \\
+ \hphantom{Appendix }C - Font tables \\
+ \hphantom{Appendix }D - Hyphenation patterns for
+ Italian \\
+ Bibliography \\
+ Index \\
+ The publisher received camera-ready pages that were
+ prepared by the author with a 300-dpi laser printer.
+ The page style dimensions were suitably enlarged while
+ the photo plates were reduced so as to minimize the
+ granulosity of the signs. In practice the book was
+ prepared with 12pt option and reduced by the
+ photografic ratio of 0.8 so that the final real font
+ size is 9.6pt.
+
+ The whole book was prepared with the standard Computer
+ Roman fonts on purpose in order to show the potential
+ user what he can get witha standard \TeX{}/\LaTeX{}
+ kit. The simple pictures were prepared with the
+ ``picture'' environment. The cover and the title page
+ were designed by a graphic expert of the publishing
+ company.",
+ bibdate = "Tue Mar 1 12:44:45 1994",
+}
+
+@Book{Beccari:TLS91,
+ author = "Claudio Beccari",
+ title = "La tesi di laurea scientifica\emdash Con note per la
+ composizione in {\LaTeX}\emdash disco {MS}-{DOS} da
+ 5.25in contenente macroistruzioni di stile",
+ publisher = pub-EUH,
+ year = "1991",
+ address = pub-EUH:adr,
+ ISBN = "88-203-1932-2",
+ note = "The book was typeset by the author and printed with a
+ laser printer having a resolution of 300 dpi. The pages
+ were then photographically reduced by a factor of 0.8
+ to the final size..
+
+ The fonts used are those of the standard
+ {\TeX}/{\LaTeX} set, that is Computer Modern, with a
+ default normal size of 12pt that the photographic
+ reduction made equivalent to approximately 10pt.
+
+ The book is a set of instructions for the preparation
+ of the thesis (Master and PhD levels) according to the
+ Italian State Universities regulations; it deals mostly
+ with literary style but it also includes extensive
+ tables of scientific symbols and nomenclature and many
+ references to Standards regulations.
+
+ The final chapter deal with the typesetting of the
+ thesis with a {\LaTeX} style, TOPTESI, whose source is
+ recorded in a floppy disk that comes with the book.",
+ pages = "vii + 116",
+ bibdate = "Tue Mar 1 12:44:57 1994",
+}
+
+@Book{Bechtolsheim:TP93a,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Basics",
+ publisher = pub-SV,
+ year = "1993",
+ ISBN = "0-387-97595-0, 3-540-97595-0",
+ LCCN = "Z253.4.T47 B4 1993",
+ volume = "1",
+ address = pub-SV:adr,
+ bibdate = "Mon Oct 18 15:41:37 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Bechtolsheim:TP93b,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Paragraphs, Math, and Fonts",
+ publisher = pub-SV,
+ year = "1993",
+ ISBN = "0-387-97596-9, 3-540-97596-9",
+ LCCN = "Z253.4.T47 B4 1993",
+ volume = "2",
+ address = pub-SV:adr,
+ bibdate = "Mon Oct 18 15:41:37 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Bechtolsheim:TP93c,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Tokens, Macros",
+ publisher = pub-SV,
+ year = "1993",
+ ISBN = "0-387-97597-7, 3-540-97597-7",
+ LCCN = "Z253.4.T47 B4 1993",
+ volume = "3",
+ address = pub-SV:adr,
+ bibdate = "Mon Oct 18 15:41:37 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Bechtolsheim:TP93d,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Output Routines, Tables",
+ publisher = pub-SV,
+ year = "1993",
+ ISBN = "0-387-97598-5, 3-540-97598-5",
+ LCCN = "Z253.4.T47 B4 1993",
+ volume = "4",
+ address = pub-SV:adr,
+ bibdate = "Mon Oct 18 15:41:37 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Becker:EPODD-2-3-119,
+ author = "Zeev Becker and Daniel Berry",
+ title = "{{\tt triroff}}, an adaptation of the
+ device-independent {{\tt troff}} for formatting
+ tri-directional text",
+ journal = j-EPODD,
+ year = "1989",
+ volume = "2",
+ number = "3",
+ pages = "119--142",
+ month = oct,
+ bibdate = "Tue Mar 1 12:45:15 1994",
+}
+
+@Manual{Beebe:dvidriver207,
+ author = "Nelson H. F. Beebe",
+ title = "A {\TeX} {DVI} {Driver} {Family} ---
+ ({Revision}~2.07)",
+ address = "University of Utah, Salt Lake City, UT 84112, USA",
+ month = apr,
+ year = "1987",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Bennett:BP91,
+ editor = "Paul A Bennett",
+ title = "Books and Printing",
+ address = pub-BIEL:adr,
+ publisher = pub-BIEL,
+ ISBN = "0-913720-72-0",
+ LCCN = "Z116.A3 B58 1991",
+ pages = "417",
+ subtitle = "A Treasury for Typophiles",
+ year = "1991",
+ note = "first published in 1951",
+ acknowledgement = ack-mc,
+ bibdate = "Fri Jul 22 08:46:15 1994",
+}
+
+@Article{Bentley:CACM-29-5-364,
+ author = "Jon Bentley",
+ title = "Literate Programming",
+ journal = j-CACM,
+ volume = "29",
+ number = "5",
+ pages = "364--369",
+ year = "1986",
+}
+
+@Article{Bentley:EPODD-1-1-3,
+ author = "J. L. Bentley and B. W. Kernighan",
+ title = "Tools for Printing Indexes",
+ journal = j-EPODD,
+ year = "1988",
+ volume = "1",
+ number = "1",
+ pages = "3--18",
+ month = apr,
+}
+
+@Book{Bianco:GUP92,
+ author = "Fiorella Bianco",
+ title = "{\TeX}\emdash Guida all'uso su personal computer
+ (Guide for the use on personal computers)",
+ publisher = pub-Pitagora,
+ year = "1992",
+ address = pub-Pitagora:adr,
+ pages = "ix + 157",
+ ISBN = "88-371-0583-5",
+ note = "Prepared with Plain {\TeX} and book macros written by
+ the author. Final copy produced on a 300-dpi laser
+ printer at magnification 1.2, then reduced for
+ printing.",
+ bibdate = "Tue Mar 1 11:55:51 1994",
+}
+
+@InProceedings{Bien:TEX85-133,
+ crossref = "Lucarella:TSD85",
+ author = "Janusz S. Bie{\'n} and Hanna
+ Ko{\-}{\l}o{\-}dziej{\-}ska",
+ author-l = lang-pl,
+ title = "{\TeX} for {Riad} {Computers}",
+ pages = "133--140",
+ acknowledgement = ack-hk,
+ bibdate = "Thu Jun 23 18:11:13 1994",
+}
+
+@Article{Bien:TEXLINE-89,
+ author = "Janusz S. Bie{\'n}",
+ author-l = lang-pl,
+ title = "Polish {Language} and {\TeX}",
+ journal = j-TEXLINE,
+ number = "8",
+ pages = "2",
+ year = "1988",
+ acknowledgement = ack-hk,
+}
+
+@Article{Bien:WM-29-1-132,
+ author = "Janusz S. Bie{\'n}",
+ author-l = lang-pl,
+ title = "Co to jest {\TeX}? (What is {\TeX}?)",
+ title-l = lang-pl,
+ journal = j-WM,
+ year = "1990",
+ volume = "29",
+ number = "1",
+ pages = "132--156",
+ note = "In Polish.",
+ bibdate = "Thu Jun 23 18:23:05 1994",
+}
+
+@Article{Bigelow:SA-249-2-106,
+ author = "Charles Bigelow and Donald Day",
+ title = "Digital Typography",
+ journal = j-SA,
+ year = "1983",
+ volume = "249",
+ number = "2",
+ pages = "106--119",
+ month = aug,
+}
+
+@InProceedings{Bigelow:TPDM86-1,
+ title = "The Design of {Lucida}: an Integrated Family of Types
+ for Electronic Literacy",
+ author = "Charles Bigelow and Kris Holmes",
+ crossref = "vanVliet:TPDM86",
+ acknowledgement = ack-kb,
+ pages = "1--17",
+ bibdate = "Tue Mar 1 12:45:43 1994",
+}
+
+@TechReport{Billawala:STAN-CS-89-1256,
+ author = "Neenie Billawala",
+ title = "Metamarks: Preliminary studies for a {Pandora's Box}
+ of Shapes",
+ institution = inst-STAN-CS,
+ year = "1989",
+ month = may,
+ number = "{STAN-CS-89-1256}",
+ bibdate = "Tue Mar 1 12:45:52 1994",
+}
+
+@Article{Binding:MDM-4-19-22,
+ author = "Angelika Binding",
+ title = "Einsatz von {\TeX} beim {Springer-Verlag}",
+ journal = j-MDMV,
+ year = "1993",
+ volume = "19",
+ pages = "19--22",
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 10:40:35 1993",
+}
+
+@Book{Black:TDP90,
+ author = "Alison Black",
+ title = "Typefaces for desktop publishing; a user guide",
+ publisher = pub-ADTP,
+ address = pub-ADTP:adr,
+ pages = "106",
+ year = "1990",
+ review = j-TEXLINE # " 13, pp. 10-12",
+ ISBN = "1-85454-841-7",
+ LCCN = "Z253.3.B53 1990",
+ acknowledgement = ack-fm # " and " # ack-mc,
+ bibdate = "Fri Jul 22 08:46:58 1994",
+}
+
+@Book{Borceux:LPT90,
+ author = "Francis Borceux",
+ title = "{\LaTeX}\emdash{}la perfection dans le traitement du
+ texte",
+ publisher = pub-CIAOCO,
+ address = pub-CIAOCO:adr,
+ year = "1990",
+ ISBN = "2-87085-194-4",
+ bibdate = "Wed Dec 15 08:46:29 1993",
+}
+
+@Book{Borde:MTE93,
+ author = "Arvind Borde",
+ title = "Mathematical {\TeX} by Example",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ year = "1993",
+ ISBN = "0-12-117645-2",
+ LCCN = "Z253.4.T47 B67 1993",
+ pages = "xii + 352",
+ bibdate = "Wed Dec 15 08:46:21 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Borde:TE92,
+ author = "Arvind Borde",
+ title = "{\TeX} by Example",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ year = "1992",
+ ISBN = "0-12-117650-9",
+ LCCN = "Z253.4.T47 B67 1992",
+ pages = "xiv + 169",
+ acknowledgement = ack-ab,
+ note = "This book was designed by the author, with some
+ assistance from the production department of Academic
+ Press, Boston. The covers were done by the publisher.
+ It was typeset by the author using Plain {\TeX} plus
+ specially written macros. The code for all macros used
+ for the book are reproduced in it so that the book
+ itself contains all the information---page layout
+ specifications, fonts used, and so on---about its own
+ typesetting.
+
+ Over half the book consists of {\TeX} input and output
+ shown side-by-side, providing an explicit example of
+ how a part of the book was typeset.
+
+ The Academic Press logo on page iii, the
+ cataloging-in-publication data on page iv, and the
+ diagrams on page 33 were pasted in place by the
+ production department of Academic Press.
+
+ The diagrams were drawn using {\LaTeX}. Sample
+ printouts of pages were made on various laser printers.
+ When everything seemed satisfactory, the dvi files were
+ copied onto IBM diskettes and were mailed to Academic
+ Press, and from them to the American Mathematical
+ Society. The final copy was produced by the A.M.S.
+ using an APS micro-5 phototypesetter. All fonts used in
+ the book are from the Computer Modern family.
+
+ Parts of the covers of the book, inside and outside,
+ were done in {\TeX} by the author (the code for this is
+ not included in the book). The outside cover was
+ designed by Camille Pecoul of Academic Press and
+ produced at Allison Associates in Boston. The font used
+ for the title (on the covers) is Meridien. The
+ background pattern was obtained by shooting a handmade
+ marble paper as a black-and-white halftone and then
+ overprinting with the Pantone Matching System (PMS).
+ The placement of material on the cover was done by hand
+ by Ms. Pecoul using a mechanical board. The drop shadow
+ effect was done at Allison Associates.",
+ bibdate = "Tue Mar 1 11:56:22 1994",
+}
+
+@Book{Borde:UGT93,
+ author = "Arvind Borde and Tomas Rokicki",
+ title = "A User's Guide for {\TeX}Help; The On-Line {\TeX}
+ Handbook",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ year = "1993",
+ ISBN = "0-12-117640-1",
+ pages = "v + 28",
+ note = "This small booklet documents the {\TeX}Help program
+ for IBM PC and compatible microcomputers.",
+ bibdate = "Sat Sep 25 13:57:28 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Borkowski:LPS92,
+ author = "Kazimierz M. Borkowski",
+ author-l = lang-pl,
+ title = "{\LaTeX}. Profesjonalny sk{\l}ad publikacji",
+ title-l = lang-pl,
+ publisher = pub-MARSZALEK,
+ publisher-l = lang-pl,
+ year = "1992",
+ address = pub-MARSZALEK:adr,
+ address-l = lang-pl,
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ bibdate = "Thu Jun 23 18:23:12 1994",
+}
+
+@Book{Boston:STT86,
+ author = "Bruce O. Boston",
+ title = "{STET!} Tricks of the Trade for Writers and Editors",
+ publisher = pub-EEI,
+ address = pub-EEI:adr,
+ year = "1986",
+ pages = "310",
+ annote = "A collection of articles from {\em The Editorial Eye},
+ the newsletter on publications standards and practices.
+ Covers editing, writing, proof-reading, and
+ publications management (mostly writing, editing, and
+ proofing).",
+ acknowledgement = ack-jpl,
+ price = "US\$15.95",
+ ISBN = "0-935012-07-9",
+ LCCN = "PN162 .S741 1986",
+ bibdate = "Fri Jul 22 08:47:44 1994",
+}
+
+@Booklet{Botway:LCS-85,
+ author = "Lloyd Botway and Chris Biemesderfer",
+ title = "{\LaTeX} {Command} {Summary} ({\TeX} 1.3, {\LaTeX}
+ 2.08)",
+ howpublished = "Prepared for the Space Telescope Institute, Baltimore,
+ MD; reprinted with permission and distributed by TUG",
+ year = "1985",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 11:57:04 1994",
+}
+
+@InProceedings{Bouma:DP88,
+ author = "Louis G. Bouma and Jeroen Bruijning and Johannes C.
+ {van Vliet}",
+ title = "Document processing",
+ crossref = "vanderVeer:HCI88",
+ year = "1988",
+ pages = "144--169",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 23:40:26 1994",
+}
+
+@Book{Brandt:CAC89,
+ editor = "Josef Brandt and Ivar K. Ugi",
+ title = "Computer Applications in Chemical Research and
+ Education: {A} Collection of Papers Based on Lectures
+ that were Presented at the {VII}th International
+ Conference on Computers in Chemical Research and
+ Education at Garmisch-Partenkirchen, {DE}",
+ publisher = pub-AHV,
+ year = "1989",
+ series = "Computeranwendung in der Chemie",
+ address = pub-AHV:adr,
+ edition = "1",
+ ISBN = "3-7785-1804-6",
+ LCCN = "QD39.3.E46 I56 1985",
+ price = "DM128.00",
+ pages = "xiii + 449",
+ acknowledgement = ack-rw,
+ bibdate = "Fri Jul 22 08:49:47 1994",
+}
+
+@Book{Braswell:IP89,
+ author = "Frank Merritt Braswell",
+ title = "Inside {\POSTSCRIPT{}}",
+ publisher = pub-PEACHPIT,
+ year = "1989",
+ address = pub-PEACHPIT:adr,
+ price = "US\$37.50",
+ ISBN = "0-938151-10-X",
+ LCCN = "QA76.73.P67 B73 1989",
+ bibdate = "Tue Dec 14 23:35:41 1993",
+}
+
+@Article{Brooks:COMPUTER-24-6-7,
+ author = "Kenneth P. Brooks",
+ title = "Lilac: {A} Two-View Document Editor",
+ journal = j-COMPUTER,
+ year = "1991",
+ volume = "24",
+ number = "6",
+ pages = "7--19",
+ month = jun,
+ bibdate = "Tue Mar 1 11:57:20 1994",
+}
+
+@Article{Bruggemann-Klein:EPODD-2-2-101,
+ author = "A. Br{\"{u}}ggeman-Klein and D. Wood",
+ title = "Drawing Trees Nicely with {\TeX{}}",
+ journal = j-EPODD,
+ year = "1989",
+ volume = "2",
+ number = "2",
+ pages = "101--115",
+ month = jul,
+}
+
+@TechReport{Bruin:PL88,
+ author = "R. de Bruin and C. G. {van der Laan} and J. R. Luyten
+ and H. F. Vogt",
+ title = "Publiceren met {\LaTeX{}}",
+ institution = inst-CWI,
+ type = "CWI Syllabus",
+ number = "19",
+ year = "1988",
+ address = inst-CWI:adr,
+ ISBN = "90-6196-357-5",
+ note = "In Dutch; copious examples.",
+ bibdate = "Tue Mar 1 12:47:03 1994",
+}
+
+@Book{Bryan:SAG88,
+ author = "Martin Bryan",
+ title = "{SGML}\emdash{}An Author's Guide to the Standard
+ Generalized Markup Language",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1988",
+ ISBN = "0-201-17535-5",
+ LCCN = "QA76.73.S44 B79 1988",
+ pages = "xvii + 364",
+ annote = "Complete description of SGML including example DTDs.",
+ keywords = "SGML, DTD, document representation",
+ acknowledgement = ack-nhfb # " and " # ack-fm,
+ bibdate = "Tue Dec 14 23:35:58 1993",
+}
+
+@Book{Buerger:LES90,
+ author = "David J. Buerger",
+ title = "{\LaTeX} for Engineers and Scientists",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ year = "1990",
+ ISBN = "0-07-008845-4",
+ LCCN = "Z253.4.L38 B84 1990",
+ pages = "xvi + 198",
+ bibdate = "Tue Dec 14 22:43:21 1993",
+}
+
+@Book{Butcher:CEC81,
+ author = "Judith Butcher",
+ title = "Copy editing: the Cambridge handbook",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ year = "1981",
+ edition = "Second",
+ inprint = "yes",
+ price = "UK\pounds22",
+ annote = "The standard English work on copy editing (CHe)",
+ acknowledgement = ack-fm,
+ ISBN = "0-521-23868-4, 0-521-25638-0",
+ LCCN = "PN162 .B86 1981",
+ bibdate = "Fri Jul 22 08:50:18 1994",
+}
+
+@Booklet{Bzyl:TT93,
+ title = "{\TeX}. {\TeX}??",
+ title-l = lang-pl,
+ author = "W{\l}odek Bzyl",
+ author-l = lang-pl,
+ howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu",
+ howpublished-l = lang-pl,
+ address = "Bachotek",
+ address-l = lang-pl,
+ year = "1993",
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ bibdate = "Thu Jun 23 18:23:18 1994",
+}
+
+@InProceedings{Canzii:TEX85-15,
+ crossref = "Lucarella:TSD85",
+ author = "G. Canzii and G. {Degli Antoni} and S. Mussi and G.
+ Rossi",
+ title = "{SDDS}: {Scientific} {Document} {Delivery} {System}",
+ booktitle = proc-TEX85,
+ year = "1985",
+ editor = "Dario Lucarella",
+ pages = "15--25",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:47:11 1994",
+}
+
+@Article{Casti:NAMS-38-2-105,
+ author = "John L. Casti",
+ title = "{V\TeX} Typesetting Package",
+ journal = j-NAMS,
+ year = "1991",
+ volume = "38",
+ number = "2",
+ pages = "105--109",
+ month = feb,
+}
+
+@Article{Casti:NAMS-40-5-464,
+ author = "John L. Casti",
+ title = "Bitmap-free {\TeX}",
+ journal = j-NAMS,
+ year = "1993",
+ volume = "40",
+ number = "5",
+ pages = "464--468",
+ month = may # "/" # jun,
+ note = "A review of {Y\&Y}'s {DVIWindo} and {DVIPSONE}, and
+ comments on outline fonts for {\TeX}.",
+ bibdate = "Mon May 10 12:29:15 1993",
+}
+
+@InProceedings{Cerofolini:TEX85-191,
+ crossref = "Lucarella:TSD85",
+ author = "Luigi Cerofolini",
+ title = "A {Low} {Cost} {Laser} {Beam} {Printer} {Controller}",
+ pages = "191--195",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:56:41 1994",
+}
+
+@Book{CGP87,
+ author = "Anonymous",
+ title = "Chicago Guide to Preparing Electronic Manuscripts (For
+ Authors and Publishers)",
+ publisher = pub-UCP,
+ address = pub-UCP:adr,
+ year = "1987",
+ ISBN = "0-226-10392-7 (hardcover), 0-226-10393-5 (paperback)",
+ LCCN = "Z286.E43 U54 1987",
+ pages = "xi + 143",
+ note = "Short bibliography, examples, appendices, index",
+ annote = "Describes techniques for electronic submission of
+ manuscripts, rather than camera-ready copy. Discusses
+ publication process from acquisition through
+ typesetting, from perspective of author and
+ publisher.",
+ acknowledgement = ack-jpl,
+ bibdate = "Fri Jul 22 11:10:32 1994",
+}
+
+@Article{Chen:SPE-19-9-897,
+ author = "Pehong Chen and Michael A. Harrison",
+ title = "Index Preparation and Processing",
+ journal = j-SPE,
+ year = "1988",
+ volume = "19",
+ number = "9",
+ pages = "897--915",
+ month = sep,
+ note = "The {\LaTeX} text of this paper is included in the
+ {\tt makeindex} software distribution.",
+}
+
+@TechReport{Chen:UCB-TR-87-347,
+ author = "Pehong Chen and Michael A. Harrison",
+ title = "Automating Index Preparation",
+ institution = "Computer Science Division, University of California",
+ year = "1987",
+ type = "Technical Report",
+ number = "87/347",
+ address = "Berkeley, CA, USA",
+ month = mar,
+ note = "This is an expanded version of
+ \cite{Chen:SPE-19-9-897}.",
+}
+
+@TechReport{Cheswick:ATTCSTR-145,
+ author = "Bill Cheswick",
+ title = "A Permuted Index for {\TeX} and {\LaTeX}",
+ institution = "AT\&T Bell Laboratories",
+ type = "Computing Science Technical Report",
+ number = "145",
+ address = "Murray Hill, NJ, USA",
+ month = feb,
+ year = "1990",
+ note = "Also published by TUG as {\TeX}niques No.~14.",
+ bibdate = "Tue Mar 1 12:47:28 1994",
+}
+
+@Book{Chicago:CMS82,
+ key = "Chicago",
+ author = "Anonymous",
+ title = "The Chicago Manual of Style",
+ subtitle = "Rules for Authors, Printers and Publishers",
+ publisher = pub-UCP,
+ address = pub-UCP:adr,
+ ISBN = "0-226-10390-0",
+ LCCN = "Z253 .U69 1982",
+ year = "1982",
+ edition = "13th",
+ history = "First edition, 1906, 12th edition 1969",
+ pages = "ix + 737",
+ abstract = "For over seventy-five years the University of Chicago
+ Press `Manual of Style' has been the standard reference
+ tool for authors, editors, copywriters, and
+ proofreaders. Updated many times since 1906, it now
+ goes into its thirteenth edition---the first to
+ introduce a change in title. Bowing to what has become
+ nearly universal usage, we now call the `Manual' what
+ everybody else calls it, `The Chicago Manual of
+ Style'---or, for short, `The Chicago Manual'.\par Two
+ pervasive features characterize the present edition: it
+ reflects the impact of the new technology on the entire
+ editing and publishing process, and it spells out, in
+ greater detail and with many more examples, the
+ procedures with which it deals. It is, in short, much
+ more a ``how-to'' book for authors and editors than was
+ its predecessor. In chapter 2, on manuscript
+ preparation and copyediting, for example, new sections
+ have been added on how to mark a manuscript and how to
+ mark type specifications on a script. Chapter 12
+ (``Tables''), completely rewritten, begins with advice
+ on how to make a table from raw data. Chapters 15
+ through 17, on documentation, have been reorganized and
+ greatly expanded, offering many more alternative
+ methods of citation and a wealth of examples. In
+ chapter 18 (``Indexes''), clear step-by-step procedures
+ for the mechanics of index making are set forth. The
+ terminology and methodology of technological advances
+ (in word processing, computerized electronic
+ typesetting, and the like) are reflected most
+ prominently in chapter 20, ``Composition, Printing, and
+ Binding'' (new to this edition), and in the Glossary.
+ Other notable features of the present edition are
+ chapter 4 (``Rights and Permissions''), rewritten in
+ light of the new copyright law, and chapter 9
+ (``Foreign Languages''), which includes a new table of
+ dicritics, a pinyin (Chinese) conversion chart and data
+ on several more languages.\par Throughout, `The Chicago
+ Manual' aims to give clear and straightforward
+ guidelines for preparing and editing copy---with the
+ emphasis on the sensible, the practical, and the
+ economical. As did its predecessors, the thirteenth
+ edition of the `Manual' states the style preferences of
+ the University of Chicago Press and reflects the
+ current practices and requirements of the great
+ majority of American publishers.",
+ inprint = "yes",
+ price = "UK\pounds30",
+ glossary = "yes",
+ printermarks = "yes",
+ bibliography = "yes",
+ index = "yes",
+ annote = "The standard American work on typesetting style etc.
+ (CHe)",
+ keywords = "printing, practical style manuals, authorship
+ handbooks, authorship manuals",
+ acknowledgement = ack-fm # " and " # ack-jpl,
+ bibdate = "Fri Jul 22 08:53:35 1994",
+}
+
+@Article{Church:NAMS-39-8-842,
+ author = "P. T. Church",
+ title = "Using Workshops to Teach {\TeX}",
+ journal = j-NAMS,
+ year = "1992",
+ volume = "39",
+ number = "8",
+ pages = "842",
+ month = oct,
+ note = "{\AmSTeX} input for two workshop handouts may be
+ obtained by anonymous ftp from {\tt syr.edu} in the
+ directory {\tt /math/papers}.",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Clark:PTP92,
+ author = "Malcolm Clark",
+ title = "A Plain {\TeX} Primer",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ year = "1992",
+ ISBN = "0-19-853784-0 (hardback), 0-19-853724-7 (softback)",
+ LCCN = "Z253.4.T47 C46 1992",
+ pages = "481",
+ bibdate = "Tue Dec 14 23:36:18 1993",
+ acknowledgement = ack-mc,
+}
+
+@Periodical{Clark:texline,
+ key = "TEXLINE",
+ editor = "Malcolm Clark",
+ title = j-TEXLINE,
+ year = "1987" # "\unskip--",
+ note = "This is an informal newsletter of the {\TeX{}}
+ community.",
+ ISSN = "0961-3978",
+}
+
+@Misc{comp.text.tex,
+ key = "comp.text.tex",
+ title = "comp.text.tex",
+ year = "1989" # "\unskip--",
+ note = "This is an unmoderated Usenet discussion list about
+ {\TeX{}}.",
+}
+
+@Article{Cornell:MI-8-2-64,
+ author = "Gary Cornell",
+ title = "Chiwriter: Horstman Software Group",
+ journal = j-MATHINTEL,
+ year = "1986",
+ volume = "8",
+ number = "2",
+ pages = "64--65",
+ acknowledgement = ack-ps,
+ bibdate = "Fri Mar 12 09:41:19 1993",
+}
+
+@Book{Craig:DT71,
+ author = "James Craig",
+ title = "Designing with Type",
+ publisher = pub-WGP,
+ address = pub-WGP:adr,
+ year = "1971",
+ ISBN = "0-8230-1320-0",
+ LCCN = "70-159564",
+ pages = "175",
+ comments = "Spiralbound. Seventh printing, 1978.",
+ libnote = "Not yet in my library.",
+ acknowledgement = ack-nhfb,
+ bibdate = "Wed Jul 6 13:57:38 1994",
+}
+
+@Manual{CT89,
+ title = "Code Typographique\emdash Choix de r{\`e}gles {\`a}
+ l'usage des auteurs et professionels du livre",
+ organization = pub-FCGCC,
+ address = pub-FCGCC:adr,
+ year = "1989",
+ edition = "Seizi{\`e}me",
+ note = "This book is a compendium of rules for French
+ typography, and for the typesetting of several foreign
+ languages in French texts. It includes tables of
+ diacritics for most European languages, and hyphenation
+ rules for English, German, Greek, Italian, Latin,
+ Portuguese, and Spanish.",
+ bibdate = "Tue Mar 1 11:59:23 1994",
+}
+
+@Book{Dair:DT67,
+ author = "Carl Dair",
+ title = "Design with Type",
+ publisher = pub-UTP,
+ address = pub-UTP:adr,
+ year = "1967",
+ history = "Paperback reprint 1985",
+ annote = "A good survey of traditional typography with many
+ useful rules of thumb. (RRu)",
+ acknowledgement = ack-fm,
+ ISBN = "0-8020-1426-7 (hardcover), 0-8020-6519-8 (paperback)",
+ LCCN = "Z246 D35 1967",
+ pages = "vi + 162",
+ bibdate = "Fri Jul 22 08:54:08 1994",
+}
+
+@Misc{DANTE:tex-komodie,
+ key = "DANTE",
+ title = "Die {\TeX{}}nische {Kom{\"o}die}",
+ year = "1989" # "\unskip--",
+ note = "Journal of DANTE (Deutschsprachige Anwendervereinigung
+ {\TeX{}} e.V.); Group of German-speaking {\TeX{}
+ Users}.",
+ bibdate = "Tue Mar 1 11:59:14 1994",
+}
+
+@Article{Darling:NAMS-40-2-150,
+ author = "R. W. R. Darling",
+ title = "FrameMaker 3.0",
+ journal = j-NAMS,
+ year = "1993",
+ volume = "40",
+ number = "2",
+ pages = "150--152",
+ month = feb,
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 10:46:51 1993",
+}
+
+@Article{Deach:SEYBOLD-6-7-21,
+ author = "Stephen Deach",
+ title = "Outline font hints and rasterization: {A} technology
+ primer",
+ journal = j-SEYBOLD,
+ year = "1992",
+ volume = "6",
+ number = "7",
+ pages = "21--31",
+ month = mar # " 9",
+ note = "This paper is followed by a dissent from Adobe (Terry
+ O'Donnell), and a response from the author (p. 32). A
+ sidebar (historical note, p. 25) contains a short
+ description of {\MF} and cites {\MF} as a forerunner of
+ the hinting mechanism used in TrueType.",
+ acknowledgement = ack-bnb,
+ bibdate = "Tue Mar 1 11:59:50 1994",
+}
+
+@TechReport{DeMillo:SERC-TR-92-P,
+ author = "Richard A. DeMillo and Aditya P. Mathur",
+ title = "On the Use of Software Artifacts to Evaluate the
+ Effectiveness of Mutation Analysis for Detecting Errors
+ in Production Software",
+ institution = "Software Engineering Research Center",
+ year = "1991",
+ type = "Technical Report",
+ number = "SERC-TR-92-P",
+ address = "Purdue University, W. Lafayette, IN 47907, USA",
+ bibdate = "Tue Mar 1 12:48:47 1994",
+}
+
+@TechReport{Desarmenien:STAN-CS-84-1013,
+ title = "How to run {\TeX{}} in {French}",
+ author = "Jacques D{\'e}sarm{\'e}nien",
+ institution = inst-STANFORD,
+ number = "STAN-CS-84-1013",
+ month = aug,
+ year = "1984",
+ bibdate = "Tue Mar 1 12:48:56 1994",
+}
+
+@InCollection{Desarmenien:SU-84,
+ author = "Jacques D{\'e}sarm{\'e}nien",
+ title = "La division par ordinateur des mots fran\c cais avec
+ le logiciel {\TeX}",
+ booktitle = "How to run {\TeX} in {French}",
+ publisher = inst-STANFORD,
+ pages = "19--42",
+ address = inst-STANFORD:adr,
+ year = "1984",
+ acknowledgement = ack-hk,
+ bibdate = "Sat Mar 12 18:15:30 1994",
+}
+
+@InProceedings{Desarmenien:TEX85-41,
+ crossref = "Lucarella:TSD85",
+ author = "Jacques D{\'e}sarm{\'e}nien",
+ title = "The {Use} of {\TeX} in {French}: {Hyphenation} and
+ {Typography}",
+ pages = "41--59",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:56:44 1994",
+}
+
+@Book{Diller:LLL93,
+ author = "Antoni Diller",
+ title = "{\LaTeX} Line by Line: Tips and Techniques for
+ Document Processing",
+ publisher = pub-W,
+ address = pub-W:adr,
+ year = "1993",
+ series = "Wiley Professional Computing",
+ pages = "xiii + 291",
+ price = "US\$29.95",
+ ISBN = "0-471-93471-2 (softcover)",
+ LCCN = "Z253.4.L38 D55 1993",
+ note = "Optionally accompanied by disk with examples, ISBN
+ 0-471-93797-5.",
+ acknowledgement = ack-bnb,
+}
+
+@Article{Doob:NAMS-36-9-1203,
+ author = "Michael Doob",
+ title = "{\TeX} and Typesetting\emdash An Author's View",
+ journal = j-NAMS,
+ year = "1989",
+ volume = "36",
+ number = "9",
+ pages = "1203--1204",
+ month = nov,
+ bibdate = "Tue Mar 1 11:34:03 1994",
+}
+
+@Article{Doob:NAMS-37-3-270,
+ author = "Michael Doob",
+ title = "{\TeX} and the Single {CPU}",
+ journal = j-NAMS,
+ year = "1990",
+ volume = "37",
+ number = "3",
+ pages = "270--273",
+ month = mar,
+}
+
+@Book{Doob:TS193,
+ author = "Michael Doob",
+ title = "{\TeX}: Starting from 1",
+ publisher = pub-SV,
+ year = "1993",
+ ISBN = "0-387-56441-1",
+ LCCN = "Z253.4.T47 D66 1993",
+ address = pub-SV:adr,
+ pages = "114",
+ price = "US\$25.00",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 7 07:48:20 1994",
+}
+
+@Book{Dreyfus:AFY89,
+ editor = "John Dreyfus and Knut Erichson",
+ title = "{ABC-XYZapf}: Fifty Years in Alphabet Design:
+ Professional and personal contributions selected for
+ Hermann Zapf",
+ publisher = pub-WWS,
+ address = pub-WWS:adr,
+ year = "1989",
+ ISBN = "3-922715-35-4",
+ LCCN = "Z250.A2 Z358 1989",
+ pages = "251",
+ bibdate = "Sun Jul 10 01:13:44 1994",
+}
+
+@Article{Duan:EPODD-2-1-47,
+ author = "G. Duan and R. A. Morris",
+ title = "The Importance of Phase in the Spectra of Digital
+ Type",
+ journal = j-EPODD,
+ year = "1989",
+ volume = "2",
+ number = "1",
+ pages = "47--60",
+ month = apr,
+}
+
+@Book{Dyl:KST94,
+ author = "Dariusz Dyl",
+ author-l = lang-pl,
+ title = "Komputerowy sk{\l}ad tekstu w systemie {\LaTeX}.
+ Przewodnik po komendach i {\'s}rodowiskach wraz z
+ przyk{\l}adami.",
+ title-l = lang-pl,
+ publisher = pub-MARSZALEK,
+ publisher-l = lang-pl,
+ year = "1994",
+ address = pub-MARSZALEK:adr,
+ address-l = lang-pl,
+ edition = "1.",
+ note = "sk{\l}adano w systemie {\LaTeX} (styl book11pt) przy
+ u{\.z}yciu programu Vector{\TeX} ver. 2.24",
+ note-l = lang-pl,
+ note-1 = "In Polish.",
+ acknowledgement = ack-md,
+ bibdate = "Thu Jun 23 18:23:22 1994",
+}
+
+@InProceedings{Eickel:LLS89,
+ crossref = "Nadrchal:ESS89",
+ author = "J{\"u}rgen Eickel",
+ title = "Logical and layout structures of documents",
+ pages = "201--208",
+ note = "Invited paper.",
+ acknowledgement = ack-rw,
+ bibdate = "Tue Mar 1 12:49:13 1994",
+}
+
+@Book{Eijkhout:TTT92,
+ author = "Victor Eijkhout",
+ title = "{\TeX} by Topic, {A} {\TeX}nician's Reference",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1992",
+ ISBN = "0-201-56882-9",
+ LCCN = "Z253.4.T47 E38 1992",
+ pages = "vii + 307",
+ bibdate = "Tue Dec 14 22:47:52 1993",
+}
+
+@Article{Eijkhout:TWIOscoop-8-2-44,
+ author = "Victor Eijkhout and Nico Poppelier",
+ title = "Wat is {\TeX}",
+ journal = j-TWIO,
+ year = "1990",
+ volume = "8",
+ number = "2",
+ pages = "44--48",
+ notes = "In Dutch.",
+}
+
+@Unpublished{English:MF-design,
+ title = "Using {\MF} for Original Font Design",
+ author = "Paul M. English",
+ month = aug,
+ year = "1987",
+ institution = "University of Massachusetts at Boston",
+}
+
+@Misc{EPODD,
+ key = "EPODD",
+ title = j-EPODD,
+ howpublished = pub-W,
+ year = "1988" # "\unskip--",
+ note = "This journal accepts papers in \TeX{} form.",
+ ISSN = "0894-3982",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Fateman:SIGSAM-21-4-1,
+ author = "Richard J. Fateman",
+ title = "{\TeX} Output from {MACSYMA}-like systems",
+ journal = j-SIGSAM,
+ year = "1987",
+ volume = "21",
+ number = "4",
+ pages = "1--5",
+ month = nov,
+}
+
+@Book{Felici:DPS87,
+ author = "James Felici and Ted Nace",
+ title = "Desktop Publishing Skills",
+ subtitle = "A primer for Typesetting with Computers and Laser
+ Printers",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1987",
+ month = aug,
+ pages = "vii + 180",
+ history = "Reprint with corrections",
+ abstract = "Until now, books on desktop publishing have focused on
+ available hardware and software and have neglected the
+ more lasting skills needed to use these tools
+ effectively. This book has been written in response to
+ this need. It provides, in one place, a coherent and
+ accessible introduction to the principles, processes,
+ and techniques of publishing that must be understood
+ before your document production with computers and
+ laser printers can realize its full potential. \par
+ Desktop Publishing Skills introduces publishing basics,
+ such as typesetting, design, and page make-up. It is
+ independent of any specific computer or laser printer,
+ making it a more generic and permanent resource for
+ study or reference. What's more, since the entire book
+ was produced by the authors using the technologies and
+ methods described in the book, you will be able to pick
+ up additional ideas on the effective use of desktop
+ publishing by just looking at the book itself.",
+ inprint = "yes",
+ price = "UK\pounds20",
+ glossary = "yes",
+ printermarks = "no",
+ bibliography = "yes",
+ index = "yes",
+ ISBN = "0-201-11537-9",
+ LCCN = "Z286.D47 F44 1987",
+ annote = "The book is a good primer for people who wish to get
+ involved with `inhouse' publishing. While it addresses
+ people interested in Desktop Publishing, the focus is
+ on typesetting quality. Typesetting fundamentals are
+ explained and it is discussed why they are necessary.
+ This is done from the point of view of the professional
+ looking at the desktop publishing world.\par
+
+ A well written book, worth reading for laymans who are
+ interested in document processing.\par
+
+ \TeX{} is one of the few mentioned typesetting programs
+ but although the quality of its output is acknowledged
+ the authors seem to be unaware of the underlying
+ algorithmic concepts (e.g., paragraph builder) that are
+ superior to the concepts they describe as the
+ `standard'. (FMi)\par
+
+ From the \TeX{}line review: I have no hesitation in
+ recommending this book to anyone with any interest in
+ getting more out of computerised typesetting. (CHe)",
+ review = j-TEXLINE # " number 7, February 1988",
+ keywords = "electronic publishing, computerized typesetting,
+ printing laser use in, self-publishing",
+ acknowledgement = ack-fm,
+ bibdate = "Fri Jul 22 08:55:50 1994",
+}
+
+@Manual{Foata:LTI-84,
+ author = "Dominique Foata and Jean-Jacques Pansiot and Yves
+ Roy",
+ title = "{STRATEC\emdash}un logiciel traitement de textes
+ math\'ematiques en amont de {\TeX} (ver.0.93)",
+ address = "Laboratoire de Typographie Informatique, Universit\'e
+ Louis Pasteur, Strasbourg, France",
+ year = "1984",
+}
+
+@InProceedings{Foata:TEX85-105,
+ crossref = "Lucarella:TSD85",
+ author = "Dominique Foata and Jean-Jacques Pansiot and Yves
+ Roy",
+ title = "{STRATEC} and a {Rationalized} {Keyboard} for
+ {Inputting} {\TeX}",
+ pages = "105--116",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:49:34 1994",
+}
+
+@TechReport{Fuchs:STAN-CS-82-901,
+ author = "David R. Fuchs and Donald E. Knuth",
+ title = "Optimal {Font} {Caching}",
+ institution = inst-STANFORD,
+ year = "1982",
+ number = "STAN-CS-82-901",
+ bibdate = "Tue Mar 1 12:49:38 1994",
+}
+
+@Article{Fujita:COMPCHEM-18-2-109,
+ author = "Shinsaku Fujita",
+ institution = "Ashigara Research Labs Fuji Photo Film Company",
+ title = "Typesetting Structural Formulae with the Text
+ Formatter {\TeX}/{\LaTeX}",
+ year = "1994",
+ journal = j-COMPCHEM,
+ volume = "18",
+ number = "2",
+ pages = "109--116",
+ acknowledgement = ack-mb,
+}
+
+@Article{Furuta:COMP-SURV-14-3-417,
+ author = "Richard Furuta and Jeffrey Scofield and Alan Shaw",
+ title = "Document formatting systems: survey, concepts, and
+ issues",
+ journal = j-COMP-SURVEYS,
+ year = "1982",
+ volume = "14",
+ number = "3",
+ pages = "417--472",
+ month = sep,
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 19:37:03 1994",
+}
+
+@InBook{Furuta:DFS82,
+ author = "Richard Furuta and Jeffrey Scofield and Alan Shaw",
+ title = "Document formatting systems: survey, concepts, and
+ issues",
+ chapter = "??",
+ publisher = pub-ESPNH,
+ year = "1982",
+ ISBN = "??",
+ LCCN = "??",
+ editor = "J. Nievergelt and G. Coray and J.-D. Nicoud and A. C.
+ Shaw",
+ address = pub-ESPNH:adr,
+ pages = "133--220",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 19:40:21 1994",
+}
+
+@Book{Garvey:NEM82,
+ author = "Daniel E. Garvey and William L. Rivers",
+ title = "Newswriting for the Electronic Media: Principles,
+ Examples, Applications",
+ publisher = pub-WPC,
+ address = pub-WPC:adr,
+ year = "1982",
+ note = "Exercises, appendices, index, pp. 250.",
+ annote = "College level text.",
+ acknowledgement = ack-jpl,
+ ISBN = "0-534-01069-5",
+ LCCN = "PN4784.B75 .G3",
+ pages = "xiii + 250",
+ bibdate = "Fri Jul 22 08:56:11 1994",
+}
+
+@Book{Gehani:DFT87,
+ author = "Narain Gehani",
+ title = "Document Formatting and Typesetting on the {UNIX}
+ System",
+ publisher = pub-SILICON,
+ year = "1987",
+ address = pub-SILICON:adr,
+ edition = "Second",
+ ISBN = "0-13-938325-5",
+ LCCN = "QA76.73.A35 G437 1987",
+ pages = "xix + 310",
+ bibdate = "Tue Dec 14 23:36:50 1993",
+}
+
+@TechReport{Ghosh:STAN-CS-83-965,
+ author = "Pijush K. Ghosh",
+ title = "An {Approach} to {Type} {Design} and {Text}
+ {Composition} in {Indian} {Scripts} (with a preface by
+ Donald {E}. Knuth)",
+ institution = inst-STANFORD,
+ year = "1983",
+ number = "STAN-CS-83-965",
+ bibdate = "Tue Mar 1 12:49:50 1994",
+}
+
+@TechReport{Ghosh:STAN-CS-83-966,
+ author = "Pijush K. Ghosh and Charles A. Bigelow",
+ title = "A {Formal} {Approach} to {Lettershape} {Description}
+ for {Type} {Design}",
+ institution = inst-STANFORD,
+ year = "1983",
+ number = "STAN-CS-83-966",
+ bibdate = "Tue Mar 1 12:49:55 1994",
+}
+
+@Article{Gilchrist:NAMS-36-9-1199,
+ author = "Martin Gilchrist",
+ title = "{\TeX} and Typesetting\emdash {A} Publisher's View",
+ journal = j-NAMS,
+ year = "1989",
+ volume = "36",
+ number = "9",
+ pages = "1199--1201",
+ month = nov,
+ bibdate = "Tue Mar 1 11:34:21 1994",
+}
+
+@Article{Gonczarowski:EPODD-2-3-157,
+ author = "Jakob Gonczarowski and On G. Paradise",
+ title = "{InScript}\emdash{}a {C}-like preprocessor for
+ {PostScript}",
+ journal = j-EPODD,
+ year = "1989",
+ volume = "2",
+ number = "3",
+ pages = "157--167",
+ month = oct,
+}
+
+@Book{Goosens:LC94,
+ author = "Michel Goossens and Frank Mittelbach and Alexander
+ Samarin",
+ title = "The {\LaTeX} Companion",
+ publisher = pub-AW,
+ year = "1994",
+ ISBN = "0-201-54199-8",
+ LCCN = "Z253.4.L38 G66 1994",
+ pages = "xxi + 528",
+ address = pub-AW:adr,
+ acknowledgement = ack-nhfb,
+ price = "US\$34.25",
+ bibdate = "Fri Jul 22 11:14:12 1994",
+}
+
+@Article{Gourlay:SPE-29-5-388,
+ author = "John S. Gourlay",
+ title = "A language for music printing",
+ journal = j-SPE,
+ year = "1986",
+ volume = "29",
+ number = "5",
+ pages = "388--401",
+ month = may,
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 22:21:39 1994",
+}
+
+@Book{Gratzer:MT92,
+ author = "George Gr{\"a}tzer",
+ title = "Math into {\TeX}: {A} Simplified Introduction Using
+ {\AmSLaTeX}",
+ publisher = pub-SV # " and " # pub-BH,
+ year = "1992 (or 1993??)",
+ ISBN = "0-8176-3637-4, 3-7643-3637-4",
+ LCCN = "Z253.4.A65G7 1993",
+ address = pub-SV:adr # " and " # pub-BH:adr,
+ price = "US\$34, SFr 52, DM 57",
+ pages = "187 (or xxix + 294)??",
+ bibdate = "Fri Jul 22 08:57:19 1994",
+}
+
+@Article{Gratzer:NAMS-40-2-148,
+ author = "George Gr{\"a}tzer",
+ title = "{\AmSLaTeX}",
+ journal = j-NAMS,
+ year = "1993",
+ volume = "40",
+ number = "2",
+ pages = "148--150",
+ month = feb,
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 10:43:48 1993",
+}
+
+@Article{Gratzer:NAMS-40-7-834,
+ author = "George Gr{\"a}tzer",
+ title = "Advances in {\TeX} Implementations. {I}. PostScript
+ Fonts",
+ journal = j-NAMS,
+ year = "1993",
+ volume = "40",
+ number = "7",
+ pages = "834--838",
+ month = sep,
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 10:45:27 1993",
+}
+
+@Article{Griffee:IBMSYSJ-27-2-206,
+ author = "Alan W. Griffee and Cherrelyn A. Casey",
+ title = "An introduction to typographic fonts and digital font
+ resources",
+ journal = j-IBM-SYS-J,
+ year = "1988",
+ volume = "27",
+ number = "2",
+ pages = "206",
+ acknowledgement = ack-nhfb,
+ bibdate = "Sun Mar 27 18:29:22 1994",
+}
+
+@InProceedings{Guntermann:TEX85-197,
+ crossref = "Lucarella:TSD85",
+ author = "Klaus Guntermann",
+ title = "{GENDRIV}---a driver for low cost devices using
+ built-in fonts",
+ pages = "197--204",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:50:17 1994",
+}
+
+@TechReport{Guoan:STAN-CS-82-914,
+ author = "Gu Guoan and John Hobby",
+ title = "Using {String} {Matching} to {Compress} {Chinese}
+ {Characters}",
+ institution = inst-STAN-CS,
+ year = "1982",
+ type = rep,
+ number = "STAN-CS-82-914",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:50:20 1994",
+}
+
+@Book{Gurari:TLD94,
+ author = "Eitan M. Gurari",
+ title = "{\TeX} and {\LaTeX}: Drawing and Literate
+ Programming",
+ publisher = pub-MH,
+ ISBN = "0-07-025208-4 (book), 0-07-911616-7 (book +
+ diskette)",
+ LCCN = "Z253.4.T47G87 1994",
+ year = "1994",
+ pages = "xiv + 310",
+ price = "US\$34.95",
+ address = pub-MH:adr,
+ bibdate = "Tue Mar 1 12:50:41 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Gurari:WT94,
+ author = "Eitan M. Gurari",
+ title = "Writing with {\TeX}",
+ publisher = pub-MH,
+ year = "1994",
+ ISBN = "0-07-025207-6",
+ LCCN = "Z253.4.T47 G87 1994",
+ address = pub-MH:adr,
+ pages = "xiv + 249",
+ price = "US\$29.95",
+ bibdate = "Wed Sep 29 17:55:14 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Misc{GUTenberg:cahiers,
+ key = "CahiersGUTenberg",
+ title = "Cahiers {GUTenberg}",
+ year = "1988" # "\unskip--",
+ note = "Journal of Groupe des Utilisateurs de {\TeX{}}
+ Francophones (group of French-speaking {\TeX{}}
+ Users).",
+}
+
+@Book{Hahn:LE91,
+ author = "Jane Hahn",
+ title = "{\LaTeX{}} for Everyone\emdash {A} Reference Guide and
+ Tutorial for Typesetting Documents Using a Computer",
+ publisher = pub-PTI,
+ year = "1991",
+ address = pub-PTI:adr,
+ ISBN = "0-9631044-0-3",
+ LCCN = "Z253.4.L38 H34 1991",
+ pages = "xi + 346",
+ price = "US\$19.95",
+ acknowledgement = ack-nhfb,
+ bibdate = "Fri Jan 21 15:24:47 1994",
+}
+
+@Book{Hahn:LE93,
+ author = "Jane Hahn",
+ title = "{\LaTeX{}} for Everyone\emdash {A} Reference Guide and
+ Tutorial for Typesetting Documents Using a Computer",
+ publisher = pub-PH,
+ year = "1993",
+ edition = "Second",
+ address = pub-PH:adr,
+ ISBN = "0-13-605908-2",
+ LCCN = "Z253.4.L38 H35 1993",
+ pages = "xi + 346",
+ price = "US\$19.95",
+ acknowledgement = ack-nhfb,
+ bibdate = "Fri Jan 21 15:24:41 1994",
+}
+
+@Book{Harrower:NDH91,
+ author = "Tim Harrower",
+ title = "The Newspaper Designer's Handbook",
+ publisher = pub-WCB,
+ address = pub-WCB:adr,
+ year = "1991",
+ keywords = "layout, design, typography, newspaper",
+ acknowledgement = ack-fm,
+}
+
+@Book{Hart:HRC91,
+ author = "Horace Hart",
+ title = "Hart's Rules; For Compositors and Readers at the
+ University Press, Oxford",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ edition = "39th",
+ year = "1991",
+ ISBN = "0-19-212983-X",
+ LCCN = "Z254 .H37 1983",
+ history = "Originally compiled by Horace Hart, MA Printer to the
+ University, 1883--1915. First edition, 1893. Fifteenth
+ edition (the first for general sale), 1904.
+ Thirty-eighth edition 1978. Thirty-ninth edition 1983,
+ reprinted 1989 with corrections.",
+ pages = "182",
+ abstract = "In printing and publishing houses Hart is a household
+ word. First printed in 1893, specifically for
+ Compositors and readers at the University Press,
+ Oxford, and first published (in its 15th edition) in
+ 1904, this little book of Rules has become
+ indispensable to all professionals, and widely useful
+ to others concerned with the business of putting words
+ into print --- which includes such matters as
+ alternative spellings, punctuation, capitalization,
+ italicization, abbreviations, and many other details.",
+ inprint = "yes",
+ price = "UK\pounds8",
+ annote = "This book and the Oxford Dictionary for Writers and
+ Editors together give the house style of OUP at its
+ best. (CHe)",
+ glossary = "no",
+ printermarks = "yes",
+ bibliography = "yes",
+ index = "yes",
+ keywords = "typesetting",
+ acknowledgement = ack-fm,
+}
+
+@Article{Hayashi:SPE-17-1-17,
+ author = "T. Hayashi",
+ title = "Transporting {\TeX} into the {HITAC VOS3}
+ environment",
+ journal = j-SPE,
+ year = "1987",
+ volume = "17",
+ number = "1",
+ pages = "17--28",
+ month = jan,
+ bibdate = "Thu Jul 21 22:26:53 1994",
+}
+
+@Book{Hayward:SA77,
+ author = "Stan Hayward",
+ title = "Scriptwriting for Animation",
+ publisher = pub-HHP,
+ address = pub-HHP:adr,
+ year = "1977",
+ pages = "160",
+ annote = "A practical guide.",
+ acknowledgement = ack-jpl,
+ ISBN = "0-8038-6741-7",
+}
+
+@TechReport{Hegron:IRISA-244,
+ author = "G\'erard H\'egron",
+ title = "Algorithmes de g{\'e}n{\-\'e\-}ra{\-}tion de
+ caract\`eres",
+ institution = "IRISA",
+ address = "Rennes, France",
+ year = "1984",
+ type = "Publication interne",
+ number = "244",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:50:53 1994",
+}
+
+@Book{Heinemann:XPS88,
+ editor = "Sue Heinemann and Virginia Croft",
+ title = "Xerox Publishing Standards: {A} Manual of Style and
+ Design",
+ publisher = pub-WGP,
+ address = pub-WGP:adr,
+ year = "1988",
+ ISBN = "0-8230-5964-2",
+ LCCN = "Z286.L68 X47 1988",
+ acknowledgement = ack-fm,
+ price = "US\$35.00",
+ bibdate = "Fri Jul 22 08:59:00 1994",
+}
+
+@TechReport{Hershey:ACT81,
+ author = "Allen V. Hershey",
+ title = "Advanced Computer Typography",
+ institution = "U.~S. Naval Postgraduate School",
+ year = "1981",
+ number = "NPS012-81-005",
+ address = "Monterey, CA 93940, USA",
+ month = dec,
+ bibdate = "Tue Mar 1 12:51:07 1994",
+}
+
+@Article{Hershey:CGIP-1-373,
+ author = "Allen V. Hershey",
+ title = "A Computer System for Scientific Typography",
+ journal = j-CGIP,
+ year = "1972",
+ volume = "1",
+ pages = "373--385",
+}
+
+@TechReport{Hershey:TN-K-27-70,
+ author = "Allen V. Hershey",
+ title = "Preparation of Reports with the {FORTRAN} Typographic
+ System",
+ institution = "U.~S. Naval Weapons Laboratory",
+ year = "1970",
+ number = "TN-K/27-70",
+ address = "Dahlgren, VA 22448, USA",
+ month = sep,
+ bibdate = "Tue Mar 1 12:51:11 1994",
+}
+
+@TechReport{Hershey:TR-2339,
+ author = "Allen V. Hershey",
+ title = "{FORTRAN} {IV} Programming for Cartography and
+ Typography",
+ institution = "U.~S. Naval Weapons Laboratory",
+ year = "1969",
+ number = "TR-2339",
+ address = "Dahlgren, VA 22448, USA",
+ month = sep,
+ bibdate = "Tue Mar 1 12:51:17 1994",
+}
+
+@Book{Higham:HWM93,
+ author = "Nicholas J. Higham",
+ title = "Handbook of Writing for the Mathematical Sciences",
+ publisher = pub-SIAM,
+ year = "1993",
+ ISBN = "0-89871-314-5",
+ LCCN = "QA42.H54 1993",
+ price = "US\$21.50",
+ address = pub-SIAM:adr,
+ month = jun,
+ pages = "xii + 241",
+ note = "[From the publisher]: Having trouble with your latest
+ math paper? Giving a presentation that you just can't
+ pull together? Struggling with your thesis or trying to
+ get your first article published in a technical
+ journal? Handbook of Writing for the Mathematical
+ Sciences is the book for you!
+
+ This handy volume provides information on virtually
+ every issue you will face when writing a technical
+ paper or talk, from choosing the right journal to
+ handling your references. You'll also get an overview
+ of the entire publication process--invaluable for
+ anyone hoping to publish in a technical journal.
+
+ To write a truly impressive paper, you'll need to
+ understand the anatomy of a research paper and the
+ steps involved in revising a draft. This book offers
+ discussions of these fundamental topics, along with
+ illustrative and provocative examples. Also included
+ are chapters on standard English usage, using computers
+ for writing and research, and writing technical
+ material when English is a foreign language.
+
+ This handbook provides much-needed advice on handling
+ the basic ingredients of a research paper, like
+ definitions, theorems, examples, and equations. In
+ addition, appendices provide essential reference
+ material, including summaries of \LaTeX{} symbols and
+ Emacs commands, addresses of mathematical societies,
+ and a list of papers that have won expository writing
+ prizes.
+
+ This book is ideal for graduate students and teachers.
+ Among its special features:
+
+ \begin{itemize} \item Detail and extensive use of
+ examples make it an excellent teaching tool
+
+ \item Discusses \TeX{} and other software tools for
+ preparing publications
+
+ \item Thorough treatment, with examples, of how to
+ write slides (transparencies) for a mathematical
+ talk.
+
+ \item Comprehensive index and extensive bibliography
+ make it an excellent reference
+
+ \item Readable for everyone in the field--from
+ undergraduates to seasoned professionals
+ \end{itemize}
+
+ Contents \\
+ Preface; \\
+ Chapter 1: General Principles; \\
+ Chapter 2: Writer's Tools and Recommended Reading; \\
+ Chapter 3: Mathematical Writing; \\
+ Chapter 4: English Usage; \\
+ Chapter 5: When English is a Foreign Language; \\
+ Chapter 6: Writing a Paper; \\
+ Chapter 7: Revising a Draft; \\
+ Chapter 8: Publishing a Paper; \\
+ Chapter 9: Writing a Talk; \\
+ Chapter 10: Computer Aids for Writing and Research; \\
+ Appendix A: The Greek Alphabet; \\
+ Appendix B: Summary of \TeX{} and \LaTeX{} Symbols; \\
+ Appendix C: GNU Emacs--The Sixty+ Most Useful Commands;
+ \\
+ Appendix D: Mathematical Organizations in the UK and
+ USA; \\
+ Appendix E: Winners of Prizes for Expository Writing;
+ \\
+ Appendix F: Glossary; \\
+ Bibliography; \\
+ Index.\\
+ About the Author:\\
+ Nicholas J. Higham is a Reader in Mathematics at the
+ University of Manchester, UK. He is the author of more
+ than 40 publications and is a member of the editorial
+ board of the SIAM Journal on Matrix Analysis and
+ Applications.",
+ bibdate = "Tue Mar 1 12:03:19 1994",
+ acknowledgement = ack-njh,
+}
+
+@Book{HLRA:91,
+ key = "Harvard Law Review Association",
+ author = "Anonymous",
+ title = "The Bluebook",
+ subtitle = "A Uniform System of Citation",
+ publisher = pub-HLRA,
+ address = pub-HLRA:adr,
+ edition = "15th",
+ pages = "xvii + 343",
+ LCCN = "KF245 .U5 1991",
+ year = "1991",
+ history = "Compiled by the editors of the Columbia Law Review,
+ the Harward Law Review, the University of Pennsylvania
+ Law Review, and the Yale Law Journal",
+ inprint = "yes",
+ index = "yes",
+ keywords = "bibliographies, citation schemes, law",
+ acknowledgement = ack-fm,
+ bibdate = "Fri Jul 22 12:36:10 1994",
+}
+
+@TechReport{Hobby:STAN-CS-83-974,
+ author = "John Hobby and Gu Guoan",
+ title = "A {Chinese} {Meta}-{Font}",
+ institution = inst-STAN-CS,
+ year = "1983",
+ type = rep,
+ number = "STAN-CS-83-974",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:51:34 1994",
+}
+
+@Article{Hohti:SIGAPL-18-3-13,
+ author = "Aarno Hohti",
+ title = "Typesetting {APL} with {\TeX}",
+ journal = j-SIGAPL,
+ year = "1988",
+ volume = "18",
+ number = "3",
+ pages = "13--16",
+ month = mar,
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 22:32:54 1994",
+}
+
+@Book{Holzgang:PPR89,
+ author = "David A. Holzgang",
+ title = "PostScript Programmer's Reference Guide",
+ publisher = pub-SF,
+ address = pub-SF:adr,
+ year = "1989",
+ ISBN = "0-673-38574-4",
+ LCCN = "QA76.73.P67 H64 1989",
+ pages = "x + 486",
+ bibdate = "Wed Dec 15 09:15:12 1993",
+}
+
+@Book{Holzgang:UPP87,
+ author = "David A. Holzgang",
+ title = "Understanding PostScript Programming",
+ publisher = pub-SYBEX,
+ address = pub-SYBEX:adr,
+ year = "1987",
+ ISBN = "0-89588-396-1",
+ LCCN = "QA76.73.P67 H65 1987",
+ pages = "xxxii + 459",
+ bibdate = "Wed Dec 15 09:15:51 1993",
+}
+
+@TechReport{Huggins:STAN-CS-89-1251,
+ title = "Egyptian Hieroglyphs for Modern Printing Devices",
+ author = "K. Cleo R. Huggins",
+ year = "1988",
+ month = jun,
+ number = "STAN-CS-89-1251",
+ institution = inst-STANFORD,
+ bibdate = "Tue Mar 1 12:51:41 1994",
+}
+
+@Book{Hurlburt:GMS78,
+ author = "Allen Hurlburt",
+ title = "The grid: {A} modular system for the design and
+ production of newspapers, magazines, and books",
+ publisher = pub-VNR,
+ address = pub-VNR:adr,
+ year = "1978",
+ annote = "Explains reasons for the use of grid systems in the
+ design of newspapers, magazines, and books. It contains
+ many examples, actual layouts and their underlying
+ grids. (FMi)\par A complete introduction to using grids
+ in newspaper, magazine, and book design. (RRu)",
+ keywords = "layout, design, typography, grids",
+ acknowledgement = ack-fm,
+ price = "US\$15.00",
+ ISBN = "0-442-23598-4",
+ LCCN = "Z246 .H82",
+ pages = "96",
+ bibdate = "Fri Jul 22 11:15:07 1994",
+}
+
+@Book{IBM:CDG88,
+ key = "IBM",
+ author = "Anonymous",
+ title = "Composing Documents with the Generalized Markup
+ Language",
+ publisher = pub-IBM,
+ number = "S544-3421",
+ address = pub-IBM:adr,
+ year = "1988",
+ month = mar,
+ edition = "Second",
+ keywords = "GML, document preparation systems, DTD, SCRIPT
+ (Computer Program), DCF (Computer Program)",
+ acknowledgement = ack-fm,
+ bibdate = "Sat Mar 12 18:08:55 1994",
+}
+
+@Book{Ibrus:VET93,
+ author = "Hans Ibrus",
+ title = "{V\"aike Eesti {\TeX}iraamat}",
+ publisher = pub-KOMPUT,
+ address = pub-KOMPUT:adr,
+ year = "1992",
+ pages = "144",
+ note = "In Estonian. Appendix A is a translation into Estonian
+ of \cite{Samuel:STAN-CS-83-985}.",
+ acknowledgement = ack-bnb,
+ bibdate = "Tue Mar 1 12:51:49 1994",
+}
+
+@Manual{Ikarus:83,
+ key = "Ikarus",
+ title = "{IKARUS} for {Typefaces} in {Digital} {Form}",
+ address = "URW Unternehmensberatung Karow Rubow Weber GMBH,
+ Hamburg, Germany",
+ year = "1983",
+ acknowledgement = ack-hk,
+}
+
+@InCollection{Incerpi:GFT86,
+ author = "Janet Incerpi and Francis Montagnac",
+ title = "{Using} the {DVI} {Library}",
+ booktitle = "Getting {Faster} {\TeX} {Output}.",
+ publisher = pub-INRIA,
+ year = "1986",
+ address = pub-INRIA:adr,
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Incerpi:INRIA-71,
+ author = "Janet Incerpi and Francis Montagnac",
+ title = "Getting {Faster} {\TeX} {Output}. {Using} the {DVI}
+ {Library}",
+ institution = pub-INRIA,
+ address = pub-INRIA:adr,
+ month = jul,
+ year = "1986",
+ type = "Rapports Techniques No.",
+ number = "71",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:52:02 1994",
+}
+
+@Booklet{Jackowski:MZP93,
+ title = "Metafont: zastosowania praktyczne i niepraktyczne",
+ title-l = lang-pl,
+ author = "Bogus{\l}aw Jackowski",
+ author-l = lang-pl,
+ howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu",
+ howpublished-l = lang-pl,
+ address = "Bachotek",
+ address-l = lang-pl,
+ year = "1993",
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ bibdate = "Thu Jun 23 18:19:41 1994",
+}
+
+@Unpublished{Jackowski:WTP88,
+ author = "Bogus{\l}aw Jackowski and Tomasz Ho{\l}dys and Marek
+ Ry\'{cko}",
+ title = "With {\TeX} to the {Poles}: a few parochial remarks on
+ using {\TeX} by the non-{English}",
+ year = "1988",
+ note = "Anima Ltd, Gda\'{nsk}",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:52:14 1994",
+}
+
+@Book{Japanese-texnicolor,
+ key = "JAPANESETEXNICOLOR",
+ author = "Anonymous",
+ title = "The Japanese {\TeX}{\-}ni{\-}color Book",
+ publisher = pub-ASCII,
+ year = "1990",
+ address = pub-ASCII:adr,
+ ISBN = "4-7561-0405-3",
+ note = "Japanese; contents include chapters on the history of
+ {\TeX{}} and of the Japanese {\TeX{}} extension, file
+ formats (fonts and {{\tt.dvi}}), and device drivers.",
+}
+
+@Book{Johnstone:LC92,
+ author = "Adrian Johnstone",
+ title = "{\LaTeX}, Concisely",
+ publisher = pub-EH,
+ year = "1992",
+ ISBN = "0-13-524539-7",
+ LCCN = "Z253.4.L38 J64 1992",
+ price = "US\$30.00",
+ pages = "xviii + 170",
+ address = pub-EH:adr,
+ bibdate = "Wed Jul 6 14:01:03 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Karow:DFT87,
+ author = "Peter Karow",
+ title = "Digital Formats for Typefaces",
+ publisher = pub-URW,
+ address = pub-URW:adr,
+ year = "1987",
+ ISBN = "3-926515-01-5",
+ LCCN = "Z253.3 .K371 1987",
+ pages = "400",
+ bibdate = "Fri Jul 22 09:01:47 1994",
+}
+
+@Book{Karow:DS92,
+ author = "Peter Karow",
+ title = "Digitale Schriften, Darstellung und Formate,
+ Geleitwort von Hermann Zapf (Digital Fonts,
+ Representation and Formats, Forward by Hermann Zapf)",
+ publisher = pub-SV # " and " # pub-URW,
+ address = pub-SV:adr # " and " # pub-URW:adr,
+ year = "1992",
+ pages = "xiii + 457, with 230 illustrations",
+ acknowledgement = ack-bnb # " and " # ack-ps,
+}
+
+@Book{Karow:F94,
+ author = "Peter Karow",
+ title = "Fonttechnology",
+ publisher = pub-SV,
+ year = "1994",
+ ISBN = "0-387-57223-6",
+ address = pub-SV:adr,
+ pages = "450",
+ price = "US\$56.00",
+ acknowledgement = ack-nhfb,
+ bibdate = "Mon Dec 27 14:32:40 1993",
+}
+
+@Book{Katzenbeisser:ET93,
+ author = "Stefan Katzenbeisser",
+ title = "Einf{\"u}hrung in {\TeX{}}",
+ publisher = pub-OLDENBOURG,
+ address = pub-OLDENBOURG:adr,
+ year = "1993",
+ pages = "108",
+ ISBN = "3-486-22682-7",
+ acknowledgement = ack-rz,
+ bibdate = "Tue Mar 1 11:30:20 1994",
+}
+
+@InProceedings{Keller:TEX85-1,
+ crossref = "Lucarella:TSD85",
+ author = "Arthur M. Keller",
+ title = "Typesetting by {Authors}",
+ pages = "1--14",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:52:21 1994",
+}
+
+@Article{Kernighan:COMPSYS-2-2-103,
+ author = "Brian W. Kernighan and Christopher J. Van Wyk",
+ title = "Page Makeup by Postprocessing Text Formatter Output",
+ journal = j-COMPSYS,
+ year = "1989",
+ volume = "2",
+ number = "2",
+ pages = "103--132",
+}
+
+@Article{Knuth:BAMSN-1-337,
+ author = "Donald E. Knuth",
+ title = "Mathematical Typography",
+ journal = j-BAMSN,
+ volume = "1",
+ pages = "337--372",
+ month = mar,
+ year = "1979",
+ note = "Also published as a Stanford CS Report,
+ STAN-CS-78-648",
+ acknowledgement = ack-bnb,
+ bibdate = "Wed Mar 10 11:19:57 1993",
+}
+
+@Article{Knuth:CJ-2-27-97,
+ author = "Donald E. Knuth",
+ title = "Literate Programming",
+ journal = j-CJ,
+ year = "1984",
+ number = "2",
+ volume = "27",
+ pages = "97--111",
+ month = may,
+}
+
+@Book{Knuth:CSS93,
+ author = "Donald E. Knuth and Silvio Levy",
+ title = "The {CWEB} System of Structured Documentation, Version
+ 3.0",
+ publisher = pub-AW,
+ year = "1993",
+ ISBN = "0-201-57569-8",
+ LCCN = "QA76.9.D3 K6 1993",
+ address = pub-AW:adr,
+ pages = "226",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu May 12 08:36:22 1994",
+}
+
+@Book{Knuth:ct-a,
+ author = "Donald E. Knuth",
+ title = "The {\TeX}book",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "{\noopsort{1986a}}1986",
+ volume = "A",
+ series = "Computers and Typesetting",
+ ISBN = "0-201-13447-0",
+ LCCN = "Z253.4.T47 K58 1986",
+ pages = "ix + 483",
+ price = "US\$32.95",
+ bibdate = "Fri Jul 22 09:03:17 1994",
+}
+
+@Book{Knuth:ct-b,
+ author = "Donald E. Knuth",
+ title = "{\TeX}: The Program",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "{\noopsort{1986b}}1986",
+ volume = "B",
+ series = "Computers and Typesetting",
+ ISBN = "0-201-13437-3",
+ LCCN = "Z253.4.T47 K578 1986",
+ price = "US\$32.95",
+ pages = "xv + 594",
+ bibdate = "Fri Jul 22 09:03:46 1994",
+}
+
+@Book{Knuth:ct-c,
+ author = "Donald E. Knuth",
+ title = "The {\METAFONT}book",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "{\noopsort{1986c}}1986",
+ volume = "C",
+ series = "Computers and Typesetting",
+ pages = "xi + 361",
+ ISBN = "0-201-13445-4 (hardcover), 0-201-13444-6 (paperback)",
+ LCCN = "Z250.8.M46 K58 1986",
+ price = "US\$32.95 (hardcover), US\$16.95 (paperback)",
+ bibdate = "Fri Jul 22 09:06:26 1994",
+}
+
+@Book{Knuth:ct-d,
+ author = "Donald E. Knuth",
+ title = "{\METAFONT}: The Program",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "{\noopsort{1986d}}1986",
+ volume = "D",
+ series = "Computers and Typesetting",
+ ISBN = "0-201-13438-1",
+ LCCN = "Z250.8.M46 K578 1986",
+ price = "US\$32.95",
+ pages = "xv + 560",
+ bibdate = "Fri Jul 22 09:06:27 1994",
+}
+
+@Book{Knuth:ct-e,
+ author = "Donald E. Knuth",
+ title = "Computer Modern Typefaces",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "{\noopsort{1986e}}1986",
+ volume = "E",
+ series = "Computers and Typesetting",
+ ISBN = "0-201-13446-2",
+ LCCN = "Z250.8.M46 K574 1986",
+ pages = "xv + 588",
+ bibdate = "Fri Jul 22 09:06:29 1994",
+}
+
+@InProceedings{Knuth:INRIA-119-85,
+ crossref = "Andre:INRIA85",
+ author = "Donald E. Knuth",
+ title = "Le concept de {Metafonte}",
+ pages = "119--132",
+ note = "Przedruk z ``Communication et langages'' no.55 (1983)
+ pp.40--53",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:52:49 1994",
+}
+
+@Book{Knuth:LP92,
+ author = "Donald E. Knuth",
+ title = "Literate Programming",
+ publisher = pub-SUCSLI,
+ address = pub-SUCSLI:adr,
+ series = "CSLI Lecture Notes Number 27",
+ year = "1992",
+ ISBN = "0-937073-80-6 (paperback), 0-937073-81-4 (hardcover)",
+ LCCN = "QA76.6 .K644 1992",
+ pages = "xiii + 368",
+ price = "US\$24.95 (paperback), US\$59.95 (hardcover)",
+ acknowledgement = ack-nhfb,
+ bibdate = "Fri Jul 22 09:08:14 1994",
+}
+
+@Article{Knuth:MI-2-3-114,
+ author = "Donald E. Knuth",
+ title = "The Letter {S}",
+ journal = j-MATHINTEL,
+ year = "1979, 1980",
+ volume = "2",
+ number = "3",
+ pages = "114--112",
+ note = "Also published as \cite{Knuth:STAN-CS-80-795}.",
+ bibdate = "Fri Mar 12 09:49:24 1993",
+}
+
+@Manual{Knuth:MW89,
+ author = "Donald E. Knuth and Tracy Larrabee and Paul M.
+ Roberts",
+ title = "Mathematical Writing",
+ organization = "Mathematical Association of America Notes Number 14",
+ year = "1989",
+ ISBN = "0-88385-063-X",
+}
+
+@Article{Knuth:SP-20-3-131,
+ author = "Donald E. Knuth and Hermann Zapf",
+ title = "{AMS} Euler\emdash {A} New Typeface for Mathematics",
+ journal = j-SCHOLAR,
+ year = "1989",
+ volume = "20",
+ number = "3",
+ pages = "131--157",
+ month = apr,
+}
+
+@Article{Knuth:SPE-11-1119,
+ author = "Donald E. Knuth and Michael F. Plass",
+ title = "Breaking {Paragraphs} into {Lines}",
+ journal = j-SPE,
+ volume = "11",
+ number = "11",
+ month = nov,
+ pages = "1119--1184",
+ year = "1981",
+ acknowledgement = ack-hk,
+ bibdate = "Thu Jul 21 19:31:31 1994",
+}
+
+@Article{Knuth:SPE-19-7-607,
+ author = "Donald E. Knuth",
+ title = "The Errors of {\TeX}",
+ journal = j-SPE,
+ year = "1989",
+ volume = "19",
+ number = "7",
+ pages = "607--681",
+ month = jul,
+ note = "This is an updated version of
+ \cite{Knuth:STAN-CS-88-1223}.",
+}
+
+@TechReport{Knuth:STAN-CS-78-648,
+ title = "Mathematical Typography",
+ author = "Donald E. Knuth",
+ institution = inst-STANFORD,
+ number = "STAN-CS-78-648",
+ month = feb,
+ year = "1978",
+ note = "Also published as \cite{Knuth:BAMSN-1-337}.",
+ bibdate = "Tue Mar 1 12:53:34 1994",
+}
+
+@TechReport{Knuth:STAN-CS-78-675,
+ author = "Donald E. Knuth",
+ title = "{TAU EPSILON CHI}. {A} {System} for {Technical}
+ {Text}",
+ institution = inst-STAN-CS,
+ year = "1978",
+ type = rep,
+ number = "STAN-CS-78-675",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:53:38 1994",
+}
+
+@TechReport{Knuth:STAN-CS-79-762,
+ author = "Donald E. Knuth",
+ title = "Metafont---{A} {System} for {Alphabet} {Design}",
+ institution = inst-STAN-CS,
+ year = "1979",
+ type = rep,
+ number = "STAN-CS-79-762",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:53:41 1994",
+}
+
+@TechReport{Knuth:STAN-CS-80-780,
+ author = "Donald E. Knuth",
+ title = "The {Computer} {Modern} {Family} of {Typefaces}",
+ institution = inst-STAN-CS,
+ year = "1980",
+ type = rep,
+ number = "STAN-CS-80-780",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:53:42 1994",
+}
+
+@TechReport{Knuth:STAN-CS-80-795,
+ author = "Donald E. Knuth",
+ title = "The Letter {S}",
+ institution = inst-STANFORD,
+ number = "STAN-CS-80-795",
+ month = apr,
+ year = "1980",
+ note = "Also published as \cite{Knuth:MI-2-3-114}.",
+ bibdate = "Tue Mar 1 12:53:46 1994",
+}
+
+@TechReport{Knuth:STAN-CS-81-886,
+ title = "The Concept of a Meta-Font",
+ author = "Donald E. Knuth",
+ institution = inst-STANFORD,
+ number = "STAN-CS-81-886",
+ month = oct,
+ year = "1981",
+ bibdate = "Tue Mar 1 12:53:48 1994",
+}
+
+@TechReport{Knuth:STAN-CS-83-978,
+ author = "Donald E. Knuth",
+ title = "Lessons {Learned} from {\METAFONT}",
+ institution = inst-STAN-CS,
+ year = "1983",
+ type = rep,
+ number = "STAN-CS-83-978",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:53:50 1994",
+}
+
+@TechReport{Knuth:STAN-CS-83-980,
+ author = "Donald E. Knuth",
+ title = "The {WEB} {System} of {Structured}
+ {Documentation}---ver.2.3",
+ institution = inst-STAN-CS,
+ year = "1983",
+ type = rep,
+ number = "STAN-CS-83-980",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:53:52 1994",
+}
+
+@TechReport{Knuth:STAN-CS-83-981,
+ author = "Donald E. Knuth",
+ title = "Literate Programming",
+ institution = inst-STAN-CS,
+ year = "1983",
+ type = rep,
+ number = "STAN-CS-83-981",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:53:54 1994",
+}
+
+@TechReport{Knuth:STAN-CS-84-1027,
+ author = "Donald E. Knuth",
+ title = "A torture test for {\TeX}",
+ institution = inst-STAN-CS,
+ year = "1984",
+ type = rep,
+ number = "STAN-CS-84-1027",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:53:56 1994",
+}
+
+@TechReport{Knuth:STAN-CS-86-1095,
+ author = "Donald E. Knuth",
+ title = "A {Torture} {Test} for {\METAFONT}",
+ institution = inst-STAN-CS,
+ year = "1986",
+ type = rep,
+ number = "STAN-CS-86-1095",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:53:59 1994",
+}
+
+@TechReport{Knuth:STAN-CS-86-1097,
+ author = "Donald E. Knuth",
+ title = "{\TeX}ware",
+ institution = inst-STAN-CS,
+ month = apr,
+ year = "1986",
+ type = rep,
+ number = "STAN-CS-86-1097",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:54:01 1994",
+}
+
+@TechReport{Knuth:STAN-CS-88-1223,
+ author = "Donald E. Knuth",
+ title = "The Errors of {\TeX}",
+ institution = inst-STAN-CS,
+ year = "1988",
+ number = "STAN-CS-88-1223",
+ month = sep,
+ bibdate = "Tue Mar 1 12:54:02 1994",
+}
+
+@Article{Knuth:TB11-1-13-23,
+ author = "Donald Knuth",
+ title = "{Virtual Fonts: More Fun for Grand Wizards}",
+ journal = j-TUGboat,
+ year = "1990",
+ volume = "11",
+ number = "1",
+ pages = "13--23",
+ month = Apr,
+}
+
+@Book{Knuth:TB84,
+ author = "Donald E. Knuth",
+ title = "The {\TeX}book",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1984",
+ ISBN = "0-201-13448-9 (paperback), 0-201-13447-0 (hardcover)",
+ LCCN = "Z253.4.T47 K58 1984",
+ pages = "ix + 483",
+ price = "US\$15.95 (paperback), US\$32.95 (hardcover)",
+ bibdate = "Fri Jul 22 09:08:51 1994",
+}
+
+@Book{Knuth:TB89,
+ author = "Donald E. Knuth",
+ title = "The {\TeX}book",
+ publisher = pub-ASCII,
+ year = "1989",
+ address = pub-ASCII:adr,
+ ISBN = "4-7561-0010-4",
+ note = "Translation of the {\TeX}book into Japanese, with
+ addition of Appendix K, and new drawings by Duane
+ Bibby.",
+}
+
+@Book{Knuth:tex82,
+ author = "Donald E. Knuth",
+ title = "{\TeX}82",
+ publisher = inst-STANFORD,
+ year = "1982",
+ address = inst-STANFORD:adr,
+ acknowledgement = ack-hk,
+ bibdate = "Sat Mar 12 18:14:53 1994",
+}
+
+@Article{Knuth:TEXHAX-89-98,
+ author = "Donald E. Knuth",
+ title = "Calling all Grand Wizards",
+ journal = j-TEXHAX,
+ year = "1989",
+ volume = "89",
+ number = "98",
+ month = nov,
+}
+
+@Article{Knuth:TEXHAX-90-11,
+ author = "Donald E. Knuth",
+ title = "{Virtual fonts: More fun for Grand Wizards}",
+ journal = j-TEXHAX,
+ year = "1990",
+ volume = "90",
+ number = "11 and 12",
+ month = jan,
+}
+
+@Article{Knuth:TEXHAX-90-13,
+ author = "Donald E. Knuth and Joe Weening",
+ title = "New {{\TeX}{\slash}{\METAFONT}} sources available on
+ {Stanford's} master archive",
+ journal = j-TEXHAX,
+ year = "1990",
+ volume = "90",
+ number = "13",
+ month = jan,
+}
+
+@Book{Knuth:texware82,
+ author = "Donald E. Knuth",
+ title = "{\TeX}ware (version 1)",
+ publisher = inst-STANFORD,
+ year = "1982",
+ address = inst-STANFORD:adr,
+ acknowledgement = ack-hk,
+ bibdate = "Sat Mar 12 18:14:56 1994",
+}
+
+@Book{Knuth:TFT82,
+ author = "Donald E. Knuth",
+ title = "A test file for {\TeX}",
+ publisher = inst-STANFORD,
+ year = "1982",
+ address = inst-STANFORD:adr,
+ acknowledgement = ack-hk,
+ bibdate = "Sat Mar 12 18:15:05 1994",
+}
+
+@Book{Knuth:TMN79,
+ author = "Donald E. Knuth",
+ title = "{\TeX} and {\METAFONT}\emdash New Directions in
+ Typesetting",
+ publisher = pub-DP,
+ address = pub-DP:adr,
+ year = "1979",
+ ISBN = "0-932376-02-9",
+ LCCN = "Z253.3 .K58 1979",
+ pages = "xi + 201 + 105",
+ bibdate = "Wed Dec 15 10:37:42 1993",
+}
+
+@Article{Knuth:TOGS-6-4-245,
+ author = "Donald E. Knuth",
+ title = "Digital Halftones by Dot Diffusion",
+ journal = j-TOGS,
+ year = "1987",
+ volume = "6",
+ number = "4",
+ pages = "245--273",
+ month = oct,
+}
+
+@Article{Knuth:VL-16-1-3,
+ author = "Donald E. Knuth",
+ title = "The {Concept} of a {Meta}-{Font}",
+ journal = j-VL,
+ volume = "16",
+ number = "1",
+ pages = "3--27",
+ month = "winter",
+ year = "1982",
+ acknowledgement = ack-hk,
+}
+
+@Book{Knuth:web82,
+ author = "Donald E. Knuth",
+ title = "The {WEB} System of Structured Documentation---Version
+ 1",
+ publisher = inst-STANFORD,
+ year = "1982",
+ address = inst-STANFORD:adr,
+ acknowledgement = ack-hk,
+ bibdate = "Sat Mar 12 18:15:11 1994",
+}
+
+@Article{Kolodziejska:CG-0-3,
+ author = "Hanna Ko{\l}odziejska",
+ title = "Le traitement des textes polonais avec le logiciel
+ {\TeX}",
+ journal = j-GUTENBERG,
+ number = "0",
+ pages = "3--10",
+ month = apr,
+ year = "1988",
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Kolodziejska:dzielenie,
+ author = "Hanna Ko{\l}odziejska",
+ title = "Dzielenie wyraz{\'o}w polskich w systemie {\TeX}",
+ institution = "Sprawozdania Instytutu Informatyki Uniwersytetu
+ Warszawskiego",
+ year = "1987",
+ number = "165",
+ bibdate = "Tue Mar 1 12:54:07 1994",
+}
+
+@Article{Kolodziejska:MIKROLAN-1-12,
+ author = "Hanna Ko{\l}odziejska",
+ title = "{\TeX}",
+ journal = j-MIKROLAN,
+ year = "1988",
+ number = "1",
+ pages = "12",
+}
+
+@Book{Kopka:GLD93,
+ author = "Helmut Kopka and Patrick W. Daly",
+ title = "A Guide to {\LaTeX}: Document Preparation for
+ Beginners and Advanced Users",
+ ISBN = "0-201-56889-6",
+ publisher = pub-AW,
+ year = "1993",
+ address = pub-AW:adr,
+ price = "US\$34.50",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jan 20 12:34:31 1994",
+}
+
+@Book{Kopka:LE88,
+ author = "Helmut Kopka",
+ title = "{\LaTeX}\emdash{}Eine Einf{\"u}hrung",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Second",
+ year = "1988",
+ pages = "xvi + 340",
+ ISBN = "3-89319-199-2",
+ bibdate = "Wed Jul 6 15:09:48 1994",
+}
+
+@Book{Kopka:LE90,
+ author = "Helmut Kopka",
+ title = "{\LaTeX{}}\emdash
+ {}Er{\-}weit{\-}er{\-}ungs{\-}m{\"o}g{\-}lich{\-}keit{\-}en",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ year = "1990",
+ ISBN = "3-89319-287-5",
+}
+
+@Book{Kopka:LE91,
+ author = "Helmut Kopka",
+ title = "{\LaTeX{}}\emdash{}Eine Einf{\"u}hrung",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Third",
+ year = "1991",
+ pages = "375",
+ ISBN = "3-89319-338-3",
+}
+
+@Book{Kopka:LE93,
+ author = "Helmut Kopka",
+ title = "{\LaTeX{}}\emdash{}Eine Einf{\"u}hrung",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Fourth",
+ year = "1993",
+ pages = "xviii + 461",
+ ISBN = "3-89319-434-7",
+ acknowledgement = ack-rz,
+ bibdate = "Tue Mar 1 14:25:32 MET 1994",
+}
+
+@Book{Kopka:LE94a,
+ author = "Helmut Kopka",
+ title = "{\LaTeX{}} Band 1: Einf{\"u}hrung",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ year = "1994",
+ pages = "xix + 428",
+ ISBN = "3-89319-664-1",
+ note = "Replaces the old series of two volumes.",
+ acknowledgement = ack-rz,
+ bibdate = "Tue Mar 1 14:25:32 MET 1994",
+}
+
+@Book{Kopka:LE94b,
+ author = "Helmut Kopka",
+ title = "{\LaTeX{}} Band 2: Erg{\"a}nzungen",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ acknowledgement = ack-rz,
+ year = "1994 (to appear)",
+ bibdate = "Tue Mar 1 11:31:23 1994",
+}
+
+@Book{Kopka:LE94c,
+ author = "Helmut Kopka",
+ title = "{\LaTeX{}} Band 3: Erweiterungen\emdash mit einer
+ Einf{\"u}rung in {\MF}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ year = "1994 (to appear)",
+ acknowledgement = ack-rz,
+ bibdate = "Tue Mar 1 11:31:31 1994",
+}
+
+@Book{Kopka:LEE91,
+ author = "Helmut Kopka",
+ title = "{\LaTeX{}}\emdash
+ {}Er{\-}weit{\-}er{\-}ungs{\-}m{\"o}g{\-}lich{\-}keit{\-}en
+ mit einer Einf{\"u}rung in {\MF}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Second",
+ year = "1991",
+ pages = "552",
+ ISBN = "3-89319-356-1",
+}
+
+@Book{Krieger:IT90,
+ author = "Jost Krieger and Norbert Schwarz",
+ title = "Introduction to {\TeX}",
+ publisher = pub-AWE,
+ year = "1990",
+ address = pub-AWE:adr,
+ ISBN = "0-201-51141-X",
+ note = "English translation of \cite{Schwarz:ET88}. See also
+ the Dutch translation, \cite{Schwarz:IT90}.",
+}
+
+@InProceedings{Kronert:IIS89,
+ crossref = "Nadrchal:ESS89",
+ author = "G{\"u}nther Kr{\"o}nert",
+ title = "Importance of the {ISO} standard 8613 for document
+ interchange. {Basic} standard, functional standards,
+ initial experience, benefits",
+ pages = "209--218",
+ note = "Invited paper.",
+ acknowledgement = ack-rw,
+ bibdate = "Tue Mar 1 12:55:29 1994",
+}
+
+@Book{Labuz:HTW84,
+ author = "Ronald Labuz",
+ title = "How to Typeset from a Word Processor: {A} Practical
+ Manual for Type Buyers and Typesetters",
+ publisher = pub-RRB,
+ address = pub-RRB:adr,
+ year = "1984",
+ pages = "xii + 218",
+ annote = "Decent survey of the field for the computer
+ illiterate, though details of equipment may be dated by
+ now, but does cover high-end phototypesetters in
+ addition to personal computers.",
+ acknowledgement = ack-jpl,
+ price = "US\$24.95",
+ ISBN = "0-8352-1899-6",
+ LCCN = "Z253.3.L33 1984",
+ bibdate = "Tue Mar 1 12:55:45 1994",
+}
+
+@Book{Lamport:LDP86,
+ author = "Leslie Lamport",
+ title = "{\LaTeX}\emdash {A} Document Preparation System\emdash
+ User's Guide and Reference Manual",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1985",
+ ISBN = "0-201-15790-X",
+ LCCN = "Z253.4.L38 L35 1986",
+ pages = "xiv + 242",
+ price = "US\$26.95",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 23:00:50 1994",
+}
+
+@Article{Lao:WM-27-1,
+ author = "Marek J. Lao",
+ author-l = lang-pl,
+ title = "Sztuka {\TeX}owania",
+ title-l = lang-pl,
+ journal = j-WM,
+ year = "1986",
+ volume = "27",
+ number = "1",
+ pages = "81--87",
+ note = "Roczniki Polskiego Towarzystwa Matematycznego, Seria
+ II. In Polish.",
+ bibdate = "Thu Jun 23 18:21:02 1994",
+}
+
+@Book{Larsen:LD89,
+ author = "Steen Larsen",
+ title = "{\LaTeX} {p\aa} dansk",
+ publisher = pub-UNIC,
+ year = "1989",
+ address = pub-UNIC:adr,
+ ISBN = "87-7252-089-2",
+}
+
+@Book{Lawson:AT90,
+ author = "Alexander Lawson",
+ title = "Anatomy of a Typeface",
+ address = pub-HAMISH:adr,
+ publisher = pub-HAMISH,
+ ISBN = "0-241-13267-3",
+ pages = "428",
+ year = "1990",
+ acknowledgement = ack-mc,
+}
+
+@Book{Lee:B79,
+ author = "Marshall Lee",
+ title = "Bookmaking: the Illustrated Guide to Design\slash
+ Production\slash Editing",
+ publisher = pub-RRB,
+ address = pub-RRB:adr,
+ edition = "Second",
+ year = "1979",
+ acknowledgement = ack-jpl,
+ price = "US\$25.00",
+ ISBN = "0-8352-1097-9",
+ LCCN = "Z116.A2 .L44 1979",
+ pages = "485",
+ bibdate = "Fri Jul 22 11:16:45 1994",
+}
+
+@InProceedings{Leitch:TEX85-155,
+ crossref = "Lucarella:TSD85",
+ author = "S. Leitch and F. J. Smith",
+ title = "Generalised {Algorithm} for {Drawing}
+ {Non}-{Parametric} {Splines}",
+ pages = "155--161",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:56:23 1994",
+}
+
+@InProceedings{Leitch:TEX85-171,
+ crossref = "Lucarella:TSD85",
+ author = "S. Leitch",
+ title = "Implementing {\METAFONT} on an {ICL} {Perq}",
+ pages = "171--182",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:56:54 1994",
+}
+
+@Article{Lesk:COMPSYS-1-3-207,
+ author = "Michael Lesk",
+ title = "{GRAB}\emdash{}Inverted Indexes with Low Storage
+ Overhead",
+ journal = j-COMPSYS,
+ year = "1988",
+ volume = "1",
+ number = "3",
+ pages = "207--220",
+}
+
+@Article{Levine:CPC-58-1-181,
+ author = "Michael J. S. Levine",
+ title = "A {\LaTeX} Graphics Routine for drawing Feynman
+ Diagrams",
+ journal = j-CPC,
+ year = "1990",
+ volume = "58",
+ number = "1 and 2",
+ pages = "181--198",
+ month = feb # "\slash " # mar,
+ note = "Available in the CPC library, and from
+ \path|listral@ib.rl.ac.uk| with an e-mail request {\tt
+ GET CPC INTRO CPCINDEX}.",
+}
+
+@InProceedings{Li:TEX85-161,
+ crossref = "Lucarella:TSD85",
+ author = "Jiarong Li",
+ title = "Generation of {Some} {Chinese} {Characters} with
+ {Metafont}",
+ pages = "161--170",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:56:57 1994",
+}
+
+@TechReport{Liang:STAN-CS-83-977,
+ author = "Franklin Mark Liang",
+ title = "Word Hy-phen-a-tion by Com-pu-ter",
+ institution = inst-STANFORD,
+ number = "STAN-CS-83-977",
+ year = "1983",
+ month = aug,
+ bibdate = "Tue Mar 1 12:54:09 1994",
+}
+
+@Book{Licha:A92,
+ author = "Michaela Lich{\'a} and Old{\v r}ich Ulrych",
+ title = "{\AmSTeX} verze 2.1",
+ publisher = pub-CSTUG,
+ address = pub-CSTUG:adr,
+ year = "1992",
+ note = "This publication provides a short (but complete) tour
+ through {\AmSTeX} 2.1 together with \path=amsppt.sty=
+ 2.1. Almost all features are demonstrated with a lot of
+ examples. The book is organized in such a way that it
+ is useful for novices (basic textbook), and for
+ advanced users (quick reference guide) as well.
+ Contains a table of all symbols.",
+ pages = "80",
+ bibdate = "Thu Mar 11 12:11:15 1993",
+}
+
+@Article{Linton:IEEE-COMPUTER-22-2-8,
+ author = "Mark A. Linton and John M. Vissides and Paul R.
+ Calder",
+ title = "Composing user interfaces with InterViews",
+ journal = j-IEEE-COMPUTER,
+ year = "1989",
+ volume = "22",
+ number = "2",
+ pages = "8--22",
+ month = feb,
+ note = "From {\em Computing Reviews\/}: ``InterViews objects
+ are combined through a model similar to the boxes and
+ glues in Knuth's {\TeX}, which allows interface objects
+ to be combined with little concern for undesired
+ interactions.''",
+ bibdate = "Thu Jul 21 22:56:53 1994",
+}
+
+@Article{Lubkin:CS-642,
+ author = "Saul Lubkin",
+ title = "Porting sophisticated programs to your {Unix}
+ environment for free",
+ journal = j-COMPUTERSHOPPER,
+ year = "1990",
+ pages = "642--644",
+ month = mar,
+}
+
+@InProceedings{Lucarella:TEX85-93,
+ crossref = "Lucarella:TSD85",
+ author = "Dario Lucarella",
+ title = "{\TeX} {Formulae} {Dictionary}",
+ booktitle = proc-TEX85,
+ pages = "93--103",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:56:59 1994",
+}
+
+@Book{Luna:UTD92,
+ author = "Paul Felix John Luna",
+ title = "Understanding Type for Desktop Publishing",
+ address = pub-BLUEPRINT:adr,
+ publisher = pub-BLUEPRINT,
+ ISBN = "0-948905-76-X",
+ pages = "136",
+ year = "1992",
+ note = "Highly regarded English typographer: designed the
+ Oxford English Dictionary and the New English Bible.",
+ acknowledgement = ack-mc,
+}
+
+@InProceedings{MacKay:TASxx,
+ author = "Pierre A. MacKay",
+ title = "{\TeX} for {Arabic} script",
+ booktitle = "???",
+ year = "??",
+ publisher = "??",
+ address = "??",
+ pages = "391-400",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 19:34:58 1994",
+}
+
+@Article{Manson:SIGDOC-13-1-3,
+ author = "David Manson",
+ title = "Using {\TeX} for Electronic Publishing at {I. P. Sharp
+ Associates}",
+ journal = j-SIGDOC,
+ year = "1987",
+ volume = "13",
+ number = "1",
+ pages = "3--7",
+ month = mar,
+ bibdate = "Thu Jul 21 22:25:07 1994",
+}
+
+@Book{McLean:THM80,
+ title = "The Thames and Hudson Manual of Typography",
+ author = "Ruari McLean",
+ publisher = pub-TH,
+ address = pub-TH:adr,
+ ISBN = "0-500-68022-1",
+ pages = "216",
+ year = "1980",
+ annote = "A broad, very readable introduction to the
+ conventional typography. This is the best recent
+ general book if you read only one. (RRu)",
+ acknowledgement = ack-fm # " and " # ack-mc,
+}
+
+@Booklet{MF:MFC86,
+ key = "MF",
+ title = "The {MF} {Chel} {Family} of {Fonts}",
+ howpublished = inst-METAFOUNDRY,
+ address = inst-METAFOUNDRY:adr,
+ year = "1986",
+ acknowledgement = ack-hk,
+}
+
+@Booklet{MF:MFD87,
+ key = "MF",
+ title = "The {MF} {Decorative} {Family} of {Fonts}",
+ howpublished = inst-METAFOUNDRY,
+ address = inst-METAFOUNDRY:adr,
+ year = "1987",
+ acknowledgement = ack-hk,
+}
+
+@Booklet{MF:MFR86,
+ key = "MF",
+ title = "The {MF} {Roman} {Family} of {Fonts}",
+ howpublished = inst-METAFOUNDRY,
+ address = inst-METAFOUNDRY:adr,
+ year = "1986",
+ acknowledgement = ack-hk,
+}
+
+@Booklet{MF:MFS87,
+ key = "MF",
+ title = "The {MF} {Slavic} {Families} of {Fonts}",
+ howpublished = inst-METAFOUNDRY,
+ address = inst-METAFOUNDRY:adr,
+ year = "1987",
+ acknowledgement = ack-hk,
+}
+
+@Article{Milne:MI-8-1-66,
+ author = "J. S. Milne",
+ title = "Review of Two Scientific Word-Processing Programs:
+ {T$^3$} version 2.02 by {TCI Software Research Inc.},
+ and {Volkswriter Scientific} version 1.0 by {Lifetree
+ Software Inc.}",
+ journal = j-MATHINTEL,
+ year = "1986",
+ volume = "8",
+ number = "1",
+ pages = "66--71",
+ bibdate = "Fri Mar 12 09:46:57 1993",
+}
+
+@Article{Milne:NAMS-37-8-1018,
+ author = "J. S. Milne",
+ title = "Four Word Processors with {\TeX} Capabilities",
+ journal = j-NAMS,
+ year = "1990",
+ volume = "37",
+ number = "8",
+ pages = "1018--1022",
+ month = oct,
+ acknowledgement = ack-bnb,
+}
+
+@Article{Milne:NAMS-39-8-838,
+ author = "J. S. Milne",
+ title = "Three Scientific Word Processors",
+ journal = j-NAMS,
+ year = "1992",
+ volume = "39",
+ number = "8",
+ pages = "838--840",
+ month = oct,
+ note = "The word processors {Chi}{Writer} 4.02, {Leo} 1.4, and
+ {Scientific} {Word} 1.0 are discussed in terms of ease
+ of use, effectiveness in producing {\TeX} code, and
+ other features of interest to users who require {\TeX}
+ output but do not wish to use {\TeX} directly.",
+ bibdate = "Tue Mar 1 12:06:32 1994",
+}
+
+@Article{Molnar:UMAP-14-2-97-112,
+ author = "Suzanne M. Molnar",
+ title = "A Tour of Graphical Typesetting on the Macintosh",
+ journal = j-UMAP,
+ year = "1993",
+ volume = "14",
+ number = "2",
+ pages = "97--112",
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 10:48:29 1993",
+}
+
+@Article{Morin:SUNEXPERT-4-10-42,
+ author = "Richard Morin",
+ title = "Tangled up in {\TeX}",
+ journal = j-SUNEXPERT,
+ year = "1993",
+ volume = "4",
+ number = "10",
+ pages = "42--46",
+ month = oct,
+ note = "A brief review of {\TeX} support, including the
+ Comprehensive {\TeX} Archive Network (CTAN), the {\TeX}
+ Users Group, and several books on {\TeX}.",
+ bibdate = "Mon Oct 18 18:07:05 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Morris:NIPT-344,
+ author = "Robert A. Morris and Karl Berry and Kathryn A.
+ Hargreaves and Dimitrios Liarokapis",
+ title = "How typeface variation and typographic variation
+ affect readability at small sizes",
+ crossref = "Pietrowski:NIPT91",
+ pages = "344--352",
+ acknowledgement = ack-kb,
+ bibdate = "Tue Mar 1 12:57:02 1994",
+}
+
+@Book{Mortenson:RIT91,
+ author = "Niels G. Mortensen",
+ title = "Ris{\o}-rapporter i {\TeX}. Matematisk og
+ naturvidenskabelig typografi i praksis (Ris{\o} reports
+ in {\TeX}. Mathematical and scientific typography in
+ practice).",
+ publisher = pub-RISO,
+ year = "1991",
+ address = pub-RISO:adr,
+ ISBN = "87-550-1635-9",
+ note = "Prepared using {\LaTeX}, and typeset on a Chelgraph
+ IBX photo-typesetter.",
+}
+
+@PhdThesis{Naiman:UGI91,
+ author = "Avi Naiman",
+ title = "The Use of Grayscale for Improved Character
+ Presentation",
+ school = "University of Toronto",
+ year = "1991",
+ address = "ATTN: Technical Reports, Computer Systems Research
+ Institute, University of Toronto, 6 King's College
+ Road, Toronto, Ontario M5S 1A1, CANADA, Tel: (416)
+ 978-8751. The cost is CDN\$16 if inside Canada, US\$16
+ if outside. Avi's e-mail address is
+ \path|avi@cvs.rochester.edu|.",
+ note = "Technical report CSRI-253",
+ acknowledgement = ack-kb,
+ bibdate = "Tue Mar 1 12:57:40 1994",
+}
+
+@Book{Nelson:PD78,
+ author = "Roy Paul Nelson",
+ title = "Publication Design",
+ publisher = pub-WCB,
+ address = pub-WCB:adr,
+ year = "1978",
+ pages = "317 (or 295??)",
+ edition = "Second",
+ annote = "This is an introductory text suitable for college
+ level. It comprises a broad survey a design issues
+ (production, typography, art, book design), with little
+ in the way of business management.",
+ acknowledgement = ack-jpl,
+ ISBN = "0-697-04324-X",
+ LCCN = "Z246 .N44 1978",
+ bibdate = "Fri Jul 22 09:13:36 1994",
+}
+
+@Article{Noot:SPE-13-1-79,
+ author = "Han Noot",
+ title = "Structured text formatting",
+ journal = j-SPE,
+ year = "1983",
+ volume = "13",
+ number = "1",
+ pages = "79-94",
+ month = jan,
+ abstract = "An abstract format machine is presented which can be
+ ``microprogrammed'' to yield document formatters. A
+ high-level language to be used for this
+ microprogramming is discussed. It contains special
+ constructs for the manipulation of blocks of text. The
+ format machine has a design which encourages the
+ implementation of well-structured and concise sets of
+ layout directives on it. It incorporates a systematic
+ strategy for dealing with problems such as the
+ avoidance of ``widows.'' At various points in this
+ paper we contrast out approach with that of a number of
+ recent, well-known text formatting systems.",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 22:12:03 1994",
+}
+
+@Misc{NTG,
+ key = "NTG",
+ title = "Nederlandstalige {\TeX{}} Gebruikersgroep",
+ year = "1989" # "\unskip--",
+ note = "Journal of the NTG (Dutch-speaking {\TeX{}} Users
+ Group).",
+}
+
+@Article{Oman:CACM-33-5-506,
+ author = "Paul W. Oman and Curtis R. Cook",
+ title = "Typographic Style is More than Cosmetic",
+ journal = j-CACM,
+ year = "1990",
+ volume = "33",
+ number = "5",
+ pages = "506--520",
+ month = may,
+}
+
+@Book{OrtegonGallego:LPP92,
+ author = "Francisco Orteg{\'o}n Gallego",
+ title = "{\LaTeX}, primeros pasos",
+ publisher = pub-MASSON-SA,
+ year = "1992",
+ ISBN = "84-311-0649-2",
+ series = "Manuales de Inform{\'a}tica Masson",
+ address = pub-MASSON-SA:adr,
+ pages = "xix + 168",
+ bibdate = "Sun Dec 27 17:42:34 1992",
+}
+
+@Article{Palais:NAMS-33-1-3,
+ author = "Richard S. Palais",
+ title = "Mathematical Text Processing",
+ journal = j-NAMS,
+ volume = "33",
+ number = "1",
+ pages = "3--7",
+ month = jan,
+ year = "1986",
+ acknowledgement = ack-hk,
+}
+
+@Article{Pappas:COMPUTER-23-10-82,
+ author = "T. L. (Frank) Pappas",
+ title = "{Post}{Script} output on a {Laser}{Jet} printer",
+ journal = j-COMPUTER,
+ year = "1990",
+ volume = "23",
+ number = "10",
+ pages = "82--88",
+ month = oct,
+ ISSN = "0018-9162",
+}
+
+@Article{Pappas:COMPUTER-24-6-92,
+ author = "T. L. (Frank) Pappas",
+ title = "{\TeX} typesetting with a difference",
+ journal = j-COMPUTER,
+ year = "1991",
+ volume = "24",
+ number = "6",
+ pages = "92--93",
+ month = jun,
+ ISSN = "0018-9162",
+}
+
+@Misc{Partl:DL93,
+ author = "Hubert Partl and Elis. Schlegl and Irene Hyna",
+ title = "Una Descripci{\'o}n de {\LaTeX}",
+ year = "1993",
+ note = "Spanish translation by Tomas Bautista of German
+ introduction to {\LaTeX}, {\LaTeX}-Kurzbeschreibung.
+ Includes material on the {\tt spanish} style option.
+ Available in Spain from \path=ftp.eunet.es= (also known
+ as \path=goya.uu.es=) in the directory
+ \path=info/unix/text/TeX/spanish/tutorial=, as well as
+ from the main {\TeX} archives.",
+ bibdate = "Tue Nov 30 10:08:52 1993",
+ acknowledgement = ack-ps,
+}
+
+@InProceedings{Partl:HTL89,
+ crossref = "Nadrchal:ESS89",
+ author = "Hubert Partl",
+ title = "How to make {\TeX} and {\LaTeX} international",
+ pages = "190--200",
+ note = "Invited paper.",
+ abstract = "The present article is both a resum{\'e} of a
+ well-established German standard and a guideline for
+ other national language styles to be developed.",
+ acknowledgement = ack-rw,
+ bibdate = "Tue Mar 1 12:57:04 1994",
+}
+
+@Booklet{Pawlowski:LTL93,
+ title = "{\LaTeX}, czyli {\TeX} dla ludzi",
+ title-l = lang-pl,
+ author = "Wies{\l}aw Paw{\l}owski",
+ author-l = lang-pl,
+ howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu",
+ howpublished-l = lang-pl,
+ address = "Bachotek",
+ address-l = lang-pl,
+ year = "1993",
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ bibdate = "Thu Jun 23 18:23:31 1994",
+}
+
+@InBook{Plass:CBL82,
+ author = "Michael F. Plass and Donald E. Knuth",
+ title = "Choosing better line breaks",
+ chapter = "??",
+ publisher = pub-ESPNH,
+ year = "1982",
+ ISBN = "??",
+ LCCN = "??",
+ editor = "J. Nievergelt and G. Coray and J.-D. Nicoud and A. C.
+ Shaw",
+ address = pub-ESPNH:adr,
+ pages = "221--242",
+ abstract = "This article discusses a new approach to the problem
+ of dividing the text of a paragraph into lines of
+ approximately equal length. Instead of simply making
+ decisions one line at a time, the method considers the
+ paragraph as a whole, so that the final appearance of a
+ given line might be influenced by the text on
+ succeeding lines. A system based on three simple
+ primitive concepts called ``boxes,'' ``glue,'' and
+ ``kerns'' provides the ability to deal satisfactorily
+ with a wide variety of typesetting problems in a
+ unified framework, using a single algorithm that
+ determines optimum breakpoints. This algorithm avoids
+ backtracking by a judicious use of the techniques of
+ dynamic programming. Extensive computational experience
+ confirms that the approach is both efficient and
+ effective in producing high-quality output.",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 19:44:17 1994",
+}
+
+@Article{Popperlier:NTG-92-1-135,
+ author = "Nico Poppelier and Amy Hendrickson",
+ title = "Book reviews",
+ journal = j-NTG,
+ year = "1992",
+ month = may,
+ volume = "92",
+ number = "1",
+ pages = "135--138",
+ annote = "Contains reviews of {\em \LaTeX{} for Everyone\/}
+ \cite{Hahn:LE91}, {\em Practical SGML\/}
+ \cite{vanHerwijnen:PS90}, and {\em \TeX{} by Topic, A
+ \TeX{}nician's Reference\/} \cite{Eijkhout:TTT92}.",
+ keywords = "reviews",
+}
+
+@Article{Popperlier:TB13-2-182,
+ author = "Nico Poppelier",
+ title = "Book reviews: {Jane Hahn, {\em \LaTeX} for
+ Everyone\/}; {Eric van Herwijnen, {\em Practical
+ SGML}}",
+ journal = j-TUGboat,
+ year = "1992",
+ volume = "13",
+ number = "2",
+ month = jul,
+ pages = "182--184",
+ annote = "Contains reviews of {\em \LaTeX{} for Everyone\/}
+ \cite{Hahn:LE91}, and {\em Practical SGML\/}
+ \cite{vanHerwijnen:PS90}.",
+ bibdate = "Tue Mar 1 12:07:33 1994",
+}
+
+@TechReport{Rahtz:CSTR-89-7,
+ author = "Sebastian Rahtz",
+ title = "A Survey of {\TeX} and Graphics",
+ institution = "University of Southampton",
+ number = "CSTR 89-7",
+ address = "Department of Electronics and Computer Science,
+ Southampton SO9 5NH, UK",
+ month = oct,
+ year = "1989",
+ bibdate = "Tue Mar 1 12:54:12 1994",
+}
+
+@Book{Rice:BDT78,
+ author = "Stanley Rice",
+ title = "Book Design---Text Format Models",
+ publisher = pub-BOWK,
+ year = "1978",
+ address = pub-BOWK:adr,
+ acknowledgement = ack-dh,
+ price = "US\$17.50",
+ ISBN = "0-8352-1045-6",
+ LCCN = "Z245 R5 1978",
+ pages = "xiv + 215",
+ bibdate = "Fri Jul 22 09:14:04 1994",
+}
+
+@Book{Rolland:LGP93,
+ author = "Christian Rolland",
+ title = "{\LaTeX} guide pratique",
+ ISBN = "2-87908-025-8",
+ publisher = pub-AW,
+ year = "1993",
+ month = jul,
+ address = pub-AW:adr,
+ note = "Distributed by Bourdas, code 009808.",
+ pages = "280",
+ price = "FF 190",
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 10:38:20 1993",
+}
+
+@InProceedings{Romberger:TEX85-27,
+ crossref = "Lucarella:TSD85",
+ author = "Staffan Romberger and Yngve Sundblad",
+ title = "Adapting {\TeX} to {Languages} that use {Latin}
+ {Alphabetic} {Characters}",
+ pages = "27--40",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:57:06 1994",
+}
+
+@TechReport{Rosset:CIRCE-65,
+ author = "J.-L. {Rosset, editor}",
+ title = "{S.A.PR.I.S.T.I}. (Syst\`eme Assist\'e de {PR}oduction
+ Int\'egrant Simplement Textes et Images)",
+ institution = inst-CIRCE,
+ address = inst-CIRCE:adr,
+ year = "1984",
+ type = "Suppl\'ement au No.",
+ number = "65",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:54:15 1994",
+}
+
+@Article{Rosson:CACM-31-11-1288,
+ author = "Mary B. Rosson and Wendy Kellogg and Susanne Maass",
+ title = "The designer as user: building requirements for design
+ tools from design practice",
+ journal = j-CACM,
+ year = "1988",
+ volume = "31",
+ number = "11",
+ pages = "1288--1298",
+ month = nov,
+ note = "From {\em Computing Reviews\/}: ``InterViews objects
+ are combined through a model similar to the boxes and
+ glues in Knuth's {\TeX}, which allows interface objects
+ to be combined with little concern for undesired
+ interactions.''",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 22:43:20 1994",
+}
+
+@Book{Roth:RWP88,
+ editor = "Stephen E. Roth",
+ title = "Real World {\POSTSCRIPT{}}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1988",
+ ISBN = "0-201-06663-7",
+}
+
+@Book{Roy:TW84,
+ author = "Yves Roy",
+ title = "{\TeX}/{WEB}, et le traitement de textes
+ math\'ematiques",
+ publisher = pub-MASSON,
+ address = pub-MASSON:adr,
+ year = "1984",
+ acknowledgement = ack-hk,
+}
+
+@Book{Rubinstein:DTI88,
+ author = "Richard Rubinstein",
+ title = "Digital Typography\emdash An Introduction to Type and
+ Composition for Computer System Design",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ month = nov,
+ note = "Reprinted with corrections",
+ year = "1988",
+ ISBN = "0-201-17633-5",
+ LCCN = "Z253.3 .R8 1988",
+ pages = "xi + 340",
+ price = "US\$32.25",
+ keywords = "computerized typesetting, type and typefounding, data
+ processing, electronic publishing, bibliography
+ annotated",
+ acknowledgement = ack-nhfb # " and " # ack-fm,
+ bibdate = "Fri Jul 22 09:15:20 1994",
+}
+
+@Book{Ruder:TG88,
+ author = "Emil Ruder",
+ title = "Typographie; Ein Gestaltungsbuch",
+ publisher = pub-NIGGLI,
+ year = "1988",
+ address = pub-NIGGLI:adr,
+ edition = "Fifth revised",
+ note = "Contains complete English and French translation.",
+ annote = "Excellent book about typography and design. Contains
+ many examples of the explained concepts. The main focus
+ is on individual typography as an art.",
+ keywords = "layout, typography, design, fonts",
+ acknowledgement = ack-fm,
+ bibdate = "Tue Mar 1 12:08:26 1994",
+}
+
+@TechReport{Ruggles:STAN-CS-83-971,
+ title = "Letterform Design Systems",
+ author = "Lynn Ruggles",
+ year = "1983",
+ month = apr,
+ number = "STAN-CS-83-971",
+ institution = inst-STANFORD,
+ bibdate = "Tue Mar 1 12:54:18 1994",
+}
+
+@Booklet{Rycko:CNA93,
+ title = "Co nieco o akapicie",
+ title-l = lang-pl,
+ author = "Marek Ry{\'c}ko",
+ author-l = lang-pl,
+ howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu",
+ howpublished-l = lang-pl,
+ address = "Bachotek",
+ address-l = lang-pl,
+ year = "1993",
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ bibdate = "Thu Jun 23 18:23:33 1994",
+}
+
+@TechReport{Samuel:STAN-CS-83-985,
+ title = "First Grade {\TeX}. {A} Beginner's {\TeX} Manual",
+ author = "Arthur Samuel",
+ year = "1983",
+ month = nov,
+ number = "STAN-CS-83-985",
+ institution = inst-STANFORD,
+ note = "Also published by TUG as {\TeX}niques No.~11.",
+ bibdate = "Tue Mar 1 12:54:20 1994",
+}
+
+@Book{Sawyer:TPS93,
+ author = "Stanley A. Sawyer and Steven Krantz",
+ title = "A {\TeX} Primer for Scientists",
+ publisher = pub-CRC,
+ year = "1993",
+ ISBN = "0-8493-7159-7",
+ address = pub-CRC:adr,
+ note = "To appear March 1993.",
+ price = "US\$29.95",
+ pages = "175",
+ acknowledgement = ack-nhfb,
+ bibdate = "Fri Nov 20 13:46:48 1992",
+}
+
+@Book{Scherber:OST94,
+ author = "Peter Scherber",
+ title = "Offizin\emdash Schrift\-en\-reihe zu {\TeX}, {\LaTeX},
+ und Metafont (Band 1, Hrsg. von {DANTE} e.{V})",
+ publisher = pub-AW,
+ year = "1994",
+ ISBN = "3-89319-396-0",
+ address = pub-AW:adr,
+ pages = "190",
+ price = "DM 49.90",
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 11:05:41 1993",
+}
+
+@Misc{Schrell:DTS93,
+ key = "Schrell:DTS93",
+ editor = "Andreas Schrell",
+ title = "{DANTE}-{\TeX}-Stammtisch in Wuppertal: Jahrbuch
+ 1992/93",
+ year = "1993",
+ pages = "80",
+ acknowledgement = ack-rz,
+ bibdate = "Tue Mar 1 12:09:25 1994",
+}
+
+@Article{Schrod:CG-10-81,
+ author = "Joachim Schrod",
+ title = "An International Version of {\em MakeIndex}",
+ journal = j-GUTENBERG,
+ year = "1991",
+ number = "10--11",
+ pages = "81--90",
+ month = sep,
+}
+
+@Book{Schumann:PBT89,
+ author = "Lothar Schumann",
+ title = "{Professioneller} {Buchsatz} mit {\TeX}",
+ publisher = pub-OLDENBOURG,
+ year = "1989",
+ address = pub-OLDENBOURG:adr,
+ ISBN = "3-486-21173-0",
+}
+
+@Book{Schumann:PBT91,
+ author = "Lothar Schumann",
+ title = "{Professioneller} {Buchsatz} mit {\TeX}: {Lehrbuch}
+ {f\"ur} {Anwender}",
+ publisher = pub-OLDENBOURG,
+ year = "1991",
+ address = pub-OLDENBOURG:adr,
+ ISBN = "3-486-21736-4",
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 11:04:59 1993",
+}
+
+@Book{Schwartz:LSD92,
+ author = "Stefan Schwartz and Rudolf Potu{\v c}ek",
+ title = "{\LaTeX}\emdash Satzkunst statt {DTP} ({\LaTeX}\emdash
+ The Art of Typography rather than {DTP})",
+ publisher = pub-VOGEL,
+ address = pub-VOGEL:adr,
+ year = "1992",
+ ISBN = "3-8023-1178-7",
+ price = "DM34.00",
+ bibdate = "Fri Nov 27 12:34:57 1992",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Schwartz:WYA88,
+ author = "Laurens R. Schwartz",
+ title = "What You Aren't Supposed To Know About Writing And
+ Publishing: An Expos{/'e} of Editors, Agents,
+ Publishing Houses, and More \emdash{} An Insider's
+ Report",
+ publisher = pub-SP,
+ address = pub-SP:adr,
+ year = "1988",
+ annote = "Satirical (gallows?) humor providing anecdotal insight
+ into the publishing world from someone who's had a lot
+ of different jobs in the trade. Down-to-earth
+ information and really funny.",
+ acknowledgement = ack-jpl,
+ ISBN = "0-944007-02-3",
+ LCCN = "KF300.Z9 S35 1988",
+ pages = "viii + 173",
+ bibdate = "Tue Mar 1 12:58:57 1994",
+}
+
+@Book{Schwarz:ET88,
+ author = "Norbert Schwarz",
+ title = "Einf{\"u}hrung in {\TeX{}}",
+ edition = "Second",
+ publisher = pub-AWV,
+ year = "1988",
+ address = pub-AWV:adr,
+ ISBN = "3-925118-97-7",
+ note = "Available in English translation, \cite{Krieger:IT90},
+ and in Dutch translation, \cite{Schwarz:IT90}.",
+ bibdate = "Tue Mar 1 12:10:26 1994",
+}
+
+@Book{Schwarz:IT90,
+ author = "Norbert Schwarz",
+ title = "Inleiding {\TeX}",
+ publisher = pub-AWE,
+ year = "1990",
+ address = pub-AWE:adr,
+ ISBN = "90-6789-151-7",
+ note = "Dutch translation of \cite{Schwarz:ET88}. See also the
+ English translation, \cite{Krieger:IT90}.",
+ bibdate = "Mon Jul 11 11:56:40 1994",
+}
+
+@Book{Seroul:BBT91,
+ author = "Raymond Seroul and Silvio Levy",
+ title = "A Beginner's Book of {\TeX}",
+ publisher = pub-SV,
+ year = "1991",
+ address = pub-SV:adr,
+ ISBN = "0-387-97562-4, 3-540-97562-4",
+ LCCN = "Z253.4.T47 S47 1991",
+ pages = "xii + 282",
+ note = "This is a translation and adaption by Silvio Levy of
+ \cite{Seroul:PLT89}.",
+ acknowledgement = ack-nhfb,
+ bibdate = "Fri Jul 22 09:17:14 1994",
+}
+
+@Book{Seroul:PLT89,
+ author = "Raymond Seroul",
+ title = "Le petit Livre de {\TeX}",
+ publisher = pub-IE,
+ year = "1989",
+ address = pub-IE:adr,
+ ISBN = "2-7296-0233-X",
+ pages = "317",
+ acknowledgement = ack-nhfb,
+ bibdate = "Wed Jul 6 14:54:52 1994",
+}
+
+@Book{Sewell:WPL89,
+ author = "E. Wayne Sewell",
+ title = "Weaving a Program: Literate Programming in {\WEB}",
+ publisher = pub-VNR,
+ address = pub-VNR:adr,
+ year = "1989",
+ ISBN = "0-442-31946-0",
+ LCCN = "QA76.73.W24 S491 1989",
+ pages = "xx + 556",
+ price = "US\$34.95",
+ bibdate = "Thu Jul 21 23:04:56 1994",
+}
+
+@Book{Shultis:LN94,
+ author = "J. Kenneth Shultis",
+ title = "{\LaTeX} Notes: Practical Tips for Preparing Technical
+ Documents",
+ publisher = pub-PTRPH,
+ year = "1994",
+ ISBN = "0-13-120973-6",
+ LCCN = "Z253.4.L38 S48 1994",
+ address = pub-PTRPH:adr,
+ pages = "xi + 180",
+ price = "US\$32.00",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu May 12 08:36:58 1994",
+}
+
+@Article{Siebenmann:NAMS-33-4-597,
+ author = "L. C. Siebenmann",
+ title = "Toward {Wider} {Use} of {\TeX} {Typesetting}. {A}
+ {Pre}--{\TeX} {Manifesto}",
+ journal = j-NAMS,
+ volume = "33",
+ number = "4",
+ pages = "597--607",
+ month = aug,
+ year = "1986",
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Siegel:euler-proj,
+ author = "David R. Siegel",
+ title = "The {Euler} Project at {Stanford}",
+ year = "1985",
+ institution = inst-STANFORD,
+ bibdate = "Tue Mar 1 12:54:22 1994",
+}
+
+@Book{Siemoneit:TG89,
+ author = "Manfred Siemoneit",
+ title = "Typographisches {Gestalten}",
+ publisher = pub-POLYGRAPH,
+ year = "1989",
+ address = pub-POLYGRAPH:adr,
+ edition = "Second",
+ annote = "An excellent book on typographic design. Covers almost
+ all principles of high quality typography. (Written in
+ German.)",
+ keywords = "layout, typography, design",
+ acknowledgement = ack-fm,
+ bibdate = "Tue Mar 1 12:59:34 1994",
+}
+
+@Book{Skillin:WIT74,
+ author = "Marjorie E. Skillin and Robert Malcolm Gay",
+ title = "Words into Type",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ year = "1974",
+ edition = "Third",
+ pages = "xx + 583",
+ ISBN = "0-13-964262-5",
+ LCCN = "PN160.S52 1974",
+ price = "US\$39.95",
+ acknowledgement = ack-jpl,
+ bibdate = "Sun Mar 6 17:34:11 1994",
+}
+
+@Article{Smith:SIGPLAN-26-1-14,
+ author = "Lisa M. C. Smith and Mansur H. Samadzadeh",
+ title = "An Annotated Bibliography of Literate Programming",
+ journal = j-SIGPLAN,
+ year = "1991",
+ volume = "26",
+ pages = "14--20",
+ month = jan,
+}
+
+@Book{Snow:TB92,
+ author = "Wynter Snow",
+ title = "{\TeX{}} for the Beginner",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1992",
+ ISBN = "0-201-54799-6",
+ LCCN = "Z253.4.T47 S64 1992",
+ pages = "xii + 377",
+ acknowledgement = ack-bnb,
+ bibdate = "Fri Jul 22 09:18:21 1994",
+}
+
+@InProceedings{Southall:INRIA-133-85,
+ crossref = "Andre:INRIA85",
+ author = "Richard Southall",
+ title = "{\METAFONT} and the problem of type design",
+ pages = "133--145",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:57:09 1994",
+}
+
+@TechReport{Southall:STAN-CS-85-1074,
+ author = "Richard Southall",
+ title = "Designing New Typefaces with {Metafont}",
+ year = "1985",
+ month = sep,
+ number = "STAN-CS-85-1074",
+ institution = inst-STANFORD,
+ bibdate = "Tue Mar 1 12:54:24 1994",
+}
+
+@Book{Spivak:JTG86,
+ author = "Michael D. Spivak",
+ title = "The Joy of {\TeX}\emdash {A} Gourmet Guide to
+ Typesetting with the {\AMSTEX} macro package",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ year = "1986",
+ ISBN = "0-8218-2999-8",
+ LCCN = "Z253.4.T47 S6731 1986",
+ pages = "xviii + 290",
+ bibdate = "Wed Dec 15 10:41:57 1993",
+}
+
+@Book{Spivak:JTG90,
+ author = "Michael D. Spivak",
+ title = "The Joy of {\TeX}\emdash {A} Gourmet Guide to
+ Typesetting with the {\AmSTeX} macro package",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ edition = "2nd revised",
+ year = "1990",
+ price = "US\$40.00",
+ ISBN = "0-8218-2997-1",
+ LCCN = "Z253.4.T47 S6731 1990",
+ pages = "xxii + 309",
+ acknowledgement = ack-nhfb,
+ bibdate = "Wed Jul 6 13:55:42 1994",
+}
+
+@Book{Spivak:LS89,
+ author = "Michael D. Spivak",
+ title = "{L\AMSTEX}, The Synthesis",
+ publisher = pub-TEXPLORATORS,
+ address = pub-TEXPLORATORS:adr,
+ year = "1989",
+ pages = "viii + 289",
+ acknowledgement = ack-nhfb,
+ bibdate = "Sat Mar 12 18:20:15 1994",
+}
+
+@Book{Spivak:LTW91,
+ author = "Michael D. Spivak",
+ title = "The {\LAMSTeX} Wizard's Manual",
+ publisher = pub-TEXPLORATORS,
+ address = pub-TEXPLORATORS:adr,
+ year = "1991",
+ bibdate = "Tue Mar 15 19:13:42 1994",
+}
+
+@Manual{Spivak:MPT86,
+ author = "Michael D. Spivak",
+ title = "Manual ``{PC\TeX}'' ou {\TeX} en 9~le{\c{c}}ons",
+ publisher = inst-CIRCE,
+ address = inst-CIRCE:adr,
+ year = "1986",
+ note = "French translation of \cite{Spivak:PTM85}.",
+}
+
+@Manual{Spivak:PTM85,
+ author = "Michael D. Spivak",
+ title = "{PC\TeX} Manual",
+ publisher = pub-PTI,
+ address = pub-PTI:adr,
+ year = "1985",
+}
+
+@TechReport{Steemers:RRG-26,
+ author = "L. Steemers and C. G. van der Laan",
+ title = "Journal Style Guidelines",
+ institution = "Rekencentrum der Rijksuniversiteit te Groningen",
+ type = "RC-Rapport",
+ number = "26",
+ address = "Groningen, The Netherlands",
+ year = "1989",
+ bibdate = "Tue Mar 1 12:54:27 1994",
+}
+
+@Article{Steen:UMAP-2-3-17-35,
+ author = "Lynn Arthur Steen",
+ title = "Technical Text Editing",
+ journal = j-UMAP,
+ year = "1981",
+ volume = "2",
+ number = "3",
+ pages = "17--35",
+ acknowledgement = ack-ps,
+ bibdate = "Tue Dec 14 11:11:12 1993",
+}
+
+@Article{Stone:COMPUTER-25-12-46,
+ author = "Harold S. Stone",
+ title = "Copyrights and Author Responsibilities",
+ journal = j-COMPUTER,
+ year = "1992",
+ volume = "25",
+ number = "12",
+ pages = "46--51",
+ month = dec,
+ note = "This paper discusses U.~S. copyright law and its
+ implications for the reuse of published text.
+ Guidelines are given for the citation and quoting of
+ such material.",
+ bibdate = "Wed Dec 30 11:53:28 1992",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Sutton:TB90,
+ author = "James Sutton and Alan Bartram",
+ title = "Typefaces for Books",
+ publisher = pub-BL # " and " # pub-NAB,
+ address = pub-BL:adr # " and " # pub-NAB:adr,
+ year = "1990",
+ ISBN = "1-56131-016-6, 1-56131-017-4 (paperback)",
+ LCCN = "Z250 .S896 1990",
+ pages = "288",
+ note = "Contains full-page type samples in a variety of point
+ sizes for a large number of typefaces.",
+ acknowledgement = ack-nhfb,
+ bibdate = "Fri Jul 22 09:19:06 1994",
+}
+
+@Book{Swanson:MTC86,
+ author = "Ellen Swanson",
+ title = "Mathematics into Type; Copy Editing and Proofreading
+ of Mathematics for Editorial Assistants and Authors",
+ publisher = pub-AMS,
+ year = "1986",
+ address = pub-AMS:adr,
+ edition = "Revised",
+ ISBN = "0-8218-0053-1",
+ LCCN = "T11.4.S96 1979",
+ pages = "x + 90",
+ acknowledgement = ack-fm,
+ bibdate = "Fri Jul 22 09:19:41 1994",
+}
+
+@TechReport{Tang:STAN-CS-81-848,
+ author = "Chih-sung Tang",
+ title = "On the Problem of Inputting {Chinese} Characters",
+ institution = inst-STAN-CS,
+ year = "1981",
+ type = rep,
+ number = "STAN-CS-81-848",
+ acknowledgement = ack-hk,
+ bibdate = "Fri Jul 22 11:18:07 1994",
+}
+
+@Article{Tatarkiewicz:Komputer-8-36-37,
+ author = "Jakub Tatarkiewicz",
+ title = "{\TeX}nika {\L}adnego Druku",
+ journal = j-COMPUTER,
+ year = "1988",
+ number = "8",
+ pages = "36--37",
+ note = "In Polish.",
+}
+
+@Misc{TEXEURO,
+ key = "TEXEURO",
+ title = "{\TeX}-Euro",
+ year = "1989" # "\unskip--",
+ note = "This is an unmoderated discussion list for {\TeX{}}
+ with emphasis on European issues. To subscribe, send a
+ request with the text {\tt subscribe tex-euro} to
+ \path|listserv@dhdurz1.bitnet|.",
+ bibdate = "Tue Mar 1 13:00:22 1994",
+}
+
+@Misc{TEXHAX,
+ key = "TEXHAX",
+ title = j-TEXHAX,
+ year = "1987" # "\unskip--",
+ note = "This is a TUG-supported moderated electronic mailing
+ list. To subscribe, send a request to
+ \path|texhax-request@june.cs.washington.edu|.",
+}
+
+@Misc{TEXMAG,
+ key = "TEXMAG",
+ title = "{\TeX}mag",
+ year = "1988" # "\unskip--",
+ note = "This is an electronic magazine with articles about
+ {\TeX}. To subscribe, send a request with the text {\tt
+ subscribe texmag-l} to \path|listserv@vm.byu.edu|.",
+ bibdate = "Tue Mar 1 12:11:24 1994",
+}
+
+@Booklet{Tobin:elements-mf-style,
+ author = "Georgia K. M. Tobin",
+ title = "The Elements of Metafont Style",
+ year = "1985",
+}
+
+@Article{Trickey:SIGACT-19-2-55,
+ author = "Howard Trickey",
+ title = "Using {\LaTeX}",
+ journal = j-SIGACT,
+ year = "1988",
+ volume = "19",
+ number = "2",
+ pages = "55--57",
+ month = "Summer",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 22:42:07 1994",
+}
+
+@Book{Tschichold:AAF87,
+ author = "Jan Tschichold",
+ title = "{Ausgew\"ahlte Aufs\"atze \"uber Fragen der Gestalt
+ des Buches}",
+ publisher = pub-BH,
+ year = "1987",
+ address = pub-BH:adr,
+ note = "Second printing",
+ annote = "A set of interesting articles about typography
+ issues.",
+ keywords = "typography, layout, design",
+ acknowledgement = ack-fm,
+}
+
+@Book{Tschichold:FB91,
+ author = "Jan Tschichold",
+ title = "The Form of the Book",
+ address = "London",
+ publisher = "Lund Humphries",
+ year = "1991",
+ ISBN = "0-85331-623-6",
+ LCCN = "Z116.A3 T7613 1991b",
+ subtitle = "Essays on the Morality of Good Design",
+ pages = "xviii + 180",
+ translator = "Hajo Hadeler",
+ editor = "Robert Bringhurst",
+ note = "Originally published in German as Ausgew{\"a}hlte
+ Ausfs{\"a}tze {\"u}ber Fragen der Gestalt des Buches
+ und der Typographie by Birkh{\"a}user Verlag, Basel,
+ 1975",
+ price = "UK\pounds 18.95",
+ acknowledgement = ack-mc,
+ bibdate = "Fri Jul 22 09:20:17 1994",
+}
+
+@Book{Tschichold:NT91,
+ author = "Jan Tschichold",
+ title = "{Die Neue Typographie}",
+ subtitle = "{Ein Handbuch f{\"u}r zeitgem{"a}{\ss} Schaffende}",
+ publisher = pub-HSCHV,
+ address = pub-HSCHV:adr,
+ year = "1991",
+ history = "Reprint of the first edition from 1928 with supplement
+ containing articles about the history of books by
+ Werner Doede, Jan Tschichold and Gerd Fleischman",
+ pages = "240",
+ inprint = "yes",
+ bibliography = "yes",
+ price = "DM60",
+ acknowledgement = ack-fm,
+ bibdate = "Tue Mar 1 12:12:20 1994",
+}
+
+@Book{Tschichold:TM86,
+ author = "Jan Tschichold",
+ title = "{Typographische Mitteilungen, Sonderheft Elementare
+ Typographie}",
+ publisher = pub-HSCHV,
+ address = pub-HSCHV:adr,
+ year = "1986",
+ ISBN = "3-87439-233-3",
+ history = "Reprint of the special edition ``elementare
+ typographie'' of the october issue of Typographische
+ Mitteilungen 1925.",
+ pages = "36",
+ inprint = "yes",
+ price = "DM24",
+ acknowledgement = ack-fm,
+}
+
+@Book{Tufte:EI90,
+ author = "Edward R. Tufte",
+ title = "Envisioning Information",
+ publisher = pub-GP,
+ LCCN = "QA90 .T82 1990",
+ year = "1990",
+ address = pub-GP:adr,
+ pages = "126",
+ price = "US\$48.00",
+ bibdate = "Fri Jul 22 09:22:34 1994",
+}
+
+@Book{Tufte:VDQ83,
+ author = "Edward R. Tufte",
+ title = "The Visual Display of Quantitative Information",
+ publisher = pub-GP,
+ year = "1983",
+ address = pub-GP:adr,
+ price = "US\$34.00",
+ pages = "197",
+ ISBN = "0-9613921-0-X",
+ LCCN = "QA90 .T83 1983",
+ bibdate = "Fri Jul 22 09:21:51 1994",
+}
+
+@TechReport{Tung:STAN-CS-80-824,
+ author = "{Tung Yun Mei}",
+ title = "{LCCD}, {A} {Language} for {Chinese} {Character}
+ {Design}",
+ institution = inst-STAN-CS,
+ year = "1980",
+ type = rep,
+ number = "STAN-CS-80-824",
+ note = "See also " # j-SPE # "Vol. 11 (1981), No. 12, pp.
+ 1273--1292.",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:54:32 1994",
+}
+
+@Book{Tymms:AI87,
+ author = "W. R. Tymms and M. D. Wyatt",
+ title = "The Art of Illuminating",
+ publisher = pub-CHARTWELL,
+ year = "1987",
+ address = pub-CHARTWELL:adr,
+ pages = "104",
+ ISBN = "1-55521-198-4",
+ LCCN = "ND3310 .T95 1987",
+ bibdate = "Fri Jul 22 09:23:54 1994",
+}
+
+@Misc{UKTEX,
+ key = "UKTEX",
+ title = "{UK\TeX{}}",
+ year = "1987" # "\unskip--",
+ note = "This is an electronic discussion list for {\TeX}
+ issues in the United Kingdom.",
+}
+
+@Book{Ulichney:DH87,
+ author = "Robert Ulichney",
+ title = "Digital Halftoning",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ year = "1987",
+ pages = "xiv + 362",
+ ISBN = "0-262-21009-6",
+ LCCN = "T385 .U451 1987",
+ bibdate = "Fri Jul 22 09:24:18 1994",
+}
+
+@Booklet{Urban:IL86,
+ author = "Michael Urban",
+ title = "An {Introduction} to {\LaTeX}",
+ howpublished = "Prepared for the TRW Software Productivity Project;
+ reprinted with permission and distributed by TUG",
+ year = "1986",
+ acknowledgement = ack-hk,
+}
+
+@Booklet{Urban:PPL91,
+ title = "Premiers pas en {\LaTeX}",
+ author = "Michael {Urban (adaptation fran{\c{c}}\-aise de
+ {\'E}ric Cornelis)}",
+ howpublished = j-GUTENBERG,
+ month = may,
+ year = "1991",
+ note = "French translation of \cite{Urban:IL86}.",
+ acknowledgement = ack-nhfb,
+ bibdate = "Tue Mar 1 12:12:35 1994",
+}
+
+@InProceedings{Utting:TEX85-183,
+ crossref = "Lucarella:TSD85",
+ author = "Ian Utting",
+ title = "The {R}\^ole of {Device} {Independent} {Output}",
+ pages = "183--191",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:57:11 1994",
+}
+
+@TechReport{vanderLaan:RRG-24,
+ author = "C. G. van der Laan and D. C. Coleman and J. R.
+ Luyten",
+ title = "{SGML}--{\LaTeX{}} 1.~{Mathematical} formulas",
+ institution = "Rekencentrum der Rijksuniversiteit te Groningen",
+ type = "RC-Rapport",
+ number = "24",
+ address = "Groningen, The Netherlands",
+ year = "1989",
+ note = "(English version).",
+ bibdate = "Tue Mar 1 12:54:33 1994",
+}
+
+@TechReport{vanderLaan:RRG-27,
+ author = "C. G. van der Laan and J. R. Luyten",
+ title = "{\LaTeX{}} Templates: Letter and Article",
+ institution = "Rekencentrum der Rijksuniversiteit te Groningen",
+ type = "RC-Rapport",
+ number = "27",
+ address = "Groningen, The Netherlands",
+ month = nov,
+ year = "1989",
+ bibdate = "Tue Mar 1 12:54:36 1994",
+}
+
+@Book{vanHerwijnen:PS90,
+ author = "Eric van Herwijnen",
+ title = "Practical {SGML}",
+ publisher = pub-KLUWER,
+ address = pub-KLUWER:adr,
+ year = "1990",
+ ISBN = "0-7923-0635-X",
+ LCCN = "QA76.73.S44 V36 1990",
+ pages = "xviii + 307",
+ inprint = "yes",
+ price = "UK\pounds24.90, US\$49.00",
+ review = "in " # j-TEXLINE # " 10, p. 27 and
+ \cite{Popperlier:NTG-92-1-135} and
+ \cite{Popperlier:TB13-2-182}",
+ acknowledgement = ack-mc # " and " # ack-fm,
+}
+
+@InProceedings{vanHuu:TEX85-67,
+ crossref = "Lucarella:TSD85",
+ author = "Le van Huu",
+ title = "{\TeX} and {ISO}/{STPL} standard",
+ pages = "67--78",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:57:13 1994",
+}
+
+@TechReport{VanWyk:STAN-CS-80-803,
+ author = "C. J. {Van Wyk}",
+ title = "A {Language} for {Typesetting} {Graphics}",
+ institution = inst-STAN-CS,
+ year = "1980",
+ type = rep,
+ number = "STAN-CS-80-803",
+ acknowledgement = ack-hk,
+ bibdate = "Tue Mar 1 12:54:38 1994",
+}
+
+@Book{vonBechtolsheim:TP92,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice",
+ publisher = pub-SV,
+ year = "1992",
+ ISBN = "0-387-97296-X",
+ LCCN = "Z253.4.T47 B4 1993",
+ address = pub-SV:adr,
+ price = "US\$169.00",
+ bibdate = "Fri Jul 22 09:26:02 1994",
+ pages = "1587, with 31 illustrations",
+ note = "Four volume set.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:TPB92,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Basics",
+ publisher = pub-SV,
+ volume = "1",
+ year = "{\noopsort{1992a}}1992",
+ ISBN = "0-387-97595-0",
+ LCCN = "Z253.4.T47 B4 1993",
+ pages = "359, with 9 illustrations",
+ address = pub-SV:adr,
+ price = "US\$49.00",
+ bibdate = "Fri Jul 22 09:25:55 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:TPO92,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Output Routines",
+ publisher = pub-SV,
+ volume = "4",
+ year = "{\noopsort{1992d}}1992",
+ ISBN = "0-387-97598-5",
+ LCCN = "Z253.4.T47 B4 1993",
+ pages = "300",
+ address = pub-SV:adr,
+ price = "US\$49.00",
+ bibdate = "Fri Jul 22 09:25:56 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:TPP92,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Paragraphs, Math, and Fonts",
+ publisher = pub-SV,
+ volume = "2",
+ year = "{\noopsort{1992b}}1992",
+ ISBN = "0-387-97596-9",
+ LCCN = "Z253.4.T47 B4 1993",
+ pages = "384",
+ address = pub-SV:adr,
+ price = "US\$49.00",
+ bibdate = "Fri Jul 22 09:25:58 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:TPT92,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Tokens, Macros",
+ publisher = pub-SV,
+ volume = "3",
+ year = "{\noopsort{1992c}}1992",
+ ISBN = "0-387-97597-7",
+ LCCN = "Z253.4.T47 B4 1993",
+ pages = "544, with 22 illustrations",
+ address = pub-SV:adr,
+ price = "US\$49.00",
+ bibdate = "Fri Jul 22 09:26:06 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Vulis:MTA92,
+ author = "Michael Vulis",
+ title = "Modern {\TeX} and its Applications",
+ publisher = pub-CRC,
+ address = pub-CRC:adr,
+ year = "1992",
+ ISBN = "0-8493-4431-X",
+ LCCN = "Z253.4.T47V84 1993",
+ pages = "275",
+ price = "US\$32.95",
+ acknowledgement = ack-nhfb,
+ bibdate = "Wed Dec 15 19:53:27 1993",
+}
+
+@Book{Walden:MFF87,
+ author = "Jeff Walden",
+ title = "More File Formats for Popular {PC} software: {A}
+ Programmer's Reference",
+ publisher = pub-W,
+ year = "1987",
+ ISBN = "0-471-85077-2",
+ LCCN = "QA76.9.F5 W35 1987",
+ address = pub-W:adr,
+ note = "From {\em Computing Reviews\/}: ``The volume under
+ review deals with (among others) WordPerfect, SuperCalc
+ 4, and the unusual Microsoft Rich Text Format (RTF).
+ RTF has the distinction of being entirely readable
+ ASCII and is reminiscent of {\TeX} command format.''
+ Conversion software from RTF to {\LaTeX} written by
+ Daniel Taupin is available from major {\TeX} archive
+ sites.",
+ pages = "369",
+ price = "US\$24.95",
+ acknowledgement = ack-nhfb,
+ bibdate = "Fri Jul 22 11:19:33 1994",
+}
+
+@Article{Waldschmidt:CGF-6-4-359,
+ author = "H. Waldschmidt",
+ title = "An editor for constructing graphics with {\TeX}",
+ journal = j-CGF,
+ year = "1987",
+ volume = "6",
+ number = "4",
+ pages = "359--364",
+ month = dec,
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 22:34:23 1994",
+}
+
+@Book{Walsh:MTW94,
+ author = "Norman Walsh",
+ title = "Making {\TeX} Work",
+ publisher = pub-ORA,
+ year = "1994",
+ ISBN = "1-56592-051-1",
+ address = pub-ORA:adr,
+ pages = "xxxvi + 483",
+ price = "US\$29.95",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu May 12 08:24:59 1994",
+}
+
+@Book{Weyerich:LLL93a,
+ author = "Astrid Weyerich and Rainer Kl{\"o}tzer and Sabine
+ Stromp and Kerstin Rieder and Rainer Oesterreich",
+ title = "{\LaTeX} Lernen leicht gemacht\emdash Eine
+ aufgabenorientierte Anleitung\emdash Teil {A}:
+ Arbeitsheft",
+ publisher = pub-TUB,
+ year = "1993",
+ ISBN = "3-7983-1546-9",
+ address = pub-TUB:adr,
+ pages = "100",
+ acknowledgement = ack-rz,
+ bibdate = "Tue Mar 1 12:13:06 1994",
+}
+
+@Book{Weyerich:LLL93b,
+ author = "Astrid Weyerich and Rainer Kl{\"o}tzer and Sabine
+ Stromp and Kerstin Rieder and Rainer Oesterreich",
+ title = "{\LaTeX} Lernen leicht gemacht\emdash Eine
+ aufgabenorientierte Anleitung\emdash Teil {B}: Manual",
+ publisher = pub-TUB,
+ year = "1993",
+ ISBN = "3-7983-1546-9",
+ address = pub-TUB:adr,
+ pages = "176",
+ acknowledgement = ack-rz,
+ bibdate = "Tue Mar 1 14:25:32 MET 1994",
+}
+
+@Book{White:GDE88,
+ author = "Jan V. White",
+ title = "Graphic Design for the Electronic Age",
+ publisher = pub-WGP,
+ year = "1988",
+ address = pub-WGP:adr,
+ ISBN = "0-8230-2122-X",
+ LCCN = "Z286.D47 W5 1988",
+ annote = "A very good book on typography and document design;
+ main topics are components of larger documents.",
+ keywords = "typography, layout, design",
+ acknowledgement = ack-nhfb # " and " # ack-fm,
+ pages = "xi + 211",
+ bibdate = "Wed Dec 15 10:59:04 1993",
+}
+
+@Book{White:GP90,
+ author = "Jan V. White",
+ title = "Great Pages",
+ publisher = pub-SERIF,
+ address = pub-SERIF:adr,
+ year = "1990",
+ ISBN = "1-878567-01-2",
+ LCCN = "Z286.D47 W5 1990",
+ pages = "128",
+ bibdate = "Wed Dec 15 10:59:05 1993",
+}
+
+@Book{White:HST87,
+ author = "Alex White",
+ title = "How to spec type",
+ publisher = pub-WGP,
+ address = pub-WGP:adr,
+ year = "1987",
+ ISBN = "0-8230-2473-3",
+ LCCN = "Z253.W46 1987",
+ pages = "128",
+ abstract = "This book is divided into two parts. {\em Part One:
+ Preparing the Copy for Type}, discusses fundamental
+ terms and introduces the principles of type speccing.
+ {\em Part Two: Type Samples}, describes how to spec
+ typographic examples drawn in thumbnail form, how to
+ mark up the manuscript copy, and then shows the final
+ typeset results.",
+ annote = "A gold mine of ideas, concepts, and their realisation.
+ Beside general introductions into typographic spec
+ techniques, the book discusses topics like Runarounds,
+ Initial Caps, Tables, Rules and Boxes, and many more.",
+ keywords = "typography, layout, design, fonts, specs",
+ acknowledgement = ack-fm,
+ price = "US\$14.95",
+ bibdate = "Fri Jul 22 09:26:47 1994",
+}
+
+@Book{White:MG83,
+ author = "Jan V. White",
+ title = "Mastering Graphics",
+ publisher = pub-BOWK,
+ year = "1983",
+ address = pub-BOWK:adr,
+ ISBN = "0-8352-1704-3",
+ LCCN = "Z253 .W47 1983",
+ pages = "xiii + 180",
+ libnote = "Not yet in my library.",
+ bibdate = "Wed Dec 15 10:59:05 1993",
+}
+
+@Article{Wieckowski:PCkurier-3-15-89,
+ author = "Z. Wi{\k{e}}ckowski",
+ author-l = lang-pl,
+ title = "{\TeX} --- polskie znaki inaczej",
+ title-l = lang-pl,
+ title-t1 = "{\TeX} --- Polish letters another way",
+ title-t1-l = lang-eng,
+ journal = j-PCkurier,
+ year = "1992",
+ number = "15",
+ pages = "89",
+ month = "lipiec",
+ month-l = lang-pl,
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ bibdate = "Thu Jun 23 18:23:42 1994",
+}
+
+@Book{Williamson:MBD83,
+ author = "Hugh Williamson",
+ title = "Methods of Book Design: The Practice of an Industrial
+ Craft",
+ publisher = pub-YUP,
+ address = pub-YUP:adr,
+ year = "1983",
+ ISBN = "0-300-02663-3 (hardcover), 0-300-03035-5 (paperback)",
+ LCCN = "Z116.A3 W5 1983",
+ edition = "Third",
+ history = "First edition, 1956, and second edition, 1966,
+ published by Oxford University Press.",
+ pages = "xiv + 391",
+ note = "Bibliography, many examples and illustrations, index",
+ annote = "That the {\em frontispiece} is the layout for the
+ title-page opposite indicates the content of the
+ book.",
+ abstract = "Since its first edition was published in 1956, this
+ book has been recognised as a classic work, and has
+ become a basic tool for the practising book designer.
+ \missing{} Writing for authors, booksellers,
+ librarians, and the general reader, as well as for
+ teachers and students of printing design and for
+ publishers and printers, the author assumes no
+ technical knowledge in his readers. He deals with such
+ matters as the preparation of copy, the selection and
+ arrangement of type, the designer's part in book
+ illustration and jacket design, and the economics of
+ book production; and he explains the materials and
+ techniques of book production and their effect on the
+ design of books. His analysis, for the benefit of the
+ designer, of computer-centered digital
+ photo-composition, based on his first-hand experience
+ as a printer and typographer, is of particular interest
+ and value. \missing{} The third edition has been
+ completely rewritten to cover innovations in book
+ production tendencies and techniques over the last
+ twenty years, in the light of the author's continued
+ experience in publishing and printing.",
+ inprint = "yes",
+ price = "UK\pounds13",
+ glossary = "yes",
+ printermarks = "no",
+ bibliography = "yes",
+ index = "yes",
+ keywords = "book design",
+ acknowledgement = ack-jpl # " and " # ack-fm,
+ bibdate = "Fri Jul 22 09:27:41 1994",
+}
+
+@Article{Winkel:COLL-MICRO-5-1-93,
+ author = "Brian J. Winkel",
+ title = "{\TeX}: The Software used to Produce this Journal",
+ journal = j-COLL-MICRO,
+ year = "1988",
+ volume = "5",
+ number = "1",
+ pages = "93--96",
+ month = apr # "/" # may,
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 22:35:39 1994",
+}
+
+@TechReport{Wolcott:NBS-424,
+ author = "N. M. Wolcott and J. Hilsenrath",
+ title = "A Contribution to Computer Typesetting Techniques:
+ Tables of Coordinates for {Hershey's} Repertory of
+ Occidental Type Fonts and Graphic Symbols",
+ institution = "U.~S. National Bureau of Standards",
+ year = "1976",
+ number = "Special Publication 424",
+ month = apr,
+ bibdate = "Tue Mar 1 12:54:41 1994",
+}
+
+@Book{Wonneberger:L87,
+ author = "Reinhard Wonneberger",
+ title = "{\LaTeX}",
+ series = "Addison-Wesley Kompaktf{\"u}hrer",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ year = "1987",
+ pages = "141",
+ ISBN = "3-925118-46-2",
+}
+
+@Book{Wonneberger:L88,
+ author = "Reinhard Wonneberger",
+ title = "{\LaTeX}",
+ series = "Addison-Wesley Kompaktf{\"u}hrer",
+ edition = "Second",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ year = "1988",
+ ISBN = "3-89319-152-6",
+ pages = "xiv + 141",
+ acknowledgement = ack-nhfb,
+ bibdate = "Wed Jul 6 15:01:56 1994",
+}
+
+@Book{Wonneberger:L93,
+ author = "Reinhard Wonneberger",
+ title = "{\LaTeX}",
+ series = "Addison-Wesley Kompaktf{\"u}hrer",
+ edition = "Third",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ year = "1993",
+ ISBN = "3-89319-589-0",
+ price = "DM29.80",
+ month = apr,
+ pages = "xvi + 166",
+ abstract = "(Umschlagtext:) {\LaTeX} ist ein im akademischen
+ Umfeld weit verbreitetes Formatierungswerkzeug f{\"u}r
+ schwierige Texte. Technisch gesehen handelt es sich um
+ ein spezielles umfangreiches Makropaket f{\"ur} Donald
+ E. Knuths Satzsystem {\TeX}. Der Benutzer braucht
+ normalerweise keine {\TeX}-Kenntnisse. Der bew{\"a}hrte
+ Addison-Wesley-Kompaktf{\"u}hrer liegt nunmehr in
+ dritter, erweiterter Auflage vor. Bei der Erweiterung
+ geht es im wesentlichen um einen neuen Abschnitt ``uber
+ den `German Style''', eine seit Erscheinen der
+ fr{\"u}heren Auflage neu entwickelte und inzwischen
+ weit verbreitete Erg{\"a}nzung von {\LaTeX} im Hinblick
+ auf die Besonderheiten der deutschen Sprache.",
+ bibdate = "Thu May 27 07:45:25 1993",
+}
+
+@InProceedings{Wonneberger:SDP89,
+ crossref = "Nadrchal:ESS89",
+ author = "Reinhard Wonneberger",
+ title = "Structured document processing: the {\LaTeX}
+ approach",
+ pages = "177--189",
+ note = "Invited paper.",
+ acknowledgement = ack-rw,
+ bibdate = "Tue Mar 1 12:57:15 1994",
+}
+
+@InProceedings{Wonneberger:TPT92,
+ author = "Reinhard Wonneberger",
+ title = "{\TeX} for Philological Typesetting",
+ booktitle = "Proceedings of the XXXII International Congress for
+ Asian and North African Studies. Hamburg, 25th--30th
+ August 1986",
+ year = "1992",
+ pages = "595--596",
+ series = "Zeitschrift der Deutschen Morgenl{\"a}ndischen
+ Gesellschaft, Supplement",
+ publisher = pub-Steiner,
+ address = pub-Steiner:adr,
+ number = "IX",
+ ISBN = "3-515-04808-1",
+ acknowledgement = ack-rw,
+ bibdate = "Tue Mar 1 12:57:19 1994",
+}
+
+@Misc{Wood:plj,
+ key = "POSTSCRIPTLJ",
+ editor = "Patrick Wood",
+ title = "{\POSTSCRIPT{}} {Language} {Journal}",
+ howpublished = "Pipeline Associates, Inc., P. O. Box 5763, Parsippany,
+ NJ 07054",
+ bibdate = "Tue Mar 1 12:16:37 1994",
+}
+
+@Book{Wyrostek:LSP92,
+ author = "Piotr {Wyrostek, translator}",
+ title = "{\LaTeX}: System przygotowywania dokument{\'o}w.
+ Przewodnik u{\.z}ytkownika i podr{\k{e}}cznik",
+ publisher = pub-ARIEL,
+ year = "1992",
+ ISBN = "83-900460-1-6",
+ address = pub-ARIEL:adr,
+ note = "Polish translation of \cite{Lamport:LDP86}.",
+ price = "91000 zl",
+ bibdate = "Thu Jul 21 23:00:45 1994",
+ acknowledgement = ack-jb,
+}
+
+@Book{Zapf:HZD87,
+ author = "Hermann Zapf",
+ title = "Hermann Zapf and His Design Philosophy: Selected
+ Articles and Lectures on Calligraphy and Contemporary
+ Developments in Type Design, with Illustrations and
+ Bibliographical Notes, and a Complete List of his
+ Typefaces",
+ publisher = pub-STA,
+ year = "1987",
+ address = pub-STA:adr,
+ ISBN = "0-941447-00-6",
+ LCCN = "Z250 .Z323 1987",
+ price = "US\$45.00",
+ pages = "254",
+ bibdate = "Fri Jul 22 09:28:29 1994",
+}
+
+%% =====================================================================
+%% We put all Proceedings entries at the end so they can be
+%% cross-referenced by earlier entries. This order is regrettably
+%% required by BibTeX.
+%% =====================================================================
+
+@Proceedings{Andre:AJM83,
+ title = "Actes des {Journ}\'{ees} sur la {Manipulation} de
+ {Documents}, Rennes 4--6 Mai 1983",
+ year = "1983",
+ editor = "Jacques Andr\'e",
+ publisher = pub-INRIA,
+ address = pub-INRIA:adr,
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Andre:INRIA85,
+ booktitle = "Typographie et Informatique, 21--25 janvier 1985",
+ title = "Typographie et Informatique, 21--25 janvier 1985",
+ year = "1985",
+ editor = "Jacques Andr\'e",
+ publisher = pub-INRIA,
+ address = pub-INRIA:adr,
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Andre:RID89,
+ title = "Raster Imaging and Digital Topography",
+ year = "1989",
+ editor = "Jacques Andr{\'e} and Roger Hersch",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ ISBN = "0-521-37490-1",
+ LCCN = "Z253.3 .R37 1989",
+ pages = "x + 292",
+ bibdate = "Fri Jul 22 09:29:08 1994",
+}
+
+@Proceedings{Clark:TAU88,
+ title = "{\TeX}: {Applications}, Uses, Methods. {Proceedings},
+ {Third} {European} {\TeX} {Conference}, {\TeX88},
+ {Exeter}, {August} 1988",
+ year = "1990",
+ editor = "Malcolm Clark",
+ publisher = pub-EH,
+ address = pub-EH:adr,
+ ISBN = "0-13-912296-6",
+ LCCN = "Z253.4.T47 C45 1990",
+ pages = "277",
+ price = "US\$69.95",
+ bibdate = "Fri Jul 22 09:29:34 1994",
+}
+
+@Proceedings{Desarmenien:TSD86,
+ key = "TEXSCIDOC86",
+ editor = "Jacques D{\'e}sarm{\'e}nien",
+ title = "{\TeX} for Scientific Documentation. Second European
+ Conference. Strasbourg, France, June 19--21, 1986.
+ Proceedings",
+ booktitle = "{\TeX} for Scientific Documentation. Second European
+ Conference. Strasbourg, France, June 19--21, 1986.
+ Proceedings",
+ year = "1986",
+ number = "236",
+ series = "Lecture Notes in Computer Science",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "204",
+ acknowledgement = ack-hk,
+ ISBN = "3-540-16807-9, 0-387-16807-9 (paperback)",
+ LCCN = "T 385 E97 1989",
+ bibdate = "Thu Jul 21 23:10:24 1994",
+}
+
+@Proceedings{Heck:DPAS92,
+ editor = "Andr{\'e} Heck",
+ title = "Desktop Publishing in Astronomy {\&} Space Sciences.
+ Strasbourg Astronomical Observatory, [1--3] October,
+ 1991",
+ booktitle = "Desktop Publishing in Astronomy {\&} Space Sciences.
+ Strasbourg Astronomical Observatory, [1--3] October,
+ 1991",
+ publisher = pub-WORLD-SCI,
+ address = pub-WORLD-SCI:adr,
+ year = "1992",
+ ISBN = "981-02-0915-0",
+ LCCN = "QB14.2 .D47 1992",
+ pages = "xi + 240",
+ acknowledgement = ack-bnb,
+ note = "In addition to the papers presented at the colloquium,
+ each paper is followed by a summary of the discussion
+ about that paper.",
+ bibdate = "Fri Jul 22 09:30:26 1994",
+}
+
+@Proceedings{Lucarella:TSD85,
+ key = "TEXSCIDOC85",
+ editor = "Dario Lucarella",
+ title = proc-TEX85,
+ booktitle = proc-TEX85,
+ year = "1985",
+ ISBN = "0-201-13399-7",
+ LCCN = "Q224.E97 1985",
+ pages = "204",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ acknowledgement = ack-hk,
+ bibdate = "Fri Jul 22 09:31:21 1994",
+}
+
+@Proceedings{Miller:PROTEXT-I,
+ title = "{PROTEXT I}: Proceedings of the First International
+ Conference on Text Processing Systems held in Dublin
+ from 24th to 26th October, 1984",
+ year = "1984",
+ editor = "John J. H. Miller",
+ ISBN = "0-906783-41-0 (hardcover), 0-906783-42-9 (paper)",
+ LCCN = "QA76.9.T48 I591 1984",
+ pages = "vii + 59",
+ publisher = pub-BP,
+ address = pub-BP:adr,
+ acknowledgement = ack-hk,
+ bibdate = "Fri Jul 22 09:32:58 1994",
+}
+
+@Proceedings{Miller:PROTEXT-II,
+ title = "{PROTEXT II}: Proceedings of the Second International
+ Conference on Text Processing Systems held in Dublin
+ from 23rd to 25th October, 1985",
+ year = "1985",
+ editor = "John J. H. Miller",
+ pages = "viii + 212",
+ ISBN = "0-906783-50-X (hardcover), 0-906783-40-2 (paperback)",
+ LCCN = "QA76.9.T48 I561 1985",
+ publisher = pub-BP,
+ address = pub-BP:adr,
+ acknowledgement = ack-hk,
+ bibdate = "Fri Jul 22 09:35:19 1994",
+}
+
+@Proceedings{Miller:PROTEXT-III,
+ title = "{PROTEXT III}: Proceedings of the Third International
+ Conference on Text Processing Systems held in Dublin
+ from 22nd to 24th October, 1986",
+ year = "1986",
+ editor = "John J. H. Miller",
+ pages = "vii + 169",
+ ISBN = "0-906783-57-7 (hardcover), 0-906783-58-5 (paperback)",
+ LCCN = "QA76.9.T48 I561 1986",
+ publisher = pub-BP,
+ address = pub-BP:adr,
+ acknowledgement = ack-hk,
+ bibdate = "Fri Jul 22 09:33:46 1994",
+}
+
+@Proceedings{Miller:PROTEXT-IV,
+ title = "{PROTEXT IV}: Proceedings of the Fourth International
+ Conference on Text Processing Systems, 20--22 October
+ 1987, Boston, {USA}",
+ year = "1987",
+ editor = "John J. H. Miller",
+ ISBN = "0-906783-80-1 (hardcover), 0-906783-79-8 (paperback)",
+ LCCN = "QA76.9.T48 I571 1987",
+ pages = "vii + 153",
+ publisher = pub-BP,
+ address = pub-BP:adr,
+ bibdate = "Fri Jul 22 09:38:44 1994",
+}
+
+@Proceedings{Nadrchal:ESS89,
+ key = "CTP",
+ editor = "J. Nadrchal",
+ organization = "European Summer Schools on Computing Techniques in
+ Physics",
+ title = "Man-Machine Interface in the Scientific Environment.
+ {Proceedings} of the 8th European Summer School on
+ Computing Techniques in Physics. Skalsk{\'y}
+ Dv{\accent'27u}r, Czecholsovakia, 19--28 {September}
+ 1989",
+ booktitle = "Man-Machine Interface in the Scientific Environment.
+ {Proceedings} of the 8th European Summer School on
+ Computing Techniques in Physics. Skalsk{\'y}
+ Dv{\accent'27u}r, Czecholsovakia, 19--28 {September}
+ 1989",
+ series = j-CPC,
+ volume = "61",
+ publisher = pub-NH # "; " # "Elsevier Science Publishers B. V.",
+ year = "1990",
+ address = pub-NH:adr,
+ note = "In addition to the papers presented at the colloquium,
+ each paper is followed by a summary of the discussion
+ about that paper.",
+ bibdate = "Sat Mar 12 18:25:46 1994",
+}
+
+@Proceedings{Pietrowski:NIPT91,
+ title = proc-NIPT91,
+ booktitle = proc-NIPT91,
+ year = "1991",
+ editor = "Ken Pietrowski",
+ publisher = pub-IST,
+ address = pub-IST:adr,
+ volume = "2",
+ bibdate = "Sat Mar 12 18:27:13 1994",
+}
+
+@Proceedings{vanderVeer:HCI88,
+ title = "Human-computer Interaction: Psychonomic Aspects.
+ Conference of the Dutch Psychonomic Society",
+ year = "1988",
+ ISBN = "0-387-18901-7",
+ editor = "Gerrit C. van der Veer and Gijsbertus Mulder",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "458",
+ acknowledgement = ack-nhfb,
+ bibdate = "Thu Jul 21 23:41:57 1994",
+}
+
+@Proceedings{vanVliet:DMT88,
+ title = "Document Manipulation and Typography. Proceedings of
+ the International Conference on Electronic Publishing,
+ Document Manipulation and Typography, Nice (France),
+ April 20--22, 1988",
+ year = "1988",
+ ISBN = "0-521-36294-6",
+ LCCN = "Z286.E43 I571 1988",
+ editor = "J. C. van Vliet",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "288",
+ price = "US\$47.50",
+ acknowledgement = ack-hk,
+ bibdate = "Fri Jul 22 08:43:13 1994",
+}
+
+@Proceedings{vanVliet:TPDM86,
+ editor = "J. C. van Vliet",
+ booktitle = "Text Processing and Document Manipulation: Proceedings
+ of the International Conference, University of
+ Nottingham, 14--16 April 1986",
+ title = "Text Processing and Document Manipulation: Proceedings
+ of the International Conference, University of
+ Nottingham, 14--16 April 1986",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ year = "1986",
+ pages = "viii + 277",
+ ISBN = "0-521-32592-7",
+ LCCN = "QA76.9.T48 T481 1986",
+ month = apr,
+ acknowledgement = ack-kb,
+ bibdate = "Fri Jul 22 09:41:00 1994",
+}
+
+@Proceedings{Zlatuska:ET92,
+ title = "Euro{\TeX} 92: Proceedings of the 7th European {\TeX}
+ Conference",
+ year = "1992",
+ ISBN = "80-210-0480-0",
+ editor = "Ji{\v r}{\'\i} Zlatu{\v s}ka",
+ publisher = pub-MASARYKOVA,
+ address = pub-MASARYKOVA:adr,
+ month = sep,
+ pages = "viii + 330",
+ bibdate = "Fri Nov 27 12:29:36 1992",
+ acknowledgement = ack-nhfb,
+}
+
+%%% This is for GNU Emacs file-specific customization:
+%%% Local Variables:
+%%% bibtex-extra-fields: ("acknowledgement")
+%%% End:
diff --git a/Master/texmf-dist/bibtex/bib/beebe/texbook2.bib b/Master/texmf-dist/bibtex/bib/beebe/texbook2.bib
new file mode 100644
index 00000000000..43e9f0d84c4
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/beebe/texbook2.bib
@@ -0,0 +1,8427 @@
+%%% -*-BibTeX-*-
+%%% /u/sy/beebe/tex/bib/texbook2.bib, Mon Feb 11 11:29:01 1991
+%%% Edit by Nelson H. F. Beebe <beebe at magna.math.utah.edu>
+%%%
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "1.217",
+%%% date = "01 July 2003",
+%%% time = "18:21:29 MDT",
+%%% filename = "texbook2.bib",
+%%% address = "Center for Scientific Computing
+%%% University of Utah
+%%% Department of Mathematics, 110 LCB
+%%% 155 S 1400 E RM 233
+%%% Salt Lake City, UT 84112-0090
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 581 4148",
+%%% checksum = "23342 8427 31867 285356",
+%%% email = "beebe at math.utah.edu, beebe at acm.org,
+%%% beebe at computer.org, beebe at ieee.org
+%%% (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% supported = "yes",
+%%% docstring = "This BibTeX file records books and periodicals
+%%% prepared with TeX (but not specifically
+%%% about TeX). For a listing of publications
+%%% about TeX, see texbook1.bib and
+%%% texbook3.bib; they too will have been
+%%% typeset by TeX. The ISBN fields will be
+%%% printed if the is-alpha.bst or is-plain.bst
+%%% style files are used.
+%%%
+%%% At version 1.217, the year coverage looked
+%%% like this:
+%%%
+%%% 1979 ( 1) 1988 ( 41) 1997 ( 3)
+%%% 1980 ( 0) 1989 ( 64) 1998 ( 5)
+%%% 1981 ( 5) 1990 ( 99) 1999 ( 3)
+%%% 1982 ( 5) 1991 ( 80) 2000 ( 2)
+%%% 1983 ( 3) 1992 ( 33) 2001 ( 2)
+%%% 1984 ( 4) 1993 ( 15) 2002 ( 1)
+%%% 1985 ( 12) 1994 ( 10) 2003 ( 2)
+%%% 1986 ( 14) 1995 ( 5)
+%%% 1987 ( 21) 1996 ( 5)
+%%%
+%%% Article: 2
+%%% Book: 398
+%%% Booklet: 1
+%%% Misc: 11
+%%% Periodical: 93
+%%% Proceedings: 9
+%%% TechReport: 1
+%%%
+%%% Total entries: 515
+%%%
+%%% CONVENTIONS
+%%%
+%%% Books are tagged by the first author's last
+%%% name, a colon, up to 3 upper-case letters
+%%% taken from the first three upper-case words
+%%% in the title (ignoring words like A, And,
+%%% The), followed by the last two digits of
+%%% the publication year. If there is a volume
+%%% entry, it is appended to the tag, prefixed
+%%% by a hyphen.
+%%%
+%%% For Dutch authors, a van part is included
+%%% in the author tag. For names with accented
+%%% letters, accents are dropped in the author
+%%% tag.
+%%%
+%%% This scheme is systematic enough that it
+%%% can be programmed: most of the
+%%% Addison-Wesley book entries were created
+%%% with an awk program from a dump of the AW
+%%% database supplied by Mona Zeftel. Older
+%%% entries in this bibliography were modified
+%%% on 28-Nov-1990 to conform to this tagging
+%%% scheme.
+%%%
+%%% The choice of a limit of 3 letters was
+%%% determined from experiments on the
+%%% Addison-Wesley collection. Long tags are
+%%% undesirable because they are a nuisance to
+%%% type, and also interfere with the tagged
+%%% bibliography output produced using the
+%%% LaTeX showtags style option.
+%%%
+%%% Journal article tags look like
+%%% author:abbrev-volume-number-page, where the
+%%% author part is the last name of the first
+%%% author: for example,
+%%% Bhattacharya:PR203-1-203.
+%%%
+%%% Technical report tags look like
+%%% author:abbrev-number: for example,
+%%% Billawala:STAN-CS-89-1256.
+%%%
+%%% The Como InProceedings entries look like
+%%% author:TEX85-page: for example,
+%%% Agostini:TEX85-117. Other InProceedings
+%%% entries should follow a similar style.
+%%%
+%%% Entries are stored ordered by the BibTeX
+%%% tag name, independent of the entry type
+%%% (the GNU Emacs function sort-bibtex-entries
+%%% can be used to ensure correct ordering).
+%%% However, entries that are cross-referenced
+%%% by others are stored at the end of the
+%%% file, since that order is required by
+%%% BibTeX.
+%%%
+%%% With few exceptions, value fields for
+%%% acknowledgement, address, journal, and
+%%% publisher keywords should use macros
+%%% defined in the string preamble below. This
+%%% helps to ensure consistency, and reduces
+%%% the entry sizes. Address entries must
+%%% always include the country.
+%%%
+%%% `The New Hacker's Dictionary' listed below
+%%% includes this remark about TeX:
+%%%
+%%% ``TeX /tekh/ n. An extremely powerful
+%%% macro-based text formatter written by
+%%% Donald E. Knuth, very popular in the
+%%% computer-science community (it is good
+%%% enough to have displaced Unix troff(1), the
+%%% other favored formatter, even at many Unix
+%%% installations). TeX fans insist on the
+%%% correct (guttural) pronunciation, and the
+%%% correct spelling (all caps, squished
+%%% together, with the E depressed below the
+%%% baseline; the mixed-case `TeX' is
+%%% considered an acceptable kluge on
+%%% ASCII-only devices). Fans like to
+%%% proliferate names from the work `TeX' --
+%%% such TeXnician (TeX user), TeXhacker (TeX
+%%% programmer), TeXmaster (competent TeX
+%%% programmer), TeXhax, and TeXnique. [This
+%%% book was typeset in TeX. --- ESR]
+%%%
+%%% Knuth began TeX because he had become
+%%% annoyed at the declining quality of the
+%%% typesetting in volumes I--III of his
+%%% monumental Art of Computer Programming (see
+%%% bible). In a manifestation of the typical
+%%% hackish urge to solve the problem at hand
+%%% once and for all, he began to design his
+%%% own typesetting language. He thought he
+%%% would finish it on his sabbatical in 1978;
+%%% he was wrong by only about 8 years. The
+%%% language was finally frozen around 1985,
+%%% but volume IV of The Art of Computer
+%%% Programming has yet to appear as of
+%%% mid-1991. The impact and influence of TeX's
+%%% design has been such that nobody minds this
+%%% very much. Many grand hackish projects have
+%%% started as a bit of tool-building on the
+%%% way to something else; Knuth's diversion
+%%% was simply on a grander scale than most.''
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+
+@Preamble{"\input bibnames.sty"
+ # "\input path.sty "
+ # "\hyphenation{Alex-an-dra Buch-er Di-ode micro-eco-nomic Nij-hoff
+ trig-o-nom-etry Mat-thew na-tion-al-e-ko-nom or-tho-pae-dics
+ phys-ics Rie-del sek-el-skift-ets Unu-mane Wald-ing-er
+ Wy-daw-nic-twa Zieg-ler}"}
+
+%%======================================================================
+%%
+%% CONVENTIONS
+%%
+%% Books are tagged by the first author's last name, a colon, up to 3
+%% upper-case letters taken from the first three upper-case words in
+%% the title (ignoring words like A, And, The), followed by the last
+%% two digits of the publication year. If there is a volume entry, it
+%% is appended to the tag, prefixed by a hyphen.
+%%
+%% This scheme is systematic enough that it can be programmed: most of
+%% the Addison-Wesley book entries were created with an awk program
+%% from a dump of the AW database supplied by Mona Zeftel. Older
+%% entries in this bibliography were modified on 28-Nov-1990 to
+%% conform to this tagging scheme.
+%%
+%% The choice of a limit of 3 letters was determined from experiments on
+%% the Addison-Wesley collection. Long tags are undesirable because
+%% they are a nuisance to type, and also interfere with the tagged
+%% bibliography output produced using the LaTeX showtags style option.
+%%
+%% Journal tags are still somewhat ad-hoc, and need to be systematized.
+%%
+%% Entries are stored ordered by the BibTeX tag name, independent of
+%% the entry type.
+%%
+%% With few exceptions, value fields for acknowledgement, address,
+%% journal, and publisher keywords should use macros defined in the
+%% string preamble below. This helps to ensure consistency, and
+%% reduces the entry sizes. Address entries must always include the
+%% country.
+%%======================================================================
+
+%%======================================================================
+%% From the author (NHFB):
+%%
+%% The original version of this file was put together by merging
+%% bibliographies that Barbara Beeton at the American Mathematical
+%% Society, and editor of TUGboat, and I had collected.
+%%
+%% This file is likely to be enlarged by contributions from many people,
+%% and we may learn more about the process of using TeX for book and
+%% journal publication by making contact with one another through these
+%% acknowledgements.
+%%
+%% The BibTeX string facility is useful here; acknowledgements will
+%% begin "ack-" followed by last name or initials. I have not written a
+%% BibTeX style modification that will list these acknowledgements in an
+%% output bibliography. The next time it rains...
+%%======================================================================
+
+%% Acknowledgement abbreviations:
+
+@String{ack-arr = "Alan R. Rogers,
+ Department of Anthropology,
+ 206 Stewart Building,
+ University of Utah,
+ Salt Lake City, UT 84112, USA,
+ Tel: +1 801 581 5529,
+ e-mail: \path|rogers@anthro.utah.edu|"}
+
+@String{ack-bc = "Bart Childs,
+ e-mail: \path|bart@cs.tamu.edu|"}
+
+@String{ack-bk = "Prof. Dr. Bernd Kahlbrandt,
+ Fachhochschule Hamburg,
+ Fachbereich Elektrotechnik und Informatik,
+ Berliner Tor 3,
+ D-20099 Hamburg,
+ Tel.: (040) 2488-3182,
+ Tel.: (040) 53 89 78 91,
+ Fax.: (040) 2488-3121,
+ email: \path|khb@informatik.fh-hamburg.de|,
+ www homepage: \path|http://users.informatik.fh-hamburg.de/~khb|"}
+
+@String{ack-bkph = "Berthold K. P. Horn,
+ e-mail: \path|bkph@ai.mit.edu|"}
+
+@String{ack-bnb = "Barbara N. Beeton
+ e-mail: \path|bnb@math.ams.org|"}
+
+@String{ack-cb = "Claudio Beccari,
+ Dipartimento di Elettronica,
+ Politecnico di Torino,
+ Corso Duca degli Abruzzi, 24,
+ I10129 Torino, Italy,
+ e-mail: \path|beccari@itopoli.bitnet|,
+ \path|beccari@polito.it|"}
+
+@String{ack-dfl = "Dag F. Langmyhr,
+ Department of Informatics,
+ P.O. Box 1080,
+ University of Oslo,
+ N-0316 Oslo, Norway,
+ e-mail: \path|dag@ifi.uio.no|"}
+
+@String{ack-dgk = "David G. Kay,
+ e-mail: \path|kay@ics.uci.edu|"}
+
+@String{ack-dw = "Dominik Wujastyk,
+ Wellcome Institute for the History of Medicine,
+ 183 Euston Road,
+ London NW1 2BP, UK,
+ Tel: +44-71-383-4252,
+ e-mail: Janet: \path|d.wujastyk@uk.ac.ucl|"}
+
+@String{ack-fl = "Frank Lusardi,
+ 305 East 40th Street, No. 6X,
+ New York, NY 10016, USA,
+ Tel: (212) 661-2472"}
+
+@String{ack-fs = "Franc Solina,
+ Faculty of Electrical Engineering and Computer Science,
+ University of Ljubljana,
+ Slovenia, Yugoslavia,
+ e-mail: \path|franc%ninurta.fer.yu@mcsun.eu.net|"}
+
+@String{ack-ga-gt = "Graham Asher and Graham Toal,
+ Current Science,
+ 34--42 Cleveland Street,
+ London, UK,
+ e-mail: Internet: \path|gtoal@ed.ac.uk|"}
+
+@String{ack-gg = "Grant Gustafson,
+ Department of Mathematics,
+ University of Utah,
+ Salt Lake City, UT 84112, USA,
+ Tel: +1 801 581 6879,
+ e-mail: Internet: \path|gustafso@math.utah.edu|"}
+
+@String{ack-gs = "Guy Steele,
+ Thinking Machines Corporation,
+ 245 First Street,
+ Cambridge, MA 02142, USA,
+ e-mail: \path|gls@Think.COM|"}
+
+@String{ack-gswan = "George Swan,
+ Subject Bibliography Unit,
+ Wilson Library,
+ University of Minnesota,
+ Minneapolis, MN 55455, USA,
+ Tel: +1 612 624 5860,
+ e-mail: \path|g-swan@staff.tc.umn.edu|"}
+
+@String{ack-ho = "Hans G. Othmer,
+ Department of Mathematics,
+ University of Utah,
+ Salt Lake City, UT 84112,
+ USA,
+ Tel: +1 801 581 3901,
+ e-mail: \path|othmer@math.utah.edu|"}
+
+@String{ack-hv = "Hal R. Varian,
+ Dept of Economics,
+ University of Michigan,
+ Ann Arbor, MI 48109, USA,
+ e-mail: \path|hal@alfred.econ.lsa.umich.edu|"}
+
+@String{ack-jc = "Jason Christian,
+ e-mail: \path|jason@gordy.ucdavis.edu|"}
+
+@String{ack-jl = "John Lancaster,
+ e-mail: Internet: \path|JLANCASTER@amherst.edu|"}
+
+@String{ack-jr = "Joseph Romanovsky,
+ e-mail: Internet: \path|jvr@or.math.lgu.spb.su|"}
+
+@String{ack-kb = "Karl Berry,
+ e-mail: \path|karl@cs.umb.edu|"}
+
+@String{ack-kph = "K. P. Hart,
+ Faculty of Mathematics and Informatics,
+ TU Delft,
+ Postbus 5031,
+ 2600 GA Delft,
+ The Netherlands,
+ e-mail: \path|wiawkph@dutrun2.tudelft.nl|"}
+
+@String{ack-lmp = "Lori McWilliam Pickert,
+ Archetype Publishing Inc.,
+ Tel: (217) 359-8178,
+ FAX: (217) 359-8192,
+ e-mail: \path|jcs@wri.com|"}
+
+@String{ack-mb = "Michael Barr,
+ McGill University,
+ Mathematics and Statistics,
+ 805 Sherbrooke Street West,
+ Montreal H3A 2K6, Quebec, Canada,
+ Tel: (514) 398-3805,
+ e-mail: Internet: \path|barr@triples.math.mcgill.ca|"}
+
+@String{ack-mc = "Malcolm Clark,
+ e-mail: \path|malcolm@icrf.ac.uk|"}
+
+@String{ack-md = "Monika D{\k{a}}bkowska,
+ Uniwersytet Warszawski,
+ wydzia{\l} Matematyki, Informatyki i Mechaniki Stosowanej,
+ Warszawa, Poland"}
+
+@String{ack-mg = "Michel Goossens,
+ e-mail: \path=Michel.Goossens@cern.ch="}
+
+@String{ack-mjp = "Michael J. Piff,
+ Department of Pure Mathematics, PO Box 597,
+ Hicks Noisy Building Site, Hounsfield Road,
+ Sheffield S10 2UN, UK.
+ Tel. SHEFFIELD(0742) 768555 Extension 4431.
+ JANET: \path|mpiff@uk.ac.shef.pa| or
+ \path|mpiff@uk.ac.shef.ibm|"}
+
+@String{ack-mz = "Mona Zeftel,
+ Addison-Wesley Publishing Company,
+ Reading, MA, USA,
+ e-mail: \path|crw@wjh12.harvard.edu|"}
+
+@String{ack-nad = "Noel Doughty,
+ e-mail: \path|nad@phys.canterbury.ac.nz|"}
+
+@String{ack-ngm = "Niels Gylling Mortensen,
+ e-mail: \path|gylling@risoe.dk|"}
+
+@String{ack-nhfb = "Nelson H. F. Beebe,
+ Center for Scientific Computing,
+ University of Utah,
+ Department of Mathematics, 110 LCB,
+ 155 S 1400 E RM 233,
+ Salt Lake City, UT 84112-0090, USA,
+ Tel: +1 801 581 5254,
+ FAX: +1 801 581 4148,
+ e-mail: \path|beebe@math.utah.edu|,
+ \path|beebe@acm.org|,
+ \path|beebe@computer.org|,
+ \path|beebe@ieee.org| (Internet),
+ URL: \path|http://www.math.utah.edu/~beebe/|"}
+
+@String{ack-np = "Nico A. F. M. Poppelier,
+ TeXnique,
+ Schiermonnikoog 7,
+ 3524 AH Utrecht,
+ The Netherlands,
+ e-mail: BITnet: \path|Poppelier@Hutruu53| or
+ Internet: \path|N.Poppelier@elsevier.NL|"}
+
+@String{ack-nw = "Erich Neuwirth,
+ Institute for Statistics and Computer Science,
+ University of Vienna,
+ Universitaetsstr. 5/9,
+ A-1010 Vienna,
+ Austria,
+ e-mail: \path|a4422DAB@vm.univie.ac.at|,
+ BITnet: \path|A4422DAB@AWIUNI11|"}
+
+@String{ack-pcd = "Peter Dibble,
+ e-mail: \path|mcrware!dibble@uunet.UU.NET|"}
+
+@String{ack-pj = "Peter Jansson,
+ Department of Geology and Geophysics,
+ University of Minnesota,
+ Pillsbury Hall \#108,
+ 310 Pillsbury Drive S.E.,
+ Minneapolis, MN 55455,
+ Tel: (612) 624-6860,
+ e-mail: \path|fvm6215@ux.acs.umn.edu|"}
+
+@String{ack-psg = "Paula Spiegel Gudder,
+ 1710 South Newport Way,
+ Denver, CO 80224,
+ USA,
+ Tel: (303) 757-2941"}
+
+@String{ack-pt = "Philip Taylor,
+ The Computer Centre,
+ RHBNC Univ of London,
+ Egham Hill,
+ Egham, Surrey TW20 0EX, UK,
+ Tel: +44~784~443172,
+ e-mail: Internet: \path|P.Taylor@Vax.Rhbnc.Ac.UK|"}
+
+@String{ack-rj = "Rex Jaeschke,
+ 2051 Swans Neck Way,
+ Reston, Virginia 22091, USA,
+ Tel: (703) 860-0091,
+ e-mail: \path|rex@aussie.com|"}
+
+@String{ack-rm = "Ronan Melennec,
+ Service Technique de la Navigation Aerienne,
+ Departement 7,
+ 95, rue Henri Rochefort, 91025 EVRY CEDEX, FRANCE,
+ Tel: +33 1 60 79 82 40,
+ e-mail: \path|melennec@stna7.stna.dgac.fr|"}
+
+@String{ack-rs = "Rainer Schoepf,
+ Konrad-Zuse-Zentrum/Informationstechnik Berlin,
+ Heilbronner Str. 10,
+ D-1000 Berlin 31,
+ Federal Republic of Germany,
+ e-mail: Internet: \path|Schoepf@sc.ZIB-Berlin.de|"}
+
+@String{ack-sh = "Steve Hamm,
+ Motorola Inc. Semiconductor Systems Design Technology,
+ 3501 Ed Bluestein Blvd., MD-M2,
+ Austin, TX 78762, USA,
+ Tel: (512) 928-6612,
+ Fax: (512) 928-7662,
+ e-mail: Internet:
+ \path|hamm@ssdt-bluestein.sps.mot.com|"}
+
+@String{ack-sjt = "Simon Thompson,
+ e-mail: Internet: \path|sjt@ukc.ac.uk|"}
+
+@String{ack-sk = "Samuel Ko,
+ e-mail: \path|kko@sfu.ca|"}
+
+@String{ack-sr = "Sebastian Rahtz,
+ e-mail: Internet: \path|spqr@minster.york.ac.uk|"}
+
+@String{ack-te = "Teresa A. Ehling,
+ The MIT Press,
+ 55 Hayward Street,
+ Cambridge, MA 02142, USA,
+ Tel: (617) 253-1672,
+ e-mail: Internet: \path|ehling@mitvma.mit.edu|"}
+
+@String{ack-tr = "Thomas Ridgeway: \path|ridgeway@u.washington.edu|"}
+
+@String{ack-wa = "Wolfgang Appelt,
+ Gesellschaft fur Math. und Daten.,
+ Schloss Birlinghoven - PF 1240,
+ W-5202 St. Augustin 1,
+ FEDERAL REPUBLIC OF GERMANY,
+ Tel: 49-2241-14-2326,
+ FAX: 49-2241-14-2326,
+ e-mail: Internet: \path|appelt@f3svb.gmd.de|"}
+
+@String{ack-ys = "Yonghe Sun,
+ e-mail: Internet: \path|ysun@mines.utah.edu|"}
+
+%%======================================================================
+%% Journal abbreviations
+
+@String{j-IEEE-TEI = "IEEE Transactions on Electrical Insulation"}
+
+@String{j-LNCS = "Lecture Notes in Computer Science"}
+
+@String{j-LOGIN = ";login: the USENIX Association newsletter"}
+
+@String{j-PHYSREP = "Physics Reports"}
+
+@String{j-UMAP = "The UMAP Journal"}
+
+@String{j-UMAP:adr = "COMAP, Inc., Suite 210, 57 Bedford St.,
+ Lexington, MA 02173, USA"}
+
+%%======================================================================
+%% Languages
+
+@String{lang-lat = "Latin"}
+
+@String{lang-pl = "Polish"}
+
+%%======================================================================
+%% Preparation details.
+
+@String{prep-amstex = "Prepared with {\AmSTeX}."}
+
+@String{prep-inrstex = "Prepared with {INRS\TeX}."}
+
+@String{prep-latex = "Prepared with {\LaTeX}."}
+
+@String{prep-tex = "Prepared with {\TeX}."}
+
+@String{prep-unknowntex = "Prepared with {\TeX} (unknown variety)."}
+
+@String{prep-ytex = "Prepared with Daniel Brotsky's {Y\TeX}."}
+
+%%======================================================================
+%% publisher abbreviations
+
+@String{pub-AIAA = "American Institute of Aeronautics and
+ Astronautics"}
+
+@String{pub-AIAA:adr = "370 L'Enfant Promenade SW, Washington, DC
+ 20024--2518"}
+
+@String{pub-AIP = "American Institute of Physics"}
+
+@String{pub-AIP:adr = "Woodbury, NY, USA"}
+
+@String{pub-AP = "Academic Press"}
+
+@String{pub-AP:adr = "Boston, MA, USA"}
+
+@String{pub-ARACNE = "Aracne Editrice"}
+
+@String{pub-ARACNE:adr = "Via Luigi Chiozza, 21b, 00133 Roma, Italy"}
+
+@String{pub-ARE = "A-R Editions, Inc."}
+
+@String{pub-ARE:adr = "801 Deming Way, Madison, WI 53717-1903,
+ USA; Tel: (608) 836-9000"}
+
+@String{pub-AUG = "Acta Universitatis Gothoburgensis"}
+
+@String{pub-AUG:adr = "Gothenburg, Sweden"}
+
+@String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
+
+@String{pub-AW-Can:adr = "Don Mills, Ontario, Canada"}
+
+@String{pub-AW:adr = "Reading, MA, USA"}
+
+@String{pub-BENCUM = "Benjamin/Cummings Pub. Co."}
+
+@String{pub-BENCUM:adr = "Redwood City, CA, USA"}
+
+@String{pub-BIRKHAUSER = "Birkh{\"{a}}user"}
+
+@String{pub-BIRKHAUSER:adr = "Cambridge, MA, USA; Berlin, Germany; Basel,
+ Switzerland"}
+
+@String{pub-BOOKMAN = "Bookman"}
+
+@String{pub-BOOKMAN:adr = "Taipei, Taiwan"}
+
+@String{pub-BRILL = "Brill"}
+
+@String{pub-BRILL:adr = "Leiden, The Netherlands"}
+
+@String{pub-BS = "The Bibliographical Society"}
+
+@String{pub-BS:adr = "London, UK"}
+
+@String{pub-BSA = "The Bibliographical Society of America"}
+
+@String{pub-BSA:adr = "New York, NY, USA"}
+
+@String{pub-CHAPMAN = "Chapman and Hall, Ltd."}
+
+@String{pub-CHAPMAN:adr = "London, UK"}
+
+%% NB: CLUT and Loescher Editore did not provide ISBN's on the books
+%% listed here
+
+@String{pub-CLUT = "Edizioni Cooperativa Libraria Universitaria
+ Torino"}
+
+@String{pub-CLUT:adr = "Corso Duca degli Abruzzi, 24, I 10129
+ Torino, Italy"}
+
+@String{pub-CP = "Clarendon Press"}
+
+@String{pub-CP:adr = "Oxford, UK"}
+
+@String{pub-CRC = "CRC Press"}
+
+@String{pub-CRC:adr = "2000 N.W. Corporate Blvd., Boca Raton,
+ FL 33431-9868, USA"}
+
+@String{pub-CSLI = "CSLI Publications"}
+
+@String{pub-CSLI:adr = "Stanford, CA, USA"}
+
+@String{pub-CSP = "Computer Science Press"}
+
+@String{pub-CSP:adr = "1803 Research Boulevard, Rockville, MD
+ 20850, USA"}
+
+@String{pub-CUP = "Cambridge University Press"}
+
+@String{pub-CUP:adr = "Cambridge, UK"}
+
+@String{pub-CURSCI = "Current Science"}
+
+@String{pub-CURSCI:adr = "34--42 Cleveland Street, London, UK"}
+
+@String{pub-DARWIN = "The Darwin Press"}
+
+@String{pub-DARWIN:adr = "Princeton, NJ, USA"}
+
+@String{pub-DP = "Digital Press"}
+
+@String{pub-DP:adr = "12 Crosby Drive, Bedford, MA 01730, USA"}
+
+@String{pub-DUXBURY = "Duxbury Press"}
+
+@String{pub-DUXBURY:adr = "Belmont, CA, USA"}
+
+@String{pub-EF = "Esperantoforlaget AS"}
+
+@String{pub-EF:adr = "Oslo, Norway"}
+
+@String{pub-EFFECT = "Effect Publishing"}
+
+@String{pub-EFFECT:adr = "501 Fifth Avenue, Suite 1612, New York, NY
+ 10017, USA"}
+
+@String{pub-ELLIS-HORWOOD = "Ellis Horwood"}
+
+@String{pub-ELLIS-HORWOOD:adr = "New York, NY, USA"}
+
+@String{pub-ESP = "Elsevier Science Publishers"}
+
+@String{pub-ESP:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-ESPNH = "Elsevier Science Publishers
+ (North-Holland)"}
+
+@String{pub-ESPNH:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-ET = "Editorial Trillas"}
+
+@String{pub-ET:adr = "M{\'e}xico DF, M{\'e}xico"}
+
+@String{pub-GEO = "Geo Books"}
+
+@String{pub-GEO:adr = "Norwich, UK"}
+
+@String{pub-GLAGOL = "Glagol"}
+
+@String{pub-GLAGOL:adr = "St. Petersburg, Russia"}
+
+@String{pub-GREENWOOD = "Greenwood Press"}
+
+@String{pub-GREENWOOD:adr = "88 Post Road West, Westport, CT 06881, USA"}
+
+@String{pub-HD = "Holden-Day, Inc."}
+
+@String{pub-HD:adr = "Oakland, CA 94609, USA"}
+
+@String{pub-HPT = "H{\"o}ld{\-}er-Pichler-Tempsky Verlag"}
+
+@String{pub-HPT:adr = "Vienna, Austria"}
+
+@String{pub-HRW = "Holt, Rinehart, and Winston"}
+
+@String{pub-HRW:adr = "New York, NY, USA"}
+
+@String{pub-IE = "InterEditions"}
+
+@String{pub-IE:adr = "25 rue Leblanc, 75015 Paris, France"}
+
+@String{pub-IOS = "IOS Press"}
+
+@String{pub-IOS:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-ISO = "International Organization for
+ Standardization"}
+
+@String{pub-ISO:adr = "Geneva, Switzerland"}
+
+@String{pub-ITCP = "International Thomson Computer Press"}
+
+@String{pub-ITCP:adr = "20 Park Plaza Suite 1001, Boston, MA 02116
+ USA"}
+
+@String{pub-JBENJ = "John Benjamins"}
+
+@String{pub-JBENJ:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-JBP = "Jones and Bartlett Publishers, Inc."}
+
+@String{pub-JBP:adr = "One Exeter Plaza, Boston, MA 02116, USA"}
+
+@String{pub-JHUP = "The Johns Hopkins University Press"}
+
+@String{pub-JHUP:adr = "Baltimore, MD, USA"}
+
+@String{pub-JW = "John Wiley"}
+
+@String{pub-JW:adr = "New York, NY, USA"}
+
+@String{pub-KENKYUSHA = "Kenkyusha"}
+
+@String{pub-KENKYUSHA:adr = "Tokyo, Japan"}
+
+@String{pub-KLUWER = "Kluwer Academic Publishers Group"}
+
+@String{pub-KLUWER:adr = "Norwell, MA, USA, and Dordrecht, The
+ Netherlands"}
+
+@String{pub-LEC = "Libreria Editrice Cafoscarina"}
+
+@String{pub-LEC:adr = "Venice, Italy"}
+
+@String{pub-LGU = "Leningrad University"}
+
+@String{pub-LGU:adr = "St. Petersburg, Russia"}
+
+@String{pub-LINUX-JOURNAL-PRESS = "Linux Journal Press"}
+
+@String{pub-LINUX-JOURNAL-PRESS:adr = "San Francisco, CA, USA"}
+
+@String{pub-LOESCHER = "Loescher Editore"}
+
+@String{pub-LOESCHER:adr = "Via Vittorio Amedeo II, 18, Torino, Italy"}
+
+@String{pub-MAYFIELD = "Mayfield"}
+
+@String{pub-MAYFIELD:adr = "Palo Alto, CA, USA"}
+
+@String{pub-MCGRAW-HILL = "Mc{\-}Graw-Hill"}
+
+@String{pub-MCGRAW-HILL:adr = "New York, NY, USA"}
+
+@String{pub-MELLEN = "Mellen Press"}
+
+@String{pub-MELLEN:adr = "Lewiston, NY, USA"}
+
+@String{pub-MH = "McGraw-Hill"}
+
+@String{pub-MH:adr = "New York, NY, USA"}
+
+@String{pub-MICROWARE = "Microware Systems Corporation"}
+
+@String{pub-MICROWARE:adr = "Des Moines, IA, USA"}
+
+@String{pub-MIS = "MIS:Press"}
+
+@String{pub-MIS:adr = "New York, NY, USA"}
+
+@String{pub-MIT = "The MIT Press"}
+
+@String{pub-MIT:adr = "Cambridge, MA"}
+
+@String{pub-MORGAN-KAUFMANN = "Morgan Kaufmann Publishers"}
+
+@String{pub-MORGAN-KAUFMANN:adr = "Los Altos, CA 94022, USA"}
+
+@String{pub-NAUKA = "Nauka"}
+
+@String{pub-NAUKA:adr = "Moscow, Russia"}
+
+@String{pub-NH = "North-Holland Publishing Company"}
+
+@String{pub-NH:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-NIJHOFF = "Martinus Nijhoff/Dr W. Junk Publishers"}
+
+@String{pub-NIJHOFF:adr = "Dordrecht, The Netherlands"}
+
+@String{pub-NORTON = "W. W. Norton \& Co."}
+
+@String{pub-NORTON:adr = "New York, NY, USA"}
+
+@String{pub-OUP = "Oxford University Press"}
+
+@String{pub-OUP:adr = "Walton Street, Oxford OX2 6DP, UK"}
+
+@String{pub-PERGAMON = "Pergamon Press"}
+
+@String{pub-PERGAMON:adr = "Oxford, UK"}
+
+@String{pub-PH = "Pren{\-}tice-Hall"}
+
+@String{pub-PH:adr = "Upper Saddle River, NJ 07458, USA"}
+
+@String{pub-PH-TRAVEL = "Pren{\-}tice-Hall Travel"}
+
+@String{pub-PH-TRAVEL:adr = "New York, NY, USA"}
+
+@String{pub-PHI = "Pren{\-}tice-Hall International"}
+
+@String{pub-PHI:adr = "Upper Saddle River, NJ 07458, USA"}
+
+@String{pub-PINTER = "Pinter Publishers, Ltd."}
+
+@String{pub-PINTER:adr = "25 Floral St., London WC2E 9DS, UK"}
+
+@String{pub-PPB = "Professional Press Books"}
+
+@String{pub-PPB:adr = "101 Witmer Road, Horsham, PA 19044, USA"}
+
+@String{pub-PHPTR = "Pren{\-}tice-Hall PTR"}
+
+@String{pub-PHPTR:adr = "Upper Saddle River, NJ 07458, USA"}
+
+@String{pub-PUP = "Princeton University Press"}
+
+@String{pub-PUP:adr = "Princeton, NJ, USA"}
+
+@String{pub-RAHS = "Russian-American Historical Society"}
+
+@String{pub-RAHS:adr = "Washington, DC, USA"}
+
+@String{pub-REED = "Reed Enterprise"}
+
+@String{pub-REED:adr = "Reed Business Publishing Group, Room 922,
+ Quadrant House, The Quadrant, Sutton, Surrey
+ SM2 5AS, UK"}
+
+@String{pub-RISO = "{Ris\o} National Laboratory"}
+
+@String{pub-RISO:adr = "Roskilde, Denmark"}
+
+@String{pub-ROUTLEDGE = "Routledge"}
+
+@String{pub-ROUTLEDGE:adr = "London, UK"}
+
+@String{pub-RRD = "R. R. Donnelley and Sons"}
+
+@String{pub-RRD:adr = "Harrisburg, VA, USA"}
+
+@String{pub-SB = "Symposion Bokf{\"o}rlag"}
+
+@String{pub-SB:adr = "Stockholm/Stehag, Sweden"}
+
+@String{pub-SCARECROW = "Scarecrow Press"}
+
+@String{pub-SCARECROW:adr = "Metuchen, NJ, USA"}
+
+@String{pub-SHK = "De sju h{\"a}radernas kulturhistoriska
+ f{\"o}rening"}
+
+@String{pub-SHK:adr = "Gothenburg, Sweden"}
+
+@String{pub-SIAM = "Society for Industrial and Applied
+ Mathematics"}
+
+@String{pub-SIAM:adr = "Philadelphia, PA, USA"}
+
+@String{pub-SINAUER = "Sinauer Associates, Inc."}
+
+@String{pub-SINAUER:adr = "Sunderland, MA 01375, USA"}
+
+@String{pub-STATSCI = "StatSci, a Division of MathSoft, Inc."}
+
+@String{pub-STATSCI:adr = "Seattle, WA, USA"}
+
+@String{pub-SUCSLI = "Stanford University Center for the Study of
+ Language and Information"}
+
+@String{pub-SUCSLI:adr = "Stanford, CA, USA"}
+
+@String{pub-SV = "Spring{\-}er-Ver{\-}lag"}
+
+@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/
+ London, UK~/ etc."}
+
+@String{pub-TCA = "Technology Community Association"}
+
+@String{pub-TCA:adr = "Cambridge, MA, USA"}
+
+@String{pub-TCGPB = "Technical Chamber of Greece (``Ekdosh
+ Teqniko'u Epimelhthr'iou ths Ell'adas''),
+ Publications Bureau (``Grafeio Ekdoseon'')"}
+
+@String{pub-TCGPB:adr = "c/o Ms. Filippidou, Karageorgi Servias 4,
+ GR-102 48 Athens, Greece, Telephones: +30 -
+ 1 - 32 54 590 (last digit can vary up to
+ \ldots{}9), +30 - 1 - 32 45 935, Telefax:
+ +30 - 1 - 32 21 772"}
+
+@String{pub-TELOS = "TELOS division of Springer-Verlag"}
+
+@String{pub-TELOS:adr = "Santa Clara, CA, USA and New York, NY, USA"}
+
+@String{pub-TEUBNER = "B. G. Teubner"}
+
+@String{pub-TEUBNER:adr = "Stuttgart, Germany"}
+
+@String{pub-UGP = "University of Gothenburg Press"}
+
+@String{pub-UGP:adr = "Gothenburg, Sweden"}
+
+@String{pub-UNAM = "Universidad Autonoma de M{\'e}xico"}
+
+@String{pub-UNAM:adr = "M{\'e}xico DF, M{\'e}xico"}
+
+@String{pub-UNK = "publisher unknown"}
+
+@String{pub-UNK:adr = "address unknown"}
+
+@String{pub-WILEY = "John Wiley and Sons, Inc."}
+
+@String{pub-WILEY:adr = "New York, NY, USA"}
+
+@String{pub-WADSWORTH = "Wadsworth and Brooks/Cole Publishing
+ Company"}
+
+@String{pub-WADSWORTH:adr = "Pacific Grove, CA, USA"}
+
+@String{pub-WESTVIEW = "Westview Press"}
+
+@String{pub-WESTVIEW:adr = "5500 Central Ave., Boulder, CO 80301-2847,
+ USA"}
+
+@String{pub-WIHM = "Wellcome Institute for the History of
+ Medicine"}
+
+@String{pub-WIHM:adr = "London, UK"}
+
+@String{pub-WORLD-SCI = "World Scientific Publishing Co. Pte. Ltd."}
+
+@String{pub-WORLD-SCI:adr = "P. O. Box 128, Farrer Road, Singapore 9128"}
+
+@String{pub-ZT = "Zanichelli-Telettra"}
+
+@String{pub-ZT:adr = "Bologna, Italy"}
+
+%%======================================================================
+%% Miscellaneous abbreviations
+
+@String{series-NATO-ASI-C = "NATO ASI series C: Mathematical and
+ physical sciences"}
+
+@String{title-Byrnes:Fourier-ASI89
+ = "Recent Advances in {Fourier} Analysis and
+ its Applications: Proceedings of the {NATO
+ Advanced Study Institute}"}
+
+@String{title-Byrnes:Prob-Sto-ASI91
+ = "Probabilistic and Stochastic Methods in
+ Analysis, with Applications: Proceedings of
+ the {NATO Advanced Study Institute}"}
+%%======================================================================
+%% Series abbreviations:
+
+@String{ser-LNAI = "Lecture Notes in Artificial Intelligence"}
+
+@String{ser-LNCS = "Lecture Notes in Computer Science"}
+
+%%======================================================================
+%% Books and journals
+
+@Book{Abelson:SIC85,
+ author = "Harold Abelson and Gerald J. Sussman with Julie
+ Sussman",
+ title = "Structure and Interpretation of Computer Programs",
+ publisher = pub-MIT # " and " # pub-MH,
+ address = pub-MIT:adr,
+ pages = "xx + 542",
+ year = "1985",
+ ISBN = "0-262-01077-1 (MIT Press), 0-07-000422-6
+ (McGraw-Hill)",
+ LCCN = "QA76.6 .A255 1984",
+ bibdate = "Sun Jul 10 01:18:51 1994",
+ note = "This book was prepared with {\TeX80}.",
+ acknowledgement = ack-bkph,
+}
+
+@Book{Abelson:TG81,
+ author = "Harold Abelson and Andrea A. {diSessa}",
+ title = "Turtle Geometry",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xx + 477",
+ year = "1981",
+ ISBN = "0-262-01063-1",
+ LCCN = "QA462 .A23 1981",
+ bibdate = "Tue Dec 14 22:57:14 1993",
+ note = "This book was prepared with \TeX80; this was described
+ in \tubissue {2}{3} in an article by Michael Sannella",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Abragam:VVF91,
+ author = "A. Abragam",
+ title = "Vremya vspyat', ili fizik, fizik, gde ty byl",
+ publisher = pub-NAUKA # ", Glavnaya redakciya
+ fiziko-matematicheskoj literatury",
+ address = pub-NAUKA:adr,
+ pages = "391",
+ year = "1991",
+ ISBN = "5-02-014712-5",
+ note = prep-latex # "Translated by the author from the
+ original French edition, {\em De la physique avant tout
+ chose}, Editions Odile Jakob.",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Abrahams:UI91,
+ author = "Paul W. Abrahams and Bruce R. Larson",
+ title = "{UNIX} for the Impatient",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxvii + 559",
+ year = "1991",
+ ISBN = "0-201-55703-7",
+ LCCN = "QA76.76.O63 A27 1992",
+ bibdate = "Tue Dec 14 22:57:16 1993",
+ note = prep-tex,
+ acknowledgement = ack-kb,
+}
+
+@Misc{ABSEES,
+ editor = "Barbara Dash",
+ key = "ABSEES",
+ title = "{The American Bibliography of Slavic and East European
+ Studies}",
+ howpublished = "Library of Congress",
+ year = "1988",
+ ISSN = "0094-3770",
+ note = "{\LaTeX} for text; plain {\TeX} for 3-column index.",
+ acknowledgement = ack-lmp,
+}
+
+@Book{Adams:SCA93,
+ author = "E. Adams and U. Kulisch",
+ editor = "William F. Ames",
+ title = "Scientific Computing with Automatic Result
+ Verification",
+ volume = "189",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "x + 612",
+ year = "1993",
+ ISBN = "0-12-044210-8",
+ LCCN = "QA76 .S368 1993",
+ bibdate = "Tue Dec 14 22:57:19 1993",
+ series = "Mathematics in Science and Engineering",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Adams:SVC89,
+ author = "Robert Adams",
+ title = "Single Variable Calculus",
+ publisher = pub-AW,
+ address = pub-AW-Can:adr,
+ year = "1989",
+ ISBN = "0-201-11114-4",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{AFIT:CTN91,
+ editor = "J. S. Przemieniecki",
+ title = "Air Force Institute of Technology\emdash Critical
+ Technologies for National Defense",
+ publisher = pub-AIAA,
+ address = pub-AIAA:adr,
+ pages = "325",
+ year = "1991",
+ ISBN = "1-56347-009-8",
+ LCCN = "UG633 .C74 1991",
+ bibdate = "Tue Dec 14 22:57:20 1993",
+ note = prep-latex,
+}
+
+@Book{Ahlberger:1988:VVF,
+ author = "Christer Ahlberger",
+ title = "{V}{\"a}{\-}{var{\-}folk{\-}et}: Hemindustrin i Mark
+ 1790--1850",
+ number = "1",
+ publisher = pub-SHK,
+ address = pub-SHK:adr,
+ pages = "199",
+ year = "1988",
+ ISBN = "91-7900-417-2",
+ note = "Distribution: Bor{\aa}s Museum, Ramnaparken, S--502 65
+ Bor{\aa}s, Sweden.",
+ series = "Skrifter fr{\aa}n Institutet f{\"or}r lokalhistorisk
+ forskning",
+ bibdate = "Tue Nov 5 11:16:04 2002",
+}
+
+@Book{Aho:CPT89,
+ author = "Alfred Aho and Ravi Sethi and Jeffrey Ullman",
+ title = "Compilateurs\emdash Principes, techniques et outils
+ ({English}: {Compilers\emdash Principles, Techniques
+ and Tools})",
+ publisher = pub-IE,
+ address = pub-IE:adr,
+ pages = "875",
+ year = "1989",
+ ISBN = "2-7296-0295-X",
+ bibdate = "Sat Aug 27 11:05:08 1994",
+ note = prep-tex # "Translated from the English edition
+ (Addison-Wesley, 1986, ISBN 0-201-10088-6) by Pierre
+ Boullier, Philippe Deschamp (sic), Martin Jourdan,
+ Bernard Lorho and Monique Mazaud.",
+ acknowledgement = ack-rm,
+}
+
+@Book{Aigner:CS88,
+ author = "Martin Aigner",
+ title = "Combinatorial Search",
+ publisher = pub-JW # " and " # pub-TEUBNER,
+ address = pub-JW:adr # " and " # pub-TEUBNER:adr,
+ pages = "368",
+ year = "1988",
+ ISBN = "0-471-92142-4 (Wiley), 3-519-02109-9 (Teubner)",
+ LCCN = "T57.97 .A381 1988",
+ bibdate = "Tue Dec 14 22:57:22 1993",
+ note = prep-latex,
+ acknowledgement = ack-mjp,
+}
+
+@Book{Alferov:JSA92,
+ author = "Zhores I. Alferov",
+ title = "Joint Soviet-American Workshop on the Physics of
+ Semiconductor Lasers",
+ publisher = pub-AIP,
+ address = pub-AIP:adr,
+ pages = "viii + 183",
+ year = "1992",
+ ISBN = "0-88318-936-4",
+ LCCN = "TA1700 .J65 1991",
+ bibdate = "Tue Dec 14 22:57:25 1993",
+}
+
+@Book{Alston:ORE95,
+ author = "J. A. Alston and H. F. Carman and J. E. Christian and
+ J. Dorfman and J.-R. Murua and R. J. Sexton",
+ title = "Optimal Reserve and Export Policies for the
+ {California} Almond Industry: Theory, Econometrics and
+ Simulations",
+ publisher = "Giannini Foundation of Agricultural Economics,
+ University of California, Agricultural and Natural
+ Resource Publications",
+ address = "6701 San Pablo Avenue, Oakland, CA 94608, USA",
+ year = "1995",
+ ISSN = "0575-4208",
+ LCCN = "HD1407 .G5",
+ bibdate = "Tue May 16 17:58:29 1995",
+ price = "US\$14.00",
+ acknowledgement = ack-jc,
+}
+
+@Misc{AMS,
+ key = "AMS",
+ title = "{American Mathematical Society}",
+ year = "198x",
+ note = "By the end of the 1980s, almost all AMS journals and
+ monographics have been set using {\TeX}. This entry
+ needs to be replaced by an explicit list of them.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{An:MBC88,
+ author = "C. An and C. G. Atkeson and J. M. Hollerbach",
+ title = "Model-Based Control of a Robot Manipulator",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "233",
+ year = "1988",
+ ISBN = "0-262-01102-6",
+ LCCN = "TJ211 .A551 1988",
+ bibdate = "Tue Dec 14 22:57:27 1993",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Anderson:EEC88,
+ author = "Philip W. Anderson and Kenneth J. Arrow and David
+ Pines",
+ title = "The Economy as an Evolving Complex System",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 317",
+ year = "1988",
+ ISBN = "0-201-15681-4 (hardcover), 0-201-15685-7 (paperback)",
+ LCCN = "HB21 .E2651 1988",
+ bibdate = "Fri Jul 22 10:25:02 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Anderson:LUG92,
+ author = "E. Anderson and Z. Bai and C. Bischof and J. Demmel
+ and J. Dongarra and J. Du Croz and A. Greenbaum and S.
+ Hammarling and A. McKenney and S. Ostrouchov and D.
+ Sorenson",
+ title = "{LAPACK} Users' Guide",
+ publisher = pub-SIAM,
+ address = pub-SIAM:adr,
+ pages = "xv + 235",
+ year = "1992",
+ ISBN = "0-89871-294-7",
+ LCCN = "QA76.73.F25 L36 1992",
+ bibdate = "Tue Dec 14 22:57:30 1993",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Andren:BME90,
+ author = "Mats Andr{'e}n",
+ title = "Borgerskapets Marx\emdash{}Eugen von
+ {B}{\"o}hm-Ba{\-}werk: {\"a}mbetsman och nationalekonom
+ i sekelskiftets Wien",
+ publisher = pub-SB,
+ address = pub-SB:adr,
+ year = "1990",
+ ISBN = "91-7868-226-6",
+ bibdate = "Mon Jul 11 11:27:55 1994",
+ note = "English title: The Bourgeois Marx\emdash{}Eugen von
+ B{\"o}hm Bawerk: Official and Economist in the Late
+ Habsburg Vienna",
+}
+
+@Book{Angel:CG89,
+ author = "Edward Angel",
+ title = "Computer Graphics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 477",
+ year = "1989",
+ ISBN = "0-201-13548-5",
+ LCCN = "T385.A513 1990",
+ bibdate = "Tue Dec 14 22:57:32 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Angus:CTT85,
+ author = "S. Angus and B. Armstrong and K. M. de Reuck",
+ title = "Chlorine Tentative Tables",
+ publisher = pub-PERGAMON,
+ address = pub-PERGAMON:adr,
+ pages = "xviii + 162",
+ year = "1985",
+ ISBN = "0-08-030713-2",
+ LCCN = "QD181.C5.A54 1985",
+ bibdate = "Tue Dec 14 22:57:34 1993",
+ note = "Typeset using {\TeX80}.",
+ series = "{IUPAC} chemical data series",
+ acknowledgement = ack-mc,
+}
+
+@Book{Appelt:DAO91,
+ author = "Wolfgang Appelt",
+ title = "Document Architecture in Open Systems: The {ODA}
+ Standard",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "x + 350",
+ year = "1991",
+ ISBN = "3-540-54539-5 and 0-387-54539-5",
+ LCCN = "TK5105 .A66 1991",
+ bibdate = "Tue Dec 14 22:57:35 1993",
+ note = prep-tex,
+ acknowledgement = ack-wa,
+}
+
+@Book{Appelt:DOS90,
+ author = "Wolfgang Appelt",
+ title = "Dokumentaustausch in Offenen
+ Systemen\emdash{}Einf{\"u}hrung in die {ISO}-Norm 8613:
+ Office Document Architecture ({ODA}) and Interchange
+ Format",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ year = "1990",
+ ISBN = "3-540-52707-9 and 0-387-52707-9",
+ note = prep-tex,
+ acknowledgement = ack-wa,
+}
+
+@TechReport{Appelt:ISO-IEC-8613,
+ author = "Wolfgang Appelt",
+ title = "Information processing\emdash{}Text and office
+ systems\emdash{}Office Document Architecture ({ODA})
+ and Interchange Format",
+ type = "Part 10: Formal specifications",
+ number = "Standard 8613",
+ institution = pub-ISO,
+ address = pub-ISO:adr,
+ year = "1991",
+ note = prep-tex,
+ acknowledgement = ack-wa,
+}
+
+@Book{Ashley:MLA90,
+ author = "Kevin Ashley",
+ title = "Modeling Legal Argument",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "x + 329",
+ year = "1990",
+ ISBN = "0-262-01114-X",
+ LCCN = "KF242.A1 A7 1990",
+ bibdate = "Tue Dec 14 22:57:37 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Astrom:AC89,
+ author = "Karl Johan {\AA}str{\"o}m and Bj{\"o}rn Wittenmark",
+ title = "Adaptive Control",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 526",
+ year = "1989",
+ ISBN = "0-201-09720-6",
+ LCCN = "TJ217 .A671 1989",
+ bibdate = "Tue Dec 14 22:57:38 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Ayache:AVM91,
+ author = "Nicholas Ayache",
+ title = "Artificial Vision for Mobile Robots",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "342",
+ year = "1991",
+ ISBN = "0-262-01124-7",
+ LCCN = "TJ211.3 .A9313 1991",
+ bibdate = "Tue Dec 14 22:57:39 1993",
+ note = prep-latex,
+ acknowledgement = ack-te,
+}
+
+@Book{Bacchus:RRP90,
+ author = "Fahiem Bacchus",
+ title = "Representing and Reasoning with Probabilistic
+ Knowledge",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "233",
+ year = "1990",
+ ISBN = "0-262-02317-2",
+ LCCN = "QA273 .B24 1990",
+ bibdate = "Tue Dec 14 22:57:42 1993",
+ note = prep-latex,
+ acknowledgement = ack-te,
+}
+
+@Book{Bakoglu:CIP90,
+ author = "H. B. Bakoglu",
+ title = "Circuits, Interconnections, and Packaging for {VLSI}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 527",
+ year = "1990",
+ ISBN = "0-201-06008-6",
+ LCCN = "TK7874.B345 1990",
+ bibdate = "Wed Dec 15 08:02:31 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Bancilhon:ADP89,
+ editor = "Francois Bancilhon and Peter Buneman",
+ title = "Advances in Database Programming Languages",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 457",
+ year = "1989",
+ ISBN = "0-201-50257-7",
+ LCCN = "QA76.9.D3 A348 1989",
+ bibdate = "Tue Dec 14 22:57:43 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Barr:CTC90,
+ author = "Michael Barr and Charles F. Wells",
+ title = "Category Theory for Computer Scientists",
+ publisher = pub-PHI,
+ address = pub-PHI:adr,
+ pages = "xv + 432",
+ year = "1990",
+ ISBN = "0-13-120486-6",
+ LCCN = "QA76.9.M35B37 1990",
+ bibdate = "Wed Dec 15 08:02:45 1993",
+ note = prep-latex,
+ acknowledgement = ack-mb,
+}
+
+@Book{Barr:TPB90,
+ editor = "Alan H. Barr",
+ title = "Topics in Physically-Based Modeling",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1990",
+ ISBN = "0-201-51013-8",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Barr:TTT85,
+ author = "Michael Barr and Charles F. Wells",
+ title = "Toposes, Triples, and Theories",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xiii + 345",
+ year = "1985",
+ ISBN = "0-387-96115-1 and 3-540-96115-1",
+ LCCN = "QA169 .B346 1985",
+ bibdate = "Tue Dec 14 22:57:46 1993",
+ note = "Originally prepared in {\TeX}78, but converted by
+ publisher to {\LaTeX}.",
+ acknowledgement = ack-mb,
+}
+
+@Book{Bauerle:LA190,
+ author = "G. G. A. B{\"a}uerle and E. A. de Kerf",
+ title = "Lie Algebras Part 1\emdash{}Finite and infinite
+ dimension Lie algebras and applications in physics",
+ publisher = pub-ESPNH,
+ address = pub-ESPNH:adr,
+ pages = "xvi + 394",
+ year = "1990",
+ ISBN = "0-444-88776-8",
+ LCCN = "QC20.7.L54 B38 1990",
+ bibdate = "Wed Dec 15 08:02:54 1993",
+ note = "Studies in Mathematical Physics, volume 1.",
+ acknowledgement = ack-np,
+}
+
+@Book{Bauhr:FRE89,
+ author = "Gerhard Bauhr",
+ title = "El Futuro en {\it -R{\'E}} e {\it IR A} + Infinitivo
+ en Espa{\~n}ol Peninsular Moderno",
+ number = "39",
+ publisher = pub-AUG,
+ address = pub-AUG:adr,
+ pages = "ix + 405",
+ year = "1989",
+ ISBN = "91-7346-218-7",
+ ISSN = "0080-3863",
+ LCCN = "PC 4271 B38 1989",
+ bibdate = "Tue Dec 14 22:58:21 1993",
+ series = "Romanica Gothoburgensia",
+}
+
+@Book{Beauzamy:IOT88,
+ author = "Bernard Beauzamy",
+ title = "Introduction to operator theory and invariant
+ subspaces",
+ volume = "42",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ pages = "xiv + 358",
+ year = "1988",
+ ISBN = "0-444-70521-X",
+ LCCN = "QA329 .B441 1988",
+ bibdate = "Tue Dec 14 22:58:32 1993",
+ note = prep-tex,
+ series = "North-Holland Mathematical Library",
+ acknowledgement = ack-mjp,
+}
+
+@Book{Beccari:ETR88,
+ author = "C. Beccari and M. Biey",
+ title = "Esercitazioni di teoria delle reti elettriche",
+ publisher = pub-CLUT,
+ address = pub-CLUT:adr,
+ year = "1988",
+ note = prep-latex,
+ acknowledgement = ack-cb,
+}
+
+@Book{Beccari:SCP88,
+ author = "C. Beccari",
+ title = "Sintesi dei circuiti passivi",
+ publisher = pub-CLUT,
+ address = pub-CLUT:adr,
+ year = "1988",
+ note = "Prepared with {\TeX} by Tecnograf.",
+ acknowledgement = ack-cb,
+}
+
+@Book{Bedell:HTS90,
+ author = "K. S. Bedell and D. Coffey and D. E. Heltzer and D.
+ Pines and J. R. Schrieffer",
+ title = "High Temperature Superconductivity Proceedings",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 474",
+ year = "1990",
+ ISBN = "0-201-51249-1",
+ LCCN = "QC611.98.H54 H34 1989",
+ bibdate = "Tue Dec 14 22:58:34 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Bell:CDN90,
+ author = "George I. Bell and Thomas Marr",
+ title = "Computers and {DNA}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 276",
+ year = "1990",
+ ISBN = "0-201-51505-9 (hardcover), 0-201-51561-X (paperback)",
+ LCCN = "QP624 .I53 1988",
+ bibdate = "Fri Jul 22 10:25:07 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Bergstrom:EFJ89,
+ author = "Irja Bergstr{\"o}m",
+ title = "Ensam f{\aa}gel\emdash{}jag vet vem det {\"a}r: Ester
+ Henning Konstn{\"a}rinna p{\aa} hospital",
+ publisher = pub-AUG,
+ address = pub-AUG:adr,
+ year = "1989",
+ ISBN = "91-7900-753-8",
+ note = "English title: Lonely bird\emdash{}I know who that is.
+ Doctoral dissertation. 140 illustrations, 20 in
+ color.",
+}
+
+@Book{Bergstrom:EM90,
+ author = "Theodore C. Bergstrom and Hal R. Varian",
+ title = "Esercizi di microeconomia",
+ publisher = pub-LEC,
+ address = pub-LEC:adr,
+ edition = "Second",
+ year = "1990",
+ ISBN = "88-85613-28-4",
+ note = prep-tex,
+ acknowledgement = ack-hv,
+}
+
+@Book{Bergstrom:WM90,
+ author = "Theodore C. Bergstrom and Hal R. Varian",
+ title = "Workouts in Intermediate Microeconomics",
+ publisher = pub-NORTON,
+ address = pub-NORTON:adr,
+ edition = "Second",
+ pages = "384",
+ year = "1990",
+ ISBN = "0-393-95926-0",
+ LCCN = "HB 172 B48 1990",
+ bibdate = "Thu Dec 16 08:13:33 1993",
+ note = prep-tex,
+ acknowledgement = ack-hv,
+}
+
+@Book{Berman:MI93,
+ author = "Laurence Berman",
+ title = "The Musical Image: {A} Theory of Content",
+ publisher = pub-GREENWOOD,
+ address = pub-GREENWOOD:adr,
+ pages = "391",
+ year = "1993",
+ ISBN = "0-313-28434-2",
+ ISSN = "0193-9041",
+ LCCN = "ML3845 .B377 1993",
+ bibdate = "Thu Oct 14 09:55:04 1993",
+ series = "Contributions to the study of music and dance",
+ acknowledgement = ack-kb,
+}
+
+@Book{Bertsekas:LNO91,
+ author = "Dimitri Bertsekas",
+ title = "Linear Network Optimization",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xi + 359",
+ year = "1991",
+ ISBN = "0-262-02334-2",
+ LCCN = "T57.85 .B43 1991",
+ bibdate = "Tue Dec 14 22:58:39 1993",
+ note = prep-latex,
+ acknowledgement = ack-te,
+}
+
+@Book{Berwick:ASK85,
+ author = "Robert C. Berwick",
+ title = "The Acquisition of Syntactic Knowledge",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xii + 368",
+ year = "1985",
+ ISBN = "0-262-02226-5",
+ LCCN = "Q335 .B48 1985",
+ bibdate = "Tue Dec 14 22:58:40 1993",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Berwick:CCN87,
+ author = "R. C. Berwick and G. E. Barton and E. S. Ristad",
+ title = "Computational Complexity and Natural Language",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xii + 335",
+ year = "1987",
+ ISBN = "0-262-02266-4",
+ LCCN = "QA267.B36 1987",
+ bibdate = "Tue Dec 14 22:58:41 1993",
+ note = prep-latex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Berwick:GBL84,
+ author = "R. C. Berwick and A. Weinberg",
+ title = "The Grammatical Basis of Linguistic Performance:
+ Language Use and Acquisition",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xviii + 325",
+ year = "1984",
+ ISBN = "0-262-02192-7",
+ LCCN = "P158 .B48 1984",
+ bibdate = "Tue Dec 14 22:58:42 1993",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Bhaduri:MNF88,
+ author = "Rajat K. Bhaduri",
+ title = "Models of the Nucleon: From Quarks to Solitons",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 360",
+ year = "1988",
+ ISBN = "0-201-15673-3",
+ LCCN = "QC793.2 .B48 1988",
+ bibdate = "Tue Dec 14 22:58:43 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Article{Bhattacharya:PR203-1-203,
+ author = "D. Bhattacharya and E. P. J. van den {Heuvel (eds)}",
+ title = "Formation and evolution of binary and millisecond
+ radio pulsars",
+ journal = j-PHYSREP,
+ volume = "203",
+ number = "1 \& 2",
+ publisher = pub-ESPNH,
+ address = pub-ESPNH:adr,
+ year = "1991",
+ acknowledgement = ack-np,
+}
+
+@Book{Bien:KSI91,
+ author = "Janusz S. Bie{\'n}",
+ title = "Koncepcja s{\l}ownikowej informacji morfologicznej i
+ jej komputerowej weryfikacji.",
+ volume = "383",
+ publisher = "Wydawnictwa Uniwersytetu Warszawskiego",
+ address = "Warszawa, Polska",
+ edition = "1.",
+ year = "1991",
+ ISBN = "83-230-0390-4",
+ ISSN = "0509-7177",
+ bibdate = "Fri Jun 24 10:02:01 1994",
+ note = "sk{\l}ada{\l}: autor.",
+ series = "Rozprawy Uniwersytetu Warszawskiego",
+ acknowledgement = ack-md,
+ address-l = lang-pl,
+ author-l = lang-pl,
+ note-1 = "In Polish.",
+ note-l = lang-pl,
+ publisher-l = lang-pl,
+ series-l = lang-pl,
+ series-p1 = "Dissertationes Universitas Varsoviensis",
+ series-p1-l = lang-lat,
+ title-l = lang-pl,
+}
+
+@Book{Biey:CRC87,
+ author = "M. Biey",
+ title = "Circuiti {RC}-attivi, Teoria e progetto",
+ publisher = pub-CLUT,
+ address = pub-CLUT:adr,
+ year = "1987",
+ note = "Prepared with {\TeX} by Tecnograf.",
+ acknowledgement = ack-cb,
+}
+
+@Book{Biggerstaff:SRA89-2,
+ editor = "Ted J. Biggerstaff and Alan J. Perlis",
+ title = "Software Reusability: Applications and Experience",
+ volume = "2",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1989",
+ ISBN = "0-201-50018-3",
+ LCCN = "QA76.76.R47 B543 1989",
+ bibdate = "Tue Dec 14 22:58:44 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Biggerstaff:SRC89-1,
+ editor = "Ted J. Biggerstaff and Alan J. Perlis",
+ title = "Software Reusability: Concepts and Models",
+ volume = "1",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1989",
+ ISBN = "0-201-08017-6",
+ LCCN = "QA76.76.R47 B543 1989",
+ bibdate = "Tue Dec 14 23:22:29 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Biggs:ICP89,
+ author = "Norman L. Biggs",
+ title = "Introduction to Computing with Pascal",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ pages = "x + 219",
+ year = "1989",
+ ISBN = "0-19-853755-7 (hardcover), 0-19-853756-5 (paperback)",
+ LCCN = "QA76.73.P2 B54 1989",
+ bibdate = "Fri Jul 22 10:25:12 1994",
+ note = prep-latex,
+ acknowledgement = ack-mjp,
+}
+
+@Periodical{Birman:DU91,
+ author = "M. S. Birman",
+ title = "Differentsial'nye uravnenija. Spectral'naja teorija.
+ Rasprostranenie voln. (English: Differential Equations.
+ Spectral Theory. Wave Propagation)",
+ publisher = pub-LGU,
+ address = pub-LGU:adr,
+ pages = "310",
+ year = "1991",
+ ISSN = "0555-2818",
+ bibdate = "Wed Jun 2 15:28:13 1993",
+ series = "Problemy matematicheskojj fiziki (English: Problems of
+ Mathematical Physics)",
+ acknowledgement = ack-jr,
+ issue = "13",
+}
+
+@Book{Boieri:LMI90,
+ author = "P. Boieri",
+ title = "Laboratorio di matematica, Un itinerario attraverso la
+ geometria analitica e l'analisi con {MICROCALC}",
+ publisher = pub-LOESCHER,
+ address = pub-LOESCHER:adr,
+ year = "1990",
+ note = prep-latex,
+ acknowledgement = ack-cb,
+}
+
+@Book{Bolch:LR89,
+ author = "Gunter Bolch with Helmut Riedel",
+ title = "Leistungsbewertung von Rechensystemen",
+ publisher = pub-TEUBNER,
+ address = pub-TEUBNER:adr,
+ year = "1989",
+ ISBN = "3-519-02279-6",
+ note = prep-latex,
+}
+
+@Book{Bolch:P91,
+ author = "Gunter Bolch and Martina Vollath",
+ title = "Proze{\ss}automatisierung",
+ publisher = pub-TEUBNER,
+ address = pub-TEUBNER:adr,
+ year = "1991",
+ ISBN = "3-519-02499-3",
+ note = prep-latex,
+}
+
+@Book{Boltz:1991:SHP,
+ author = "William G. Boltz and Michael C. Shapiro",
+ title = "Studies in the Historical Phonology of Asian
+ Languages",
+ volume = "77",
+ publisher = pub-JBENJ,
+ address = pub-JBENJ:adr,
+ pages = "viii + 249",
+ year = "1991",
+ ISBN = "90-272-3574-0 (Europe), 1-55619-132-4 (USA)",
+ LCCN = "P381.A75 S78 1991",
+ bibdate = "Tue Dec 14 22:59:21 1993",
+ series = "Current Issues in Linguistic Theory",
+ acknowledgement = ack-tr,
+}
+
+@Book{Bond:1996:MAF,
+ author = "V. R. Bond and M. C. Allman",
+ title = "Modern Astrodynamics: Fundamentals and Perturbation
+ Methods",
+ publisher = pub-PUP,
+ address = pub-PUP:adr,
+ year = "1996",
+ ISBN = "0-691-04459-7",
+ LCCN = "TL1050.B66 1996",
+ acknowledgement = ack-bnb,
+ pages = "xi + 250",
+ price = "US\$35.00, UK\pounds 27.50",
+ bibdate = "Mon Aug 12 07:38:09 1996",
+ note = prep-latex,
+ URL = "http://aaup.pupress.princeton.edu:70/0h/books/presses/princeton/titles/95031024.html",
+}
+
+@Book{Boykin:PM93,
+ author = "Joseph Boykin and David Kirschan and Alan Langerman
+ and Susan LoVerso",
+ title = "Programming under {Mach}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 490",
+ year = "1993",
+ ISBN = "0-201-52739-1",
+ LCCN = "QA76.8.N49 P76 1993",
+ bibdate = "Wed Aug 10 12:28:59 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Bracewell:HT86,
+ author = "Ronald N. Bracewell",
+ title = "The {Hartley} Transform",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ pages = "vii + 160",
+ year = "1986",
+ ISBN = "0-19-503969-6",
+ LCCN = "QA403.5 .B731 1986",
+ bibdate = "Tue Dec 14 22:59:23 1993",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Brady:RMP82,
+ editor = "Michael Brady and John M. Hollerbach and Timothy L.
+ Johnston and Tomas Lozano-Perez and Matthew T. Mason",
+ title = "Robot Motion: Planning and Control",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xv + 585",
+ year = "1982",
+ ISBN = "0-262-02182-X",
+ LCCN = "TJ211 .R54 1982",
+ bibdate = "Tue Dec 14 22:59:25 1993",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Broglia:HIR91,
+ author = "R. A. Broglia and {\AA}ge Winther",
+ title = "Heavy Ion Reactions, Parts 1 and 2",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1991",
+ ISBN = "0-201-51392-7",
+ LCCN = "QC794.8.H4 B76 1991",
+ bibdate = "Tue Dec 14 22:59:26 1993",
+ acknowledgement = ack-mz,
+}
+
+@Book{Brooks:PCL85,
+ author = "Rodney A. Brooks",
+ title = "Programming in Common Lisp",
+ publisher = pub-WILEY,
+ address = pub-WILEY:adr,
+ pages = "xv + 303",
+ year = "1985",
+ ISBN = "0-471-81888-7",
+ LCCN = "QA76.73.L23 B76 1985",
+ bibdate = "Tue Dec 14 22:59:37 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Bruggeman-Klein:ED89,
+ author = "Anne Br{\"u}ggeman-Klein",
+ title = "Ein{\-}f{\"u}hr{\-}ung in die Dokumentenverbeitung",
+ publisher = pub-TEUBNER,
+ address = pub-TEUBNER:adr,
+ pages = "200",
+ year = "1989",
+ ISBN = "3-519-02488-8",
+ note = prep-latex,
+ acknowledgement = ack-mc,
+}
+
+@Book{Buckley:DG90,
+ author = "Fred Buckley and Frank Harary",
+ title = "Distance in Graphs",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 335",
+ year = "1990",
+ ISBN = "0-201-09591-2",
+ LCCN = "QA166 .B83 1990",
+ bibdate = "Tue Dec 14 22:59:39 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Budd:IOO91,
+ author = "Timothy Budd",
+ title = "An Introduction to Object-Oriented Programming",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 399",
+ year = "1991",
+ ISBN = "0-201-54709-0",
+ LCCN = "QA76.64 .B83 1991",
+ bibdate = "Tue Dec 14 22:59:40 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Calingaert:PTF88,
+ author = "Peter Calingaert",
+ title = "Program Translation Fundamentals\emdash Methods and
+ Issues",
+ publisher = pub-CSP,
+ address = pub-CSP:adr,
+ pages = "xvii + 366",
+ year = "1988",
+ ISBN = "0-88175-096-4",
+ LCCN = "QA76.76.T83 C35 1988",
+ bibdate = "Tue Dec 14 22:59:42 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Carberry:PRN90,
+ author = "Sandra Carberry",
+ title = "Plan Recognition in Natural Language Dialogue",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xi + 286",
+ year = "1990",
+ ISBN = "0-262-03167-1",
+ LCCN = "Q335 .C28 1990",
+ bibdate = "Tue Dec 14 22:59:43 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Carriero:HWP90,
+ author = "Nicholas Carriero and David Gelernter",
+ title = "How to Write Parallel Programs",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "232",
+ year = "1990",
+ ISBN = "0-262-03171-X",
+ LCCN = "QA76.642 .C37 1990",
+ bibdate = "Tue Dec 14 22:59:45 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Cashdan:RUT90,
+ editor = "Elizabeth A. Cashdan",
+ title = "Risk and Uncertainty in Tribal and Peasant Economies",
+ publisher = pub-WESTVIEW,
+ address = pub-WESTVIEW:adr,
+ pages = "x + 342",
+ year = "1990",
+ ISBN = "0-8133-7821-4",
+ LCCN = "GN448.2 .R57 1990",
+ bibdate = "Tue Dec 14 22:59:46 1993",
+ acknowledgement = ack-arr,
+}
+
+@Book{Cavalotto:SMM90,
+ author = "M. Cavalotto and F. Vinardi",
+ title = "{I} sistemi meccanici, Modelli e analisi funzionale",
+ publisher = pub-CLUT,
+ address = pub-CLUT:adr,
+ year = "1990",
+ note = prep-latex,
+ acknowledgement = ack-cb,
+}
+
+@Book{Chambers:SMS93,
+ editor = "John M. Chambers and Trevor J. Hastie",
+ title = "Statistical Models in {S}",
+ publisher = pub-CHAPMAN # " and " # pub-WADSWORTH,
+ address = pub-CHAPMAN:adr # " and " # pub-WADSWORTH:adr,
+ pages = "xv + 608",
+ year = "1993",
+ ISBN = "0-412-05301-2 (Chapman and Hall), 0-534-16765-9
+ (Wadsworth paperback), 0-534-16764-0 (Wadsworth
+ hardcover)",
+ LCCN = "QA276.4 .S65 1992",
+ bibdate = "Wed Aug 10 10:31:05 1994",
+ price = "US\$40.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Chandy:PPD88,
+ author = "K. Mani Chandy and Jayadev Misra",
+ title = "Parallel Program Design: {A} Foundation",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxviii + 516",
+ year = "1988",
+ ISBN = "0-201-05866-9",
+ LCCN = "QA76.6 .C42818 1988b",
+ bibdate = "Tue Dec 14 22:59:47 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Chapman:VIA91,
+ author = "David Chapman",
+ title = "Vision, Instruction, and Action",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "ix + 295",
+ year = "1991",
+ ISBN = "0-262-03181-7",
+ LCCN = "Q335 .C4829 1991",
+ bibdate = "Tue Dec 14 22:59:48 1993",
+ note = prep-latex,
+ acknowledgement = ack-te,
+}
+
+@Book{Char:FLT92,
+ author = "Bruce W. Char and Keith O. Geddes and Gaston H. Gonnet
+ and Benton Leong and Michael B. Monagan and Stephen M.
+ Watt",
+ title = "First Leaves: {A} Tutorial Introduction to Maple {V}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xvii + 253",
+ year = "1992",
+ ISBN = "0-387-97621-3",
+ LCCN = "QA155.7.E4 F56 1992",
+ bibdate = "Tue Dec 14 22:59:50 1993",
+}
+
+@Book{Char:MLR91,
+ author = "Bruce W. Char and Keith O. Geddes and Gaston H. Gonnet
+ and Benton Leong and Michael B. Monagan and Stephen M.
+ Watt",
+ title = "Maple Library {V} Reference Manual",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xxv + 698",
+ year = "1991",
+ ISBN = "0-387-97592-6, 3-540-97592-6",
+ LCCN = "QA155.7.E4 M37 1991",
+ bibdate = "Fri Jul 22 09:48:41 1994",
+ price = "US\$39.00",
+}
+
+@Book{Char:MVL91,
+ author = "Bruce W. Char and Keith O. Geddes and Gaston H. Gonnet
+ and Benton Leong and Michael B. Monagan and Stephen M.
+ Watt",
+ title = "Maple {V} Language Reference Manual",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xv + 267",
+ year = "1991",
+ ISBN = "0-387-97622-1, 3-540-97622-1",
+ LCCN = "QA155.7.E4 M36 1991",
+ bibdate = "Tue Dec 14 22:59:57 1993",
+}
+
+@Book{Cheswick:2003:FIS,
+ author = "William R. Cheswick and Steven M. Bellovin and Aviel
+ D. Rubin",
+ title = "Firewalls and Internet Security: Repelling the Wily
+ Hacker",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xiv + 433",
+ year = "2003",
+ ISBN = "0-201-63466-X",
+ LCCN = "TK5105.875.I57C44 2003",
+ bibdate = "Mon Mar 10 05:40:10 2003",
+ price = "US\$49.99, CAN\$77.99",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Chung:ISI83,
+ author = "K. L. Chung and R. J. Williams",
+ title = "Introduction to Stochastic Integration",
+ publisher = pub-BIRKHAUSER,
+ pages = "xiii + 191",
+ year = "1983",
+ ISBN = "0-8176-3117-8, 3-7643-3117-8",
+ LCCN = "QA274.22 .C48 1983",
+ bibdate = "Thu Apr 14 16:22:35 1994",
+ acknowledgement = ack-ho,
+}
+
+@Book{Clark:PPF86,
+ author = "Malcolm Clark",
+ title = "pc-Portable Fortran",
+ publisher = pub-ELLIS-HORWOOD,
+ address = pub-ELLIS-HORWOOD:adr,
+ pages = "228",
+ year = "1986",
+ ISBN = "0-7458-0005-X",
+ LCCN = "QA76.73.F25 C55 1986",
+ bibdate = "Tue Dec 14 23:00:04 1993",
+ note = "Laser-printed using {\TeX}.",
+ series = "Computers and their applications",
+ acknowledgement = ack-mc,
+}
+
+@Misc{CMUC,
+ key = "CMUC",
+ title = "{Commentationes Mathematicae {Universitatis}
+ {Carolinae}}",
+ volume = "30",
+ pages = "1--202",
+ year = "1989",
+ note = "Publication of the Faculty of Mathematics and Physics,
+ Charles University, Prague, Czechoslovakia. This was
+ prepared with \AmSTeX{}.",
+ acknowledgement = ack-bnb,
+ issue = "1",
+}
+
+@Misc{Complex-Systems,
+ editor = "Stephen Wolfram",
+ key = "CS",
+ title = "{Complex Systems}",
+ howpublished = "Complex Systems Publications Inc.",
+ year = "1987",
+ ISSN = "0891-2513",
+ note = "Technical journal published six times per year, using
+ {\CMR} fonts.",
+ acknowledgement = ack-lmp,
+}
+
+@Misc{Computational-Linguistics,
+ author = "James S. Allen",
+ title = "Computational Linguistics",
+ year = "1991",
+ ISSN = "0362-613X",
+ note = "To be published quarterly by MIT Press; fonts not yet
+ finalized.",
+ acknowledgement = ack-lmp,
+}
+
+@Book{Conrad:FPM89,
+ author = "Lawrence I. Conrad",
+ title = "The Formation and Perception of the Modern {Arab} World:
+ Studies by {Marwan R. Buheiry}",
+ publisher = pub-DARWIN,
+ address = pub-DARWIN:adr,
+ pages = "624",
+ year = "1989",
+ ISBN = "0-87850-064-2",
+ LCCN = "DS63.2.U5 B82 1989",
+ bibdate = "Tue Dec 14 23:00:06 1993",
+ note = prep-latex # " PC{\TeX} and Computer Modern fonts, with
+ final output on an HP LaserJet II at 300dpi.",
+ acknowledgement = ack-dw,
+}
+
+@Book{Cormen:IA89,
+ author = "Thomas Cormen and Charles Leiserson and Ronald
+ Rivest",
+ title = "Introduction to Algorithms",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xvii + 1028",
+ year = "1989",
+ ISBN = "0-262-03141-8",
+ LCCN = "QA76.6 .C662 1989",
+ bibdate = "Tue Dec 14 23:00:08 1993",
+ acknowledgement = ack-te,
+}
+
+@Periodical{cornishman,
+ editor = "Peter Abbott",
+ key = "Cornishman",
+ title = "{The Cornishman}",
+ address = "Gloucestershire Warwickshire Railway Ltd., The Railway
+ Station, Toddington, Gloucestershire, GL54 5DT, UK",
+ year = "1989--date{}",
+ ISSN = "0964-5098",
+ bibdate = "Sat Aug 27 11:07:04 1994",
+ note = prep-latex # "; incorporates numerous photographs and
+ illustrations as EPS files. From issue 42 (Autumn
+ 1992), photographs will be stored in compressed TIFF
+ format and converted to PostScript `on the fly'.",
+ acknowledgement = ack-bnb,
+ frequency = "quarterly",
+}
+
+@Book{Coyne:KBD90,
+ author = "R. D. Coyne and M. A. Rosenman and A. D. Radford and
+ M. Balachandran and J. S. Gero",
+ title = "Knowledge-Based Design Systems",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 567",
+ year = "1990",
+ ISBN = "0-201-10381-8",
+ LCCN = "TA174.K59 1990",
+ bibdate = "Tue Dec 14 23:00:15 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Craig:IRM89,
+ author = "John J. Craig",
+ title = "Introduction to Robotics: Mechanics and Control",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 450",
+ year = "1989",
+ ISBN = "0-201-09528-9",
+ LCCN = "TJ211.C67 1989",
+ bibdate = "Tue Dec 14 23:00:18 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Cuoco:C89,
+ author = "Albert Cuoco",
+ title = "Investigations in Algebra",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "623",
+ year = "1989",
+ ISBN = "0-262-53071-6 (paper), 0-262-03144-2 (hard)",
+ LCCN = "QA159 .C86 1990",
+ bibdate = "Tue Dec 14 23:00:19 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Curry:DSF89,
+ author = "Guy L. Curry and Bryan L. Deuermeyer and Richard M.
+ Feldman",
+ title = "Discrete Simulation: Fundamentals and Microcomputer
+ Support",
+ publisher = pub-HD,
+ address = pub-HD:adr,
+ year = "1989",
+ ISBN = "0-8162-2060-3",
+ acknowledgement = ack-bc,
+}
+
+@Periodical{CurSci:AIDS,
+ key = "C01AIDS",
+ title = "{AIDS}",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "Current Science publishes more than 80 medical
+ periodicals using an in-house markup language for which
+ {\TeX} is the back-end typesetting system. All
+ submitted articles (whether on paper or on magnetic
+ media) are rekeyed by clerical staff into the markup
+ system.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:AIDS-90,
+ key = "C02AIDS90",
+ title = "{AIDS} '90",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:AIDS-A-Guid-Clin-Coun,
+ key = "C04AIDSAGCC",
+ title = "{AIDS}: {A} Guide to Clinical Counselling",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:AIDS-Afri,
+ key = "C03AIDSA",
+ title = "{AIDS} in Africa",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Ambu-Moni-Bloo-Pres-Vari,
+ key = "C05AMBPV",
+ title = "Ambulatory Monitoring and Blood Pressure Variability",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Anae-Frie,
+ key = "C06AF",
+ title = "Anaesthetist's Friend",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Annu-Card-Surg-1990,
+ key = "C07ACS1990",
+ title = "Annual of Cardiac Surgery 1990",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1990",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Annu-Gast-Endo-1990,
+ key = "C08AGE1990",
+ title = "Annual of Gastrointestinal Endoscopy 1990",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1990",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Anti-Horm-Pate-Fast,
+ key = "C10AHPF-A",
+ title = "Anticancer and Hormone Patent Fast-Alert",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Anti-Pate-Fast,
+ key = "C09APF-A",
+ title = "Antimicrobial Patent Fast-Alert",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Anti-Pate-Fast-2,
+ key = "C11A-PF-A",
+ title = "Anti-inflammatory Patent Fast-Alert",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Athe-Athe-Isch-Hear-Dise,
+ key = "C12AAIHD",
+ title = "Atheroma: Atherosclerosis in Ischaemic Heart Disease",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Atla-Coro-Hear-Dise,
+ key = "C13ACHD",
+ title = "Atlas of Coronary Heart Disease",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Atla-Hear-Dise,
+ key = "C14AHDA",
+ title = "Atlas of Heart Disease in the Aged",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Biot-Pate-Fast,
+ key = "C15BPF-A",
+ title = "Biotechnology Patent Fast-Alert",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Card-Pate-Fast,
+ key = "C16CPF-A",
+ title = "Cardiovascular Patent Fast-Alert",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clas-Pape-Asth,
+ key = "C17CPA",
+ title = "Classic Papers in Asthma",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clas-Pape-Hype,
+ key = "C18CPH",
+ title = "Classic Papers in Hyperlipidaemia",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clas-Pape-Hype-2,
+ key = "C19CPH",
+ title = "Classic Papers in Hypertension",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clas-Pape-Rheu,
+ key = "C20CPR",
+ title = "Classic Papers in Rheumatology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Illu-Dict-Card,
+ key = "C21CIDC",
+ title = "Clinician's Illustrated Dictionary of Cardiology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Illu-Dict-Gast,
+ key = "C22CIDG",
+ title = "Clinician's Illustrated Dictionary of
+ Gastroenterology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Illu-Dict-Hype,
+ key = "C23CIDH",
+ title = "Clinician's Illustrated Dictionary of Hypertension",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Illu-Dict-Rheu,
+ key = "C24CIDR",
+ title = "Clinician's Illustrated Dictionary of Rheumatology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Manu-Angi-Myoc,
+ key = "C25CMAMI",
+ title = "Clinician's Manual on Angina and Myocardial
+ Infarction",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Manu-Asth,
+ key = "C26CMA",
+ title = "Clinician's Manual on Asthma",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Manu-Hear-Fail,
+ key = "C27CMHF",
+ title = "Clinician's Manual on Heart Failure",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Manu-Hype,
+ key = "C28CMH",
+ title = "Clinician's Manual on Hyperlipidaemia",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Manu-Hype-2,
+ key = "C29CMH",
+ title = "Clinician's Manual on Hypertension",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Manu-Migr,
+ key = "C30CMM",
+ title = "Clinician's Manual on Migraine",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Manu-Oste,
+ key = "C31CMO",
+ title = "Clinician's Manual on Osteoarthritis",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Manu-Pept-Ulce,
+ key = "C32CMPU",
+ title = "Clinician's Manual on Peptic Ulcer",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Clin-Manu-Rheu-Arth,
+ key = "C33CMRA",
+ title = "Clinician's Manual on Rheumatoid Arthritis",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:CNS-Pate-Fast,
+ key = "C34CNSPF-A",
+ title = "{CNS} Patent Fast-Alert",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Coro-Arte-Dise,
+ key = "C35CAD",
+ title = "Coronary Artery Disease",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Coro-Risk-Asse-Prac,
+ key = "C36CRAP",
+ title = "Coronary Risk Assessment in Practice",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Biol,
+ key = "C37CB",
+ title = "Current Biology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Card-Drug,
+ key = "C38CCD",
+ title = "Current Cardiovascular Drugs",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Drug,
+ key = "C39CD",
+ title = "Current Drugs (series)",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Anae,
+ key = "C40COA",
+ title = "Current Opinion in Anaesthesiology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Biot,
+ key = "C41COB",
+ title = "Current Opinion in Biotechnology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Card,
+ key = "C42COC",
+ title = "Current Opinion in Cardiology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Cell-Biol,
+ key = "C43COCB",
+ title = "Current Opinion in Cell Biology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Dent,
+ key = "C44COD",
+ title = "Current Opinion in Dentistry",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Gast,
+ key = "C45COG",
+ title = "Current Opinion in Gastroenterology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Gene-Deve,
+ key = "C46COGD",
+ title = "Current Opinion in Genetics and Development",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Immu,
+ key = "C47COI",
+ title = "Current Opinion in Immunology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Infe-Dise,
+ key = "C48COID",
+ title = "Current Opinion in Infectious Diseases",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Lipi,
+ key = "C49COL",
+ title = "Current Opinion in Lipidology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Neur,
+ key = "C50CON",
+ title = "Current Opinion in Neurobiology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Neur-Neur,
+ key = "C51CONN",
+ title = "Current Opinion in Neurology and Neurosurgery",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Obst-Gyne,
+ key = "C52COOG",
+ title = "Current Opinion in Obstetrics and Gynecology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Onco,
+ key = "C53COO",
+ title = "Current Opinion in Oncology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Opht,
+ key = "C54COO",
+ title = "Current Opinion in Ophthalmology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Orth,
+ key = "C55COO",
+ title = "Current Opinion in Orthopaedics",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Pedi,
+ key = "C56COP",
+ title = "Current Opinion in Pediatrics",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Psyc,
+ key = "C57COP",
+ title = "Current Opinion in Psychiatry",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Radi,
+ key = "C58COR",
+ title = "Current Opinion in Radiology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Rheu,
+ key = "C59COR",
+ title = "Current Opinion in Rheumatology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Opin-Stru-Biol,
+ key = "C60COSB",
+ title = "Current Opinion in Structural Biology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Pate-Fast-Onli-Acce,
+ key = "C61CPF-AOA",
+ title = "Current Patents Fast-Alert\emdash{}Online Access",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Prac-Medi,
+ key = "C62CPM",
+ title = "Current Practice of Medicine",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Curr-Ther-Pate,
+ key = "C63CTP",
+ title = "Current Therapeutic Patents",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Dete-Mana-Bloo-Lipi,
+ key = "C64DMBLD",
+ title = "Detection and Management of Blood Lipid Disorders",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Euro-Jour-Gast-Hepa,
+ key = "C65EJGH",
+ title = "European Journal of Gastroenterology and Hepatology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Gast-Elde,
+ key = "C66GE",
+ title = "Gastroenterology in the Elderly",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Hand-Hear-Fail,
+ key = "C67HHF",
+ title = "Handbook of Heart Failure",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Hand-High-Bloo-Pres,
+ key = "C68HHBP",
+ title = "Handbook of High Blood Pressure",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Hand-Hype,
+ key = "C69HH",
+ title = "Handbook of Hyperlipidaemia",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Herb-Fung-Plan-Grow-Regu,
+ key = "C70HFPGRPF-A",
+ title = "Herbicide, Fungicide and Plant Growth Regulator Patent
+ Fast-Alert",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Hype-Annu-1989--90,
+ key = "C73HA1989--90",
+ title = "Hypertension Annual 1989--90",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1989",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Hype-Annu-1990--91,
+ key = "C74HA1990--91",
+ title = "Hypertension Annual 1990--91",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1990",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Hype-Diab,
+ key = "C71HD",
+ title = "Hypertension and Diabetes",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Hype-Elde,
+ key = "C72HE",
+ title = "Hypertension and the Elderly",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Immu,
+ key = "C75I",
+ title = "Immunobiology",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Jour-Hype,
+ key = "C76JH",
+ title = "Journal of Hypertension",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Lect-Hype,
+ key = "C77LH",
+ title = "Lectures in Hypertension",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Macr-Stru-1990,
+ key = "C78MS1990",
+ title = "Macromolecular Structures 1990",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1990",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Pest-Inse-Fert-Pate-Fast,
+ key = "C79PIFPF-A",
+ title = "Pesticide, Insecticide and Fertilizer Patent
+ Fast-Alert",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Pock-Guid-Acne,
+ key = "C80PGA",
+ title = "Pocket Guide to Acne",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1987--date{}",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Slid-Atla-Curr-Opht-1990,
+ key = "C83SACO1990",
+ title = "Slide Atlas of Current Ophthalmology 1990",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1990",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Slid-Atla-Curr-Opht-1991,
+ key = "C84SACO1991",
+ title = "Slide Atlas of Current Ophthalmology 1991",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1991",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Slid-Atla-Curr-Radi-1990,
+ key = "C85SACR1990",
+ title = "Slide Atlas of Current Radiology 1990",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1990",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Slid-Atla-Curr-Radi-1991,
+ key = "C86SACR1991",
+ title = "Slide Atlas of Current Radiology 1991",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1991",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Slid-Atla-Gast-Endo-1990,
+ key = "C81SAGE1990",
+ title = "Slide Atlas of Gastrointestinal Endoscopy 1990",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1990",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Periodical{CurSci:Slid-Atla-Gast-Endo-1991,
+ key = "C82SAGE1991",
+ title = "Slide Atlas of Gastrointestinal Endoscopy 1991",
+ publisher = pub-CURSCI,
+ address = pub-CURSCI:adr,
+ year = "1991",
+ note = "See \cite{CurSci:AIDS}.",
+ acknowledgement = ack-ga-gt,
+}
+
+@Book{Dai:SCT92,
+ author = "Catherine Dai",
+ title = "Bound Feet: Stories of Contemporary Taiwan",
+ publisher = pub-BOOKMAN,
+ address = pub-BOOKMAN:adr,
+ year = "1992",
+ ISBN = "957-586-241-4",
+ bibdate = "Fri Feb 19 17:22:46 1993",
+ acknowledgement = ack-tr,
+}
+
+@Book{Dai:UPT90,
+ author = "Catherine Dai",
+ title = "Under the Phoenix Tree",
+ publisher = pub-BOOKMAN,
+ address = pub-BOOKMAN:adr,
+ pages = "330",
+ year = "1990",
+ ISBN = "957-586-063-2",
+ LCCN = "PL2855.A3 U54 1990",
+ bibdate = "Tue Dec 14 23:00:21 1993",
+}
+
+@Book{Daigle:QTC91,
+ author = "John W. Daigle",
+ title = "Queuing Theory for Computer Communications",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvi + 414",
+ year = "1991",
+ ISBN = "0-201-06755-2",
+ LCCN = "TK5105.5.D325 1991",
+ bibdate = "Wed Dec 15 08:03:13 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Dally:VLS87,
+ author = "W. J. Dally",
+ title = "A {VLSI} Architecture for Concurrent Data Structures",
+ publisher = pub-KLUWER,
+ address = pub-KLUWER:adr,
+ pages = "xvi + 243",
+ year = "1987",
+ ISBN = "0-89838-235-1",
+ LCCN = "TK7888.4 .D341 1987",
+ bibdate = "Sun Jul 10 01:18:32 1994",
+ note = prep-unknowntex,
+ acknowledgement = ack-bkph,
+}
+
+@Misc{DamEngineering,
+ key = "DE",
+ title = "Dam Engineering",
+ publisher = pub-REED,
+ address = pub-REED:adr,
+ month = jan,
+ year = "1990",
+ ISSN = "0958-9341",
+ note = "Laser-printed using {\LaTeX}.",
+ acknowledgement = ack-mc,
+ affiliation = "International Water Power \& Dam Construction",
+}
+
+@Book{Davis:KBS82,
+ author = "R. Davis and D. B. Lenat",
+ title = "Knowledge-Based Systems in Artificial Intelligence",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xxi + 490",
+ year = "1982",
+ ISBN = "0-07-015557-7",
+ LCCN = "Q335 .D38",
+ bibdate = "Sun Jul 10 11:39:03 1994",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{deBroglie:HUP90,
+ author = "Louis de Broglie",
+ title = "Heisenberg's Uncertainty Principle and the
+ Probabilistic Interpretation of Wave Mechanics",
+ number = "40",
+ publisher = pub-KLUWER,
+ address = pub-KLUWER:adr,
+ pages = "xliv + 302",
+ year = "1990",
+ ISBN = "0-7923-0929-4",
+ LCCN = "QC174.2 .B653513 1990",
+ note = "English translation by Alwyn van der Merwe. " #
+ prep-tex,
+ acknowledgement = ack-psg,
+ bibdate = "Tue Dec 14 23:00:27 1993",
+ series = "Fundamental Theories of Physics",
+}
+
+@Book{Demana:CAG89,
+ author = "Franklin Demana and Bert K. Waits",
+ title = "College Algebra: {A} Graphing Approach",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1989",
+ ISBN = "0-201-52811-8",
+ LCCN = "QA155.5 .D45 1989",
+ bibdate = "Thu Dec 16 09:22:21 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Demana:CAT89,
+ author = "Franklin Demana and Bert K. Waits",
+ title = "College Algebra and Trigonometry: {A} Graphing
+ Approach",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvi + 637 + 67 + 7",
+ year = "1989",
+ ISBN = "0-201-52810-X",
+ LCCN = "QA331.3 .D46 1991",
+ bibdate = "Thu Dec 16 09:24:33 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Demana:PFG90,
+ author = "Franklin Demana and Bert K. Waits",
+ title = "Precalculus: Functions and Graphs",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "718 + 95 + 16",
+ year = "1990",
+ ISBN = "0-201-52781-2",
+ LCCN = "QA154.2 .D43 1990",
+ bibdate = "Thu Dec 16 09:25:43 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Demana:PM90,
+ author = "Franklin Demana and Bert K. Waits",
+ title = "Precalculus Mathematics: {A} graphing approach",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvi + 933",
+ year = "1990",
+ ISBN = "0-201-52813-4",
+ LCCN = "QA109 .D45 1990",
+ bibdate = "Thu Dec 16 09:27:22 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Demana:TGA89,
+ author = "Franklin Demana and Bert K. Waits",
+ title = "Trigonometry: {A} Graphing Approach",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 482",
+ year = "1989",
+ ISBN = "0-201-52812-6",
+ LCCN = "QA538 .D45 1990",
+ bibdate = "Thu Dec 16 09:28:34 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Devaney:ICD87,
+ author = "Robert L. Devaney",
+ title = "An Introduction to Chaotic Dynamical Systems",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 320",
+ year = "1987",
+ ISBN = "0-8053-1601-9",
+ LCCN = "QA614.8 .D48 1986",
+ bibdate = "Tue Dec 14 23:00:29 1993",
+ note = prep-tex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Devaney:ICD89,
+ author = "Robert L. Devaney",
+ title = "An Introduction to Chaotic Dynamical Systems",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xvi + 336",
+ year = "1989",
+ ISBN = "0-201-13046-7",
+ LCCN = "QA614.8 .D48 1989",
+ bibdate = "Tue Dec 14 23:00:30 1993",
+ note = prep-tex,
+ acknowledgement = ack-mjp,
+}
+
+@Book{Devito:FAL90,
+ author = "Carl L. Devito",
+ title = "Functional Analysis and Linear Operator Theory",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "x + 358",
+ year = "1990",
+ ISBN = "0-201-11941-2",
+ LCCN = "QA329.2 .D48 1990",
+ bibdate = "Tue Dec 14 23:00:31 1993",
+ note = prep-latex,
+ acknowledgement = ack-lmp # " and " # ack-mz,
+}
+
+@Book{Devroye:1986:LNB,
+ author = "Luc Devroye",
+ title = "Lecture Notes on Bucket Algorithms",
+ publisher = pub-BIRKHAUSER,
+ address = pub-BIRKHAUSER:adr,
+ pages = "148",
+ year = "1986",
+ ISBN = "0-8176-3328-6",
+ LCCN = "QA76.9.D35 D48 1986",
+ bibdate = "Wed Jul 13 18:29:54 1994",
+ annote = "Hashing algorithms scramble data and create
+ pseudo-uniform data distributions. Bucket algorithms
+ operate on raw untransformed data which are partitioned
+ into groups according to membership in equi-sized
+ d-dimensional hyperrectangles, called cells or buckets.
+ The bucket data structure is sensitive to the
+ distribution of the data. these lecture notes discuss
+ the connection between the expected time of various
+ bucket algorithms and the distribution of data. the
+ results are illustrated on standard searching, sorting
+ and selection problems, as well as on a variety of
+ problems in computational geometry and operations
+ research.",
+ descriptor = "Algorithmus, Bucket, Geometrie, Hashverfahren,
+ Sortieren, Suchen, Unternehmensforschung,
+ Auswahlfunktion",
+}
+
+@Book{Dibble:OIA92,
+ author = "Peter C. Dibble",
+ title = "{OS-9} Insights\emdash An Advanced Programmers Guide
+ to {OS-9}",
+ publisher = pub-MICROWARE,
+ address = pub-MICROWARE:adr,
+ edition = "Second",
+ year = "1992",
+ ISBN = "0-918035-03-1",
+ note = prep-latex # " Used a private modification of the
+ {\LaTeX} book format with Adobe Garamond PostScript
+ type faces. {\tt dvips} produced 300dpi PostScript
+ output that was printed on a Hewlett-Packarad LaserJet
+ II with Adobe's PostScript cartridge. Final copy was
+ produced from PostScript disks sent to Courier
+ Connection who returned pallets of books in something
+ like four weeks. The titlepages are hand-coded
+ Postscript, and figures use the figure environment.",
+ acknowledgement = ack-pcd,
+}
+
+@Book{Dijkstra:FDP89,
+ editor = "Edsger W. Dijkstra",
+ title = "Formal Development of Programs and Proofs",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 242",
+ year = "1989",
+ ISBN = "0-201-17237-2",
+ LCCN = "QA76.6 .F657 1990",
+ bibdate = "Tue Dec 14 23:00:32 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Dongarra:SLS91,
+ author = "Jack J. Dongarra and Iain S. Duff and Danny C.
+ Sorensen and Henk A. van der Vorst",
+ title = "Solving Linear Systems on Vector and Shared Memory
+ Computers",
+ publisher = pub-SIAM,
+ address = pub-SIAM:adr,
+ pages = "x + 256",
+ year = "1991",
+ ISBN = "0-89871-270-X",
+ LCCN = "QA184 .S65 1991",
+ bibdate = "Tue Dec 14 23:00:33 1993",
+}
+
+@Book{Doolen:LGM90,
+ editor = "Gary D. Doolen and M. Frisch and B. Hasslacher and S.
+ Oszag and S. Wolfram",
+ title = "Lattice Gas Methods for Partial Differential
+ Equations",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xix + 554",
+ year = "1990",
+ ISBN = "0-201-16579-1 (hardcover), 0-201-13232-X (paperback)",
+ LCCN = "QA374 .L34 1989",
+ bibdate = "Fri Jul 22 10:25:17 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Doughty:LII90,
+ author = "N. A. Doughty",
+ title = "Lagrangian interaction: an introduction to
+ relativistic symmetry in electrodynamics and
+ gravitation",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xix + 569",
+ year = "1990",
+ ISBN = "0-201-41625-5",
+ LCCN = "QC631.D68 1989",
+ bibdate = "Fri Jul 22 11:02:41 1994",
+ note = prep-latex,
+ acknowledgement = ack-bnb # " and " # ack-nad,
+}
+
+@Book{Dybvig:SPL87,
+ author = "R. Kent Dybvig",
+ title = "The {SCHEME} Programming Language",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "xi + 242",
+ year = "1987",
+ ISBN = "0-13-791864-X (paperback)",
+ LCCN = "QA76.73.S34 D93 1987",
+ bibdate = "Tue Dec 14 23:00:34 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Ellis:TTP90-1,
+ editor = "Paul J. Ellis and Y. C. Tang",
+ title = "Trends in Theoretical Physics",
+ volume = "1",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 412",
+ year = "1990",
+ ISBN = "0-201-50393-X",
+ LCCN = "QC20 .T69 1990 Sci-Eng",
+ bibdate = "Wed Dec 15 08:03:38 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Ellis:TTP91-2,
+ editor = "Paul J. Ellis and Y. C. Tang",
+ title = "Trends in Theoretical Physics",
+ volume = "2",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1991",
+ ISBN = "0-201-52251-9",
+ LCCN = "QC20 .T69 1990",
+ bibdate = "Tue Dec 14 23:00:35 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Epstein:RTC90,
+ author = "Lawrence Epstein and Richard F. Sherburne",
+ title = "Reflections on Tibetan Culture: Essays in Memory of
+ Turrell {V}. Wylie",
+ volume = "12",
+ publisher = pub-MELLEN,
+ address = pub-MELLEN:adr,
+ pages = "xiii + 350",
+ year = "1990",
+ ISBN = "0-88946-064-7",
+ LCCN = "DS786 .R43 1990",
+ bibdate = "Tue Mar 15 08:02:04 1994",
+ series = "Studies in Asian Thought and Religion",
+ acknowledgement = ack-tr,
+}
+
+@Book{Estrade:SJR90,
+ author = "J. Estrada",
+ title = "Los Sonidos en Juan Rulfo",
+ publisher = pub-UNAM,
+ address = pub-UNAM:adr,
+ year = "1990",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Falck:TM89,
+ author = "Willie Falck and Johan Hammond Rosbach",
+ title = "Tra la mondo (All around the world)",
+ publisher = pub-EF,
+ address = pub-EF:adr,
+ year = "1989",
+ ISBN = "82-90006-07-1",
+ note = prep-latex # " This is a guidebook for teaching
+ Esperanto.",
+ acknowledgement = ack-dfl,
+}
+
+@Book{Feferman:KG86,
+ author = "Solomon Feferman and John W. Dawson and Stephen C.
+ Kleene and Gregory H. Moore and Robert M. Solovay and
+ Jean van Heijenoort",
+ title = "Kurt {\"G}odel: Collected Works. Vol. 1: Publications
+ 1929-1936",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ pages = "459",
+ year = "1986",
+ ISBN = "0-19-503964-5",
+ LCCN = "QA9 .G53131 1986",
+ bibdate = "Thu Jul 21 22:17:04 1994",
+ note = "From {\em Computing Reviews\/}: ``The book is very
+ well written and put together as if by a magic
+ amalgamation of C. P. Snow and A. Church. Following the
+ publication style on Wittgenstein's works, there are
+ accurate, facing-page English translations of the
+ original German texts. All type has been reset by
+ computer in a more readable form. Indeed, the sheer joy
+ of {\TeX} blooms forth on every page. Every school
+ library should contain this definitive series of
+ volumes.''",
+ price = "US\$35",
+}
+
+@Book{Feijen:BOB90,
+ editor = "W. H. J. Feijen and A. J. M. van Gasteren and D. Gries
+ and J. Misra",
+ title = "Beauty is our business: a birthday salute to {Edsger
+ W. Dijkstra}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xix + 453",
+ year = "1990",
+ ISBN = "0-387-97299-4",
+ LCCN = "QA76 .B326 1990",
+ bibdate = "Thu Mar 24 09:27:40 1994",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Field:APQ89,
+ author = "Richard D. Field",
+ title = "Applications of Perturbative {QCD}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1989",
+ ISBN = "0-201-16643-7",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Flynn:1995:WH,
+ author = "Peter Flynn",
+ title = "The {WorldWideWeb} Handbook",
+ publisher = pub-ITCP,
+ address = pub-ITCP:adr,
+ pages = "xix + 351",
+ year = "1995",
+ ISBN = "1-85032-205-8",
+ LCCN = "TK5105.888 .F56 1995",
+ bibdate = "Wed Nov 15 08:24:30 1995",
+ note = "Includes HTML quick reference guide. The book was
+ written with the O'Reilly/Davenport DocBook SGML DTD,
+ then translated with SGML2{\TeX} to plain {\TeX}, and
+ typeset with Karl Berry's Eplain macros.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Fortier:HLT89,
+ author = "Paul J. Fortier",
+ title = "Handbook of {LAN} Technology",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xxiv + 551",
+ year = "1989",
+ ISBN = "0-07-021623-1",
+ LCCN = "TK5105.7.F67 1989",
+ bibdate = "Tue Dec 14 23:00:38 1993",
+ note = prep-tex,
+ acknowledgement = ack-fl,
+}
+
+@Book{Fox:PCW94,
+ author = "Geoffrey C. Fox and Roy D. Williams and Paul C.
+ Messina",
+ title = "Parallel Computing Works!",
+ publisher = pub-MORGAN-KAUFMANN,
+ address = pub-MORGAN-KAUFMANN:adr,
+ pages = "xviii + 977",
+ year = "1994",
+ ISBN = "1-55860-253-4",
+ LCCN = "QA76.58.F68 1994",
+ bibdate = "Wed Aug 31 23:12:58 1994",
+ note = prep-latex,
+ price = "US\$64.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Fradkin:HTS91,
+ author = "Eduardo Fradkin",
+ title = "High Temperature Superconductivity and Strongly
+ Correlated Electron Systems",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvi + 350",
+ year = "1991",
+ ISBN = "0-201-52253-5",
+ LCCN = "QC611.98.H54 F73 1991",
+ bibdate = "Wed Dec 15 08:04:07 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Franklin:DCD90,
+ author = "Gene F. Franklin and David J. Powell and Michael L.
+ Workman",
+ title = "Digital Control of Dynamic Systems",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xxi + 837",
+ year = "1990",
+ ISBN = "0-201-11938-2",
+ LCCN = "TJ223.M53 F73 1990",
+ bibdate = "Tue Dec 14 23:00:39 1993",
+ note = prep-amstex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Franklin:FCD91,
+ author = "Gene F. Franklin and J. David Powell and Abbas
+ Emami-Naeini",
+ title = "Feedback Control of Dynamic Systems",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvi + 672",
+ year = "1991",
+ ISBN = "0-201-50862-1",
+ LCCN = "TJ216 .F723 1991 Reserve",
+ bibdate = "Tue Dec 14 23:00:40 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Fraser:RCC95,
+ author = "Chris W. Fraser and David R. Hanson",
+ title = "A Retargetable {C} Compiler: Design and
+ Implementation",
+ publisher = pub-BENCUM,
+ address = pub-BENCUM:adr,
+ pages = "xv + 564",
+ year = "1995",
+ ISBN = "0-8053-1670-1",
+ LCCN = "QA76.73.C15F75 1995",
+ bibdate = "Wed Feb 08 10:55:34 1995",
+ note = "From the authors' announcement: ``\ldots this book is
+ an example of a `literate program.' Like {\em {\TeX}:
+ The Program\/} by D. E. Knuth (Addison-Wesley, 1986),
+ this book is lcc's source code and the prose that
+ describes it. The code is presented in the order that
+ best suits understanding, not in the order dictated by
+ the C programming language. The source code that
+ appears on the diskette is extracted automatically from
+ the book's text files. \ldots{} The distribution is
+ available via `anonymous' ftp from
+ \path=ftp.cs.princeton.edu= \path=(128.112.152.13)= in
+ the directory \path=pub/lcc=. \ldots{} Additional
+ information about lcc and about our book is available
+ on the WWW at URL
+ \path=http://www.cs.princeton.edu/software/lcc=.''",
+ price = "US\$55.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Freeman:NN91,
+ author = "James A. Freeman and David M. Skapura",
+ title = "Neural Networks",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 401",
+ year = "1991",
+ ISBN = "0-201-51376-5",
+ LCCN = "QA76.87.F74 1991",
+ bibdate = "Wed Dec 15 08:04:16 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Friedman:LL87,
+ author = "Daniel Friedman and Matthias Felleisen",
+ title = "The Little {LISP}er",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiv + 186",
+ year = "1987",
+ ISBN = "0-262-56038-0",
+ LCCN = "QA76.73.L23 F74 1987",
+ bibdate = "Tue Dec 14 23:00:41 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Gaarding:ACS88,
+ author = "L. G{\aa}rding and T. Tambour",
+ title = "Algebra for Computer Science",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "ix + 198",
+ year = "1988",
+ ISBN = "0-387-96780-X",
+ LCCN = "QA76.9.M35 G37 1988",
+ bibdate = "Tue Dec 14 23:00:42 1993",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Gander:SPS93,
+ author = "Walter Gander and Ji{\v{r}}i
+ H{\v{r}}eb{\'{\i}}{\v{c}}ek",
+ title = "Solving Problems in Scientific Computing Using {MAPLE}
+ and {MATLAB}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xiii + 268",
+ year = "1993",
+ ISBN = "0-387-57329-1, 3-540-57329-1",
+ LCCN = "Q183.9 .G36 1993",
+ bibdate = "Mon Nov 28 12:01:23 1994",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+ keywords = "MAPLE (computer file); MATLAB; science -- data
+ processing",
+}
+
+@Book{Gavrilov:EAI92,
+ author = "A. K. Gavrilov and I. V. Kuklina and I. A. Levinskaja
+ and A. A. Nejjkhardt and I. A. Shishova",
+ title = "Ehtudy po antichnojj istorii i kulqture Severnogo
+ Prichernomorqja (English: Studies on History and
+ Culture of the North Coast of the Black Sea in Antique
+ Time)",
+ publisher = pub-GLAGOL,
+ address = pub-GLAGOL:adr,
+ pages = "271",
+ year = "1992",
+ ISBN = "5-85381-002-2",
+ bibdate = "Wed Jun 2 09:25:46 1993",
+ acknowledgement = ack-jr,
+}
+
+@Book{Gazdar:NLP87,
+ author = "Gerald Gazdar and Alex Franz and Karen Osborne and
+ Roger Evans",
+ title = "Natural Language Processing in the 1980s, {A}
+ Bibliography",
+ volume = "12",
+ publisher = pub-SUCSLI,
+ address = pub-SUCSLI:adr,
+ pages = "viii + 240",
+ year = "1987",
+ ISBN = "0-937073-26-1 (hardcover), 0-937073-28-8 (paperback)",
+ LCCN = "P98.A12 N271 1987",
+ bibdate = "Sun Dec 12 13:21:17 1993",
+ note = "This book was prepared automatically from a database
+ and set with \TeX{}. The intent is to keep it updated",
+ price = "US\$24.95 (hardcover), US\$9.95 (paperback)",
+ series = "Center for the Study of Language and Information
+ Notes",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Gibson:PNA90,
+ author = "Rosalind S. Gibson",
+ title = "Principles of Nutritional Assessment",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ pages = "xvi + 691",
+ year = "1990",
+ ISBN = "0-19-505838-0",
+ LCCN = "RC621 .G52 1990",
+ bibdate = "Wed Aug 24 21:47:23 1994",
+ note = "Set by \LaTeX{}, with graphics from Harvard Graphics
+ and Adobe Illustrator, and designed by Ian L. Gibson
+ and Philip Taylor with the assistance of the publisher.
+ The book is typeset in Adobe Times Roman 10.5/12 and
+ 8.5/10.5, with figure annotation in Adobe Helvetica.
+ The reasons for the unusual font size are described in
+ Philip Taylor's {\TeX}91 conference paper, to appear in
+ TUGboat {\bf 12}, no. 1, 1991.",
+ acknowledgement = ack-pt,
+}
+
+@Book{Gill:NLA91-1,
+ author = "P. Gill and E. Murray and M. Wright",
+ title = "Numerical Linear Algebra and Optimization",
+ volume = "1",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1991",
+ ISBN = "0-201-12649-4",
+ LCCN = "QA 184 G55 1991",
+ bibdate = "Wed Dec 15 08:04:18 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Gill:PO81,
+ author = "Philip E. Gill and Walter Murray and Margaret H.
+ Wright",
+ title = "Practical Optimization",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "xvi + 401",
+ year = "1981",
+ ISBN = "0-12-283950-1 (hardcover), 0-12-283952-8 (paperback)",
+ LCCN = "QA402.5 .G5 1981",
+ bibdate = "Tue Dec 14 23:00:43 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Girard:RDC90,
+ author = "Andr{\'e} Girard",
+ title = "Routing and Dimensioning in Circuit-Switched
+ Networks",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 556",
+ year = "1990",
+ ISBN = "0-201-12792-X",
+ LCCN = "TK5103.8.G57 1990",
+ bibdate = "Tue Dec 14 23:00:45 1993",
+ note = prep-inrstex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Golub:MC89,
+ author = "Gene H. Golub and Charles F. van Loan",
+ title = "Matrix Computations",
+ publisher = pub-JHUP,
+ address = pub-JHUP:adr,
+ edition = "Second",
+ pages = "xvi + 476",
+ year = "1989",
+ ISBN = "0-8018-3010-9 (hardcover), 0-8018-3011-7 (paperback)",
+ LCCN = "QA188 .G65 1983",
+ bibdate = "Tue Dec 14 23:00:46 1993",
+ series = "Johns Hopkins Series in the Mathematical Sciences",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Golub:SCD92,
+ author = "Gene H. Golub and James M. Ortega",
+ title = "Scientific Computing and Differential Equations",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "xi + 337",
+ year = "1992",
+ ISBN = "0-12-289255-0",
+ LCCN = "QA371 .G62 1992",
+ bibdate = "Tue Dec 14 23:00:48 1993",
+ note = prep-latex,
+ acknowledgement = ack-gg,
+}
+
+@Book{Goodheart:MGE94,
+ author = "Berny Goodheart and James Cox",
+ title = "The Magic Garden Explained: The Internals of {UNIX}
+ System {V} Release 4, an Open Systems Design",
+ publisher = pub-PH,
+ pages = "xxviii + 664",
+ year = "1994",
+ ISBN = "0-13-098138-9",
+ LCCN = "QA76.76.O63 G6633 1994",
+ bibdate = "Wed Aug 10 13:33:14 1994",
+ note = "Probably a good companion to Bach's book, {\em The
+ Design of the {UNIX} Operating System}, \ldots{}.
+ Covering the internals, system calls, kernal of {System
+ V Release 4} \ldots{}.",
+ price = "US\$38.00",
+ acknowledgement = ack-sk,
+}
+
+@Book{Gould:ICS88,
+ author = "Harvey Gould and Jan Tobochnik",
+ title = "Introduction to Computer Simulation Methods:
+ Applications to Physical Systems, Part 1 and 2",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1988",
+ ISBN = "0-201-16503-1 (hardcover), 0-201-16504-X (paperback)",
+ LCCN = "QC21.2 .G67 1988",
+ bibdate = "Fri Jul 22 10:25:22 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Graham:CM94,
+ author = "Ronald L. Graham and Donald E. Knuth and Oren
+ Patashnik",
+ title = "Concrete Mathematics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xiii + 657",
+ year = "1994",
+ ISBN = "0-201-55802-5",
+ LCCN = "QA39.2 .G733 1994",
+ bibdate = "Wed Jul 6 14:39:36 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Graham:CMF89,
+ author = "Ronald L. Graham and Donald E. Knuth and Oren
+ Patashnik",
+ title = "Concrete Mathematics: {A} Foundation for Computer
+ Science",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 625",
+ year = "1989",
+ ISBN = "0-201-14236-8",
+ LCCN = "QA39.2 .G7331 1989",
+ bibdate = "Wed Dec 15 08:04:45 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Grandine:NMP90,
+ author = "Thomas A. Grandine",
+ title = "The Numerical Methods Programming Projects Book",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ pages = "viii + 146",
+ year = "1990",
+ ISBN = "0-19-853387-X",
+ LCCN = "QA76.6 .G718 1990",
+ bibdate = "Tue Dec 14 23:01:17 1993",
+}
+
+@Book{Granshaw:HAO88,
+ author = "Lindsay Granshaw",
+ title = "Health for All': The origins of the National Health
+ Service, 1848--1948. {A} Fortieth Anniversary
+ Retrospect",
+ publisher = pub-WIHM,
+ address = pub-WIHM:adr,
+ year = "1988",
+ ISBN = "0-85484-059-1",
+ note = prep-latex # " PC{\TeX} and Times Roman fonts, with
+ James Clark's dvitops for final output on bromide at
+ 1270dpi on the ULCC Linotronic 300.",
+ acknowledgement = ack-dw,
+}
+
+@Book{Gray:T90,
+ author = "Alfred Gray",
+ title = "Tubes",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 283",
+ year = "1990",
+ ISBN = "0-201-15676-8",
+ LCCN = "QC174.27.W28 G73 1990",
+ bibdate = "Tue Dec 14 23:01:27 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Greene:HGA91,
+ author = "Andrew M. {Greene, Ed.}",
+ title = "How to Get Around {MIT}",
+ publisher = pub-TCA,
+ address = pub-TCA:adr,
+ edition = "Twenty-third",
+ year = "1991",
+ note = "Press run of 3000 copies; sold in local bookstore, and
+ distributed gratis to 2000 students. Typeset with Plain
+ {\TeX}, using Computer Modern fonts, with markup macros
+ written in-house. {\tt perl} was used to provide a
+ front end, consistent pagination, and the index. Final
+ pages were prepared on 300dpi Apple LaserWriter Plus
+ printer.",
+}
+
+@Book{Greene:MAA81,
+ author = "Daniel H. Greene and Donald E. Knuth",
+ title = "Mathematics For the Analysis of Algorithms",
+ publisher = pub-BIRKHAUSER,
+ address = pub-BIRKHAUSER:adr,
+ pages = "107",
+ year = "1981",
+ ISBN = "3-7643-3046-5",
+ LCCN = "QA76.6 .G7423 1981",
+ bibdate = "Mon Jul 18 19:48:49 1994",
+ price = "US\$10.00",
+ acknowledgement = ack-nhfb,
+ keywords = "algorithms; theory",
+ review = "ACM CR 39194",
+ subject = "F.2 Theory of Computation, ANALYSIS OF ALGORITHMS AND
+ PROBLEM COMPLEXITY, Nonnumerical Algorithms and
+ Problems",
+}
+
+@Book{Greene:MAA82,
+ author = "Daniel H. Greene and Donald E. Knuth",
+ title = "Mathematics for the Analysis of Algorithms",
+ publisher = pub-BIRKHAUSER,
+ address = pub-BIRKHAUSER:adr,
+ edition = "Second",
+ pages = "123",
+ year = "1982",
+ ISBN = "3-7643-3102-X",
+ LCCN = "QA76.6 .G7423 1982",
+ bibdate = "Tue Dec 14 23:01:29 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Gries:EMR89,
+ editor = "David Gries",
+ title = "Encapsulation, Modularization, and Reusability",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1989",
+ ISBN = "0-201-17233-X",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Grimson:AIB87,
+ editor = "W. E. L. Grimson and R. S. Patil",
+ title = "A. {I}. in the 1980s and Beyond: An {MIT} Survey",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "374",
+ year = "1987",
+ ISBN = "0-262-07106-1",
+ LCCN = "Q335 .A42 1987",
+ bibdate = "Tue Dec 14 23:01:31 1993",
+ note = prep-ytex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Grimson:FIS81,
+ author = "W. Eric L. Grimson",
+ title = "From Images to Surfaces: {A} Computational Study of
+ the Human Early Visual System",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "274",
+ year = "1981",
+ ISBN = "0-262-07083-9",
+ LCCN = "QP487 .G74",
+ bibdate = "Tue Dec 14 23:01:33 1993",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Grimson:ORC91,
+ author = "W. Eric L. Grimson",
+ title = "Object Recognition by Computer: The Role of Geometric
+ Constraints",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xv + 512",
+ year = "1991",
+ ISBN = "0-262-07130-4",
+ LCCN = "TA1632 .G735 1990",
+ bibdate = "Tue Dec 14 23:01:44 1993",
+ note = prep-ytex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Gudder:MJ94,
+ author = "Stanley P. Gudder",
+ title = "A Mathematical Journey",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ edition = "Second",
+ year = "1994",
+ ISBN = "0-07-025130-4",
+ LCCN = "QA39.2 .G83 1994",
+ bibdate = "Thu Oct 14 10:10:47 1993",
+ note = prep-tex,
+ price = "US\$42.50",
+ acknowledgement = ack-psg,
+}
+
+@Book{Gudder:QP88,
+ author = "Stanley P. Gudder",
+ title = "Quantum probability",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "xii + 316",
+ year = "1988",
+ ISBN = "0-12-305340-4",
+ LCCN = "QC20.7.P7 G83 1988",
+ bibdate = "Thu Oct 14 10:12:23 1993",
+ note = prep-tex,
+ series = "Probability and mathematical statistics",
+ acknowledgement = ack-psg,
+}
+
+@Book{Gunion:HHG90,
+ author = "John F. Gunion and Howard E. Haber and Gordon L. Kane
+ and Sally Dawson",
+ title = "The Higgs Hunter's Guide",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvi + 425",
+ year = "1990",
+ ISBN = "0-201-50935-0",
+ LCCN = "QC793.5.B62 H54 1990",
+ bibdate = "Wed Dec 15 08:04:51 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Hairer:SOD91,
+ author = "Ernst Hairer and Gerhard Wanner",
+ title = "Solving ordinary differential equations {II}: Stiff
+ and differential-algebraic problems",
+ volume = "14",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ year = "1991",
+ ISBN = "0-387-53775-9",
+ LCCN = "QA372 .H16 1987",
+ bibdate = "Tue Dec 14 23:01:48 1993",
+ note = prep-tex,
+ series = "Springer series in computational mathematics",
+ acknowledgement = ack-sh,
+}
+
+@Book{Halley:THT88,
+ editor = "J. Woods Halley",
+ title = "Theories of High Temperature Superconductivity",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "vi + 264",
+ year = "1988",
+ ISBN = "0-201-12008-9",
+ LCCN = "QC612.S8 T437 1988",
+ bibdate = "Tue Dec 14 23:02:15 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Hamming:APS91,
+ author = "Richard W. Hamming",
+ title = "The Art of Probability\emdash For Scientists and
+ Engineers",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 344",
+ year = "1991",
+ ISBN = "0-201-51058-8",
+ LCCN = "QA273 .H3544 1991",
+ bibdate = "Tue Dec 14 23:02:16 1993",
+ acknowledgement = ack-mz,
+}
+
+@Book{Hammouche:AVA90,
+ author = "Rabah Hammouche",
+ title = "Atlas Vent de l'Alg{\'e}rie",
+ publisher = "Office National de la M{\'e}t{\'e}orologie",
+ address = "Alger, Alg{\'e}rie",
+ pages = "150",
+ year = "1990",
+ note = "Typeset with Bitstream fonts on a Canon Series III
+ 300-dpi laser printer, with extensive graphics and data
+ tables; the data files are available on IBM PC
+ diskettes.",
+ acknowledgement = ack-ngm,
+}
+
+@Book{Haralick:CRV91-1,
+ author = "Robert M. Haralick and Linda D. Shapiro",
+ title = "Computer and Robot Vision",
+ volume = "1",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1991",
+ ISBN = "0-201-10877-1",
+ LCCN = "TA1632 .H37 1992",
+ bibdate = "Tue Dec 14 23:02:18 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Harper:GCA91,
+ author = "David Harper and Chris Wooff and David Hodgkinson",
+ title = "A Guide to Computer Algebra Systems",
+ publisher = pub-JW,
+ address = pub-JW:adr,
+ pages = "xii + 148",
+ year = "1991",
+ ISBN = "0-471-92910-7",
+ LCCN = "QA155.7.E4 H37 1991",
+ bibdate = "Tue Dec 14 23:02:28 1993",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Harvey:CSL85,
+ author = "Brian Harvey",
+ title = "Computer Science Logo Style",
+ volume = "1",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ year = "1985",
+ ISBN = "0-262-58072-1",
+ LCCN = "QA76.6.H385 1985",
+ bibdate = "Tue Dec 14 23:02:30 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Harvey:CSL86,
+ author = "Brian Harvey",
+ title = "Computer Science Logo Style",
+ volume = "2",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ year = "1986",
+ ISBN = "0-262-58080-2",
+ LCCN = "QA76.6.H385 1985",
+ bibdate = "Tue Dec 14 23:02:39 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Harvey:CSL87,
+ author = "Brian Harvey",
+ title = "Computer Science Logo Style",
+ volume = "3",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ year = "1987",
+ ISBN = "0-262-58086-1",
+ acknowledgement = ack-te,
+}
+
+@Book{Hassan:WAM91,
+ author = "Hassan Ait-Kaci",
+ title = "Warren's Abstract Machine",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xvi + 114",
+ year = "1991",
+ ISBN = "0-262-01123-9 (hardcover), 0-262-69146-9 (paperback)",
+ LCCN = "QA76.73.P76 A38 1991",
+ bibdate = "Fri Jul 22 10:25:27 1994",
+ note = prep-latex,
+ acknowledgement = ack-te,
+}
+
+@Book{Hatfield:QFT91,
+ author = "Brian F. Hatfield",
+ title = "Quantum Field Theory of Point Particles and Strings",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 734",
+ year = "1991",
+ ISBN = "0-201-11982-X",
+ LCCN = "QC 174.45 H29 1992",
+ bibdate = "Wed Dec 15 08:05:03 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Hecht-Nielsen:N90,
+ author = "Robert Hecht-Nielsen",
+ title = "Neurocomputing",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 433",
+ year = "1990",
+ ISBN = "0-201-09355-3",
+ LCCN = "QA76.5.H4442 1990",
+ bibdate = "Tue Dec 14 23:02:54 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Heck:IM93,
+ author = "Andr{\'e} Heck",
+ title = "Introduction to Maple",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xiii + 497",
+ year = "1993",
+ ISBN = "0-387-97662-0, 3-540-97662-0",
+ LCCN = "QA155.7.E4H43 1993",
+ bibdate = "Tue Dec 14 23:02:56 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Helfer:IMD90,
+ author = "Adam Helfer",
+ title = "Introduction to Modern Differential Geometry",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1990",
+ ISBN = "0-201-50061-2",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Henzler:OF91,
+ author = "Martin Henzler and Wolfgang G{\"o}pel with Christiane
+ Ziegler",
+ title = "Ober{\-}fl{\"a}chen{\-}physik des
+ Fest{\-}k{\"o}rpers",
+ publisher = pub-TEUBNER,
+ address = pub-TEUBNER:adr,
+ year = "1991",
+ ISBN = "3-519-03047-0",
+ note = prep-latex,
+}
+
+@Book{Herrmann:SMF90,
+ author = "Hans J. Herrmann and St{\'e}phan Roux",
+ title = "Statistical Models for the Fracture of Disordered
+ Media",
+ publisher = pub-ESPNH,
+ address = pub-ESPNH:adr,
+ pages = "xiii + 353",
+ year = "1990",
+ ISBN = "0-444-88551-X (hardcover), 0-444-88550-1 (paperback)",
+ LCCN = "TA409 .S73 1990",
+ bibdate = "Tue Dec 14 23:02:57 1993",
+ acknowledgement = ack-np,
+}
+
+@Book{Hertz:NC91-1,
+ author = "J. Hertz and R. Palmer and A. Krogh",
+ title = "Neural Computation",
+ volume = "1",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxii + 327",
+ year = "1991",
+ ISBN = "0-201-50395-6 (hardcover), 0-201-51560-1 (paperback)",
+ LCCN = "QA76.5 .H475 1991",
+ bibdate = "Fri Jul 22 10:25:39 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Higham:1996:ASN,
+ author = "Nicholas J. Higham",
+ title = "Accuracy and Stability of Numerical Algorithms",
+ publisher = pub-SIAM,
+ address = pub-SIAM:adr,
+ pages = "xxviii + 688",
+ year = "1996",
+ ISBN = "0-89871-355-2 (paperback)",
+ LCCN = "QA297.H53 1996",
+ bibdate = "Tue Jan 30 11:01:35 1996",
+ note = "Typeset with \LaTeX2e",
+ price = "US\$39.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hildreth:MVM84,
+ author = "E. C. Hildreth",
+ title = "The Measurement of Visual Motion",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "241",
+ year = "1984",
+ ISBN = "0-262-08143-1",
+ LCCN = "BF241 .H53 1984",
+ bibdate = "Tue Dec 14 23:03:00 1993",
+ note = prep-ytex,
+ series = "ACM Distinguished Dissertation Series",
+ acknowledgement = ack-bkph,
+}
+
+@Book{Hill:GPL94,
+ author = "Patricia Hill",
+ title = "The {G{\"o}del} Programming Language",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xx + 348",
+ year = "1994",
+ ISBN = "0-262-08229-2",
+ LCCN = "QA76.73.G17H55 1994",
+ bibdate = "Thu Sep 15 07:47:50 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hillis:CM85,
+ author = "W. Daniel Hillis",
+ title = "The Connection Machine",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiii + 190",
+ year = "1985",
+ ISBN = "0-262-08157-1",
+ LCCN = "QA267 .H4871 1985",
+ bibdate = "Tue Dec 14 23:03:01 1993",
+ note = "The book was set using {\LaTeX} by Thinking Machines
+ Corporation and printed and bound by Halliday
+ Lithograph in the USA. The terms in the index were
+ selected automatically using The TMC Indexer.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hiscocks:1996:DLA,
+ author = "Richard D. Hiscocks",
+ title = "Design of Light Aircraft",
+ publisher = "Richard D. Hiscocks",
+ address = "Apt 704, Beach Park Apartments, 2095 Beach Avenue,
+ Vancouver, British Columbia V6G 1Z3, Canada; Tel: (604)
+ 682-6214",
+ year = "1996",
+ ISBN = "0-9699809-0-6",
+ LCCN = "TL671.2.H57 1995",
+ acknowledgement = ack-bnb,
+ pages = "281",
+ price = "US\$29.89, CDN\$39.68",
+ bibdate = "Mon Aug 12 07:34:13 1996",
+}
+
+@Book{Hoare:DCC91,
+ author = "C. A. R. Hoare",
+ title = "Developments in Concurrency and Communication",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 336",
+ year = "1991",
+ ISBN = "0-201-17232-1",
+ LCCN = "QA76.58 .D48 1991",
+ bibdate = "Tue Dec 14 23:03:02 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Hoenig:AFM90,
+ author = "Alan Hoenig",
+ title = "Applied Finite Mathematics",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xiv + 619",
+ year = "1990",
+ ISBN = "0-07-557093-9",
+ LCCN = "QA39.2 .H6227 1989",
+ bibdate = "Tue Dec 14 23:03:04 1993",
+ price = "US\$25.00",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Holmang:IUS88,
+ author = "Per Olof Holm{\"a}ng",
+ title = "Idrott och Utrikespolitk: Den svenska
+ idrottsr{\"o}relsens internationella f{\"o}rbindelser
+ 1919--1945",
+ number = "37",
+ publisher = pub-UGP,
+ address = pub-UGP:adr,
+ pages = "329",
+ year = "1988",
+ ISBN = "91-7900-635-3",
+ ISSN = "0346-914X",
+ LCCN = "GV706.35 .H65 1988",
+ bibdate = "Tue Dec 14 23:03:05 1993",
+ note = "Title in English: The international relations of the
+ Swedish sports movement 1919--1945 (Publications of the
+ Department of History, University of Gothenburg), no.
+ 37",
+ series = "Meddelande fr{\aa}n Historiska Institutionen i
+ G{\"o}teborg",
+}
+
+@Book{Horn:RV86,
+ author = "Berthold K. P. Horn",
+ title = "Robot Vision",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "x + 509",
+ year = "1986",
+ ISBN = "0-262-08159-8",
+ LCCN = "TJ211.3 .H671 1986",
+ bibdate = "Tue Dec 14 23:03:06 1993",
+ note = prep-ytex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Horn:SS89,
+ author = "Berthold K. P. Horn and Michael J. Brooks",
+ title = "Shape from Shading",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "577",
+ year = "1989",
+ ISBN = "0-262-08183-0",
+ LCCN = "TA1632 .S53 1989",
+ bibdate = "Tue Dec 14 23:03:07 1993",
+ note = prep-ytex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Huet:LFF89,
+ editor = "G{\'e}rard Huet",
+ title = "Logical Foundations of Functional Programming",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvi + 491",
+ year = "1989",
+ ISBN = "0-201-17234-8",
+ LCCN = "QA76.62 .L64 1990",
+ bibdate = "Tue Dec 14 23:03:09 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Huttner:RAE93,
+ author = "Sidney F. Huttner and Elizabeth Stege Huttner",
+ title = "A register of artists, engravers, booksellers,
+ bookbinders, printers and publishers in New York City,
+ 1821--42",
+ publisher = pub-BSA,
+ address = pub-BSA:adr,
+ pages = "299",
+ year = "1993",
+ ISBN = "0-914930-15-X",
+ LCCN = "Z478.6.N5 H87 1993",
+ bibdate = "Sun Mar 27 10:21:36 1994",
+ note = prep-tex,
+ price = "US\$50.00",
+ acknowledgement = ack-jl,
+}
+
+@Misc{IEEE:el-ins,
+ key = "IEEETEI",
+ title = j-IEEE-TEI,
+ year = "1989",
+ ISSN = "0018-9367",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Jaeschke:DSC91,
+ author = "Rex Jaeschke",
+ title = "The Dictionary of Standard {C}",
+ publisher = pub-PPB,
+ address = pub-PPB:adr,
+ pages = "x + 164",
+ year = "1991",
+ ISBN = "1-878956-07-8",
+ LCCN = "QA76.73.C15 J335 1991",
+ bibdate = "Thu Dec 16 09:37:19 1993",
+ note = "Prepared with {\LaTeX}, with output to Personal
+ {\TeX}'s 2000dpi phototypesetter using Computer Modern
+ fonts.",
+ acknowledgement = ack-rj,
+}
+
+@Book{Jaeschke:MSC89,
+ author = "Rex Jaeschke",
+ title = "Mastering Standard {C}",
+ publisher = pub-PPB,
+ address = pub-PPB:adr,
+ year = "1989",
+ ISBN = "0-9614729-8-7",
+ LCCN = "QA76.73.C15 J337 1989",
+ bibdate = "Thu Dec 16 09:37:15 1993",
+ note = prep-latex # " Phototypeset using Computer Modern fonts
+ at the American Mathematical Society by arrangement
+ with the publisher.",
+ price = "US\$39.95",
+ acknowledgement = ack-rj,
+}
+
+@Book{Jain:OSI90,
+ author = "Bijendra N. Jain and Ashok K. Agrawala",
+ title = "Open Systems Interconnection\emdash{}Its Architecture
+ and Protocols",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ pages = "xxii + 599",
+ year = "1990",
+ ISBN = "0-444-88490-4",
+ LCCN = "TK5105.5 .J35 1990",
+ bibdate = "Tue Dec 14 23:03:12 1993",
+ acknowledgement = ack-np,
+}
+
+@Misc{JCLT,
+ editor = "Rex Jaeschke",
+ key = "JCLT",
+ title = "{The Journal of C Language Translation}",
+ howpublished = "1810 Michael Faraday Drive, Suite 101, Reston, VA
+ 22090, USA, Tel: (703) 860-0091. E-mail
+ \path|rex@aussie.com|.",
+ year = "1989",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Jen:LCS90-2,
+ author = "Erica Jen",
+ title = "1989 Lectures in Complex Systems",
+ volume = "2",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxiv + 611",
+ year = "1990",
+ ISBN = "0-201-50936-9",
+ LCCN = "QA267.7 .C66 1989",
+ bibdate = "Tue Dec 14 23:03:13 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Johnson:1998:LAD,
+ author = "Michael K. Johnson and Erik W. Troan",
+ title = "{Linux} Application Development",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxiii + 538",
+ year = "1998",
+ ISBN = "0-201-30821-5",
+ LCCN = "QA76.76.O63J635 1998",
+ bibdate = "Wed Oct 07 08:05:44 1998",
+ note = prep-latex,
+ price = "US\$45.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Jones:FTV88,
+ author = "R. K. Jones and T. Crabtree",
+ title = "Fortran Tools for {VAX\slash VMS} and {MS-DOS}",
+ publisher = pub-WILEY,
+ address = pub-WILEY:adr,
+ pages = "xii + 447",
+ year = "1988",
+ ISBN = "0-471-61976-0",
+ LCCN = "QA76.73.F25 J66 1988",
+ bibdate = "Tue Dec 14 23:03:14 1993",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Jones:SSD90,
+ author = "Cliff B. Jones",
+ title = "Systematic Software Development Using {VDM}",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ edition = "Second",
+ pages = "xiv + 333",
+ year = "1990",
+ ISBN = "0-13-880733-7",
+ LCCN = "QA76.76.D47 J66 1990",
+ bibdate = "Tue Dec 14 23:03:16 1993",
+ note = prep-latex,
+ acknowledgement = ack-mjp,
+}
+
+@Book{Kahlbrandt:SEO98,
+ author = "Bernd Kahlbrandt",
+ title = "{Software-Engineering. Objektorientierte
+ Software-Entwicklung mit der Unified Modeling
+ Language}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xvi + 504",
+ year = "1998",
+ ISBN = "3-540-63309-X",
+ bibdate = "Sat Feb 28 10:30:19 1998",
+ note = prep-latex,
+ price = "DM 88",
+ URL = "http://www.springer.de/catalog/html-files/deutsch/eng/354063309X.html",
+ acknowledgement = ack-bk,
+}
+
+@Book{Kamin:PLI90,
+ author = "Samuel N. Kamin",
+ title = "Programming Languages: An Interpreter-Based Approach",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 640",
+ year = "1990",
+ ISBN = "0-201-06824-9",
+ LCCN = "QA76.7.K35 1990",
+ bibdate = "Tue Dec 14 23:03:17 1993",
+ note = prep-latex,
+ acknowledgement = ack-lmp # " and " # ack-mz,
+}
+
+@Book{Kane:MEP88,
+ author = "Gordon Kane",
+ title = "Modern Elementary Particle Physics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xx + 344",
+ year = "1988",
+ ISBN = "0-201-11749-5",
+ LCCN = "QC793.2 .K361 1987",
+ bibdate = "Tue Dec 14 23:03:18 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Kassakian:PPE91,
+ author = "John G. Kassakian and Martin F. Shlecht and George C.
+ Verghese",
+ title = "Principles of Power Electronics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxi + 738",
+ year = "1991",
+ ISBN = "0-201-09689-7",
+ LCCN = "TK7881.15.K37 1991",
+ bibdate = "Tue Dec 14 23:03:20 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Kay:PPP85,
+ author = "David G. Kay",
+ title = "Programming for People/Pascal",
+ publisher = pub-MAYFIELD,
+ address = pub-MAYFIELD:adr,
+ pages = "xiii + 620",
+ year = "1985",
+ ISBN = "0-87484-717-6",
+ LCCN = "QA76.73.P3 K3",
+ bibdate = "Tue Dec 14 23:03:21 1993",
+ note = "Prepared with {\TeX} using Baskerville fonts, with
+ output to Stanford Autologic APS-5 phototypesetter.",
+ acknowledgement = ack-dgk,
+}
+
+@Book{Keener:PAM88,
+ author = "James P. Keener",
+ title = "Principles of Applied Mathematics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 560",
+ year = "1988",
+ ISBN = "0-201-15674-1",
+ LCCN = "QA601 .K41 1988",
+ bibdate = "Tue Dec 14 23:03:22 1993",
+ note = prep-latex,
+ acknowledgement = ack-lmp # " and " # ack-mz,
+}
+
+@Book{Kehoe:ZAI93,
+ author = "Brendan P. Kehoe",
+ title = "Zen and the Art of the Internet: {A} Beginner's
+ Guide",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ edition = "Second",
+ pages = "xv + 112",
+ year = "1993",
+ ISBN = "0-13-010778-6",
+ LCCN = "TK5105.8.I57 K44 1993",
+ bibdate = "Tue Dec 14 23:03:23 1993",
+ note = "Prepared with {\TeX}info.",
+}
+
+@Book{Keller:FCC82,
+ author = "Arthur M. Keller",
+ title = "A First Course in Computer Programming Using
+ {PASCAL}",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xiii + 306",
+ year = "1982",
+ ISBN = "0-07-033508-7",
+ LCCN = "QA76.73.P2 K44 1982",
+ bibdate = "Tue Dec 14 23:03:24 1993",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Kirkerud:OOP89,
+ author = "Bj{\o}rn Kirkerud",
+ title = "Object-Oriented Programming with Simula",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 515",
+ year = "1989",
+ ISBN = "0-201-17574-6",
+ LCCN = "QA 76.73 S55 K57 1989",
+ bibdate = "Tue Dec 14 23:03:25 1993",
+ note = prep-latex,
+ acknowledgement = ack-mc,
+}
+
+@Book{Knuth:bible-texts,
+ author = "Donald E. Knuth",
+ title = "3:16 Bible Texts Illuminated",
+ publisher = pub-ARE,
+ address = pub-ARE:adr,
+ pages = "268",
+ year = "1991",
+ ISBN = "0-89579-252-4",
+ LCCN = "BS511.2.K58 1991",
+ bibdate = "Tue Dec 14 23:03:27 1993",
+ note = "See also review \cite{Shein:1992:BRB}.",
+}
+
+@Book{Knuth:AH92,
+ author = "Donald E. Knuth",
+ title = "Axioms and Hulls",
+ number = "606",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "ix + 109",
+ year = "1992",
+ ISBN = "0-387-55611-7 (New York), 3-540-55611-7 (Berlin)",
+ LCCN = "QA640.3 .K68 1992",
+ bibdate = "Tue Sep 20 23:23:55 1994",
+ series = j-LNCS,
+ abstract = "A CC system is defined to be a relation on ordered
+ triples of points that satisfy five simple axioms
+ obeyed by the `counterclockwise' relation on points in
+ the plane. A CCC system is a relation on ordered
+ quadruples, satisfying five simple axioms obeyed by the
+ `incircle' relation. In this monograph, the properties
+ of these axioms are developed and related to other
+ abstract notions such as oriented matroids, chirotopes,
+ primitive sorting networks, and arrangements of
+ pseudolines. Decision procedures based on the CC axioms
+ turn out to be NP-complete, although nice
+ characterizations of CC structures are available.
+ Efficient algorithms are presented for finding convex
+ hulls in any CC system and Delaunay triangulations in
+ any CCC system. Practical methods for satisfying the
+ axioms with arbitrarily degenerate data lead to what
+ may well be the best method now known for Delaunay
+ triangulations and Voronoi diagrams in the Euclidean
+ plane. The underlying theme of this work is a
+ philosophy of algorithm design based on simple
+ primitive operations that satisfy clear and concise
+ axioms. (72 Refs.)",
+ acknowledgement = ack-nhfb,
+ annote = "From the Preface: ``This book may, incidentally, be
+ interesting to typography buffs as well as to computer
+ scientists, because of the rapid turnaround time
+ provided by Springer-Verlag. It is the first
+ publication to use the final revision of the Computer
+ Modern typefaces, released two weeks ago. I made the
+ arrowheads longer and stronger, so that they will not
+ disappear so easily on xerox copies; and I redesigned a
+ few of the letterforms, such as ${\cal I}$, ${\cal T}$,
+ and $\delta$. There is also an improved method for
+ digitization at low resolution. The new characters do
+ not affect any of the line breaks or page breaks made
+ by {\TeX}, because they fit exactly into the same size
+ boxes as the old ones did. Everyone now using the
+ Computer Modern fonts of 1986 should soon be able to
+ install the 1992 fonts in their place, at little or no
+ cost. I promise not the change them again. --- Donald
+ E. Knuth, Stanford, California, April 1992.''",
+ classification = "C4260 (Computational geometry); C4240 (Programming
+ and algorithm theory)",
+ keywords = "Counterclockwise relation; Incircle relation;
+ NP-complete decision procedures; CC system; Ordered
+ triples of points; CCC system; Ordered quadruples;
+ Axioms; Oriented matroids; Chirotopes; Primitive
+ sorting networks; Pseudolines; Convex hulls; Delaunay
+ triangulations; Arbitrarily degenerate data; Voronoi
+ diagrams; Euclidean plane; Primitive operations",
+ thesaurus = "Computational complexity; Computational geometry",
+}
+
+@Book{Knuth:1997:FA,
+ author = "Donald E. Knuth",
+ title = "Fundamental Algorithms",
+ volume = "1",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Third",
+ pages = "xix + 650",
+ year = "1997",
+ ISBN = "0-201-89683-4",
+ LCCN = "QA76.6 .K64 1997",
+ bibdate = "Fri Jul 11 15:41:22 1997",
+ price = "US\$49.50",
+ series = "The Art of Computer Programming",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:1997:SA,
+ author = "Donald E. Knuth",
+ title = "Seminumerical Algorithms",
+ volume = "2",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Third",
+ pages = "704",
+ year = "1997",
+ ISBN = "0-201-89684-2",
+ LCCN = "",
+ bibdate = "Fri Jan 31 07:40:01 1997",
+ price = "US\$49.44",
+ series = "The Art of Computer Programming",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:1998:SS,
+ author = "Donald E. Knuth",
+ title = "Sorting and Searching",
+ volume = "3",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "704",
+ year = "1998",
+ ISBN = "0-201-89685-0",
+ LCCN = "QA76.6.K64 1997",
+ bibdate = "Sat Feb 27 11:11:53 1999",
+ price = "US\$49.95",
+ series = "The Art of Computer Programming",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:2000:SPA,
+ author = "Donald E. Knuth",
+ title = "Selected Papers on Analysis of Algorithms",
+ publisher = pub-CSLI,
+ address = pub-CSLI:adr,
+ pages = "xvi + 621",
+ year = "2000",
+ ISBN = "1-57586-212-3 (paperback), 1-57586-211-5 (cloth)",
+ LCCN = "QA9.58 .K65 2000",
+ bibdate = "Mon Sep 11 09:56:39 2000",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Koenderink:SS89,
+ author = "Jan Koenderink",
+ title = "Solid Shape",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiv + 699",
+ year = "1989",
+ ISBN = "0-262-11139-X",
+ LCCN = "QA641 .K74 1990",
+ bibdate = "Tue Dec 14 23:03:28 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Kolb:EU90,
+ author = "Edward Kolb and Michael Turner",
+ title = "The Early Universe",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxii + 547",
+ year = "1990",
+ ISBN = "0-201-11603-0",
+ LCCN = "QB981 .E68 1990",
+ bibdate = "Tue Dec 14 23:03:29 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Koonin:CP90,
+ author = "Steven E. Koonin and Dawn C. Meredith",
+ title = "Computational Physics",
+ publisher = pub-AW,
+ address = "Redwood City, CA, USA",
+ pages = "xvi + 635",
+ year = "1990",
+ ISBN = "0-201-12779-2",
+ LCCN = "QC20.7.E4 K66 1990",
+ bibdate = "Tue Dec 14 23:03:30 1993",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Kosekela:PCS91,
+ editor = "R. Kosekela and M. Simmons",
+ title = "Parallel Computer Systems: Performance Instrumentation
+ and Visualization",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxii + 289",
+ year = "1991",
+ ISBN = "0-201-50937-7",
+ LCCN = "T385 .P46 1990",
+ bibdate = "Tue Dec 14 23:03:32 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Kreps:CMT90,
+ author = "David M. Kreps",
+ title = "A Course in Microeconomic Theory",
+ publisher = pub-PUP,
+ address = pub-PUP:adr,
+ pages = "xviii + 850",
+ year = "1990",
+ ISBN = "0-691-04264-0",
+ LCCN = "HB172 .K74 1990",
+ bibdate = "Tue Dec 14 23:03:33 1993",
+ note = "Typeset using {\PS} and {\CMR} fonts.",
+ acknowledgement = ack-lmp,
+}
+
+@Book{Kreyszig:MCM94,
+ author = "E. Kreyszig and E. J. Normington",
+ title = "Maple Computer Manual for Seventh Edition Advanced
+ Engineering Mathematics\emdash Erwin Kreyszig",
+ publisher = pub-JW,
+ address = pub-JW:adr,
+ pages = "xii + 506",
+ year = "1994",
+ ISBN = "0-471-31126-X",
+ bibdate = "Tue May 24 08:38:06 1994",
+ note = prep-tex # " There is a companion {\it Instructor's
+ Maple Manual}, but I have not yet found an exact
+ citation for it.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Kruer:PLP88,
+ author = "William Kruer",
+ title = "The Physics of Laser Plasma Interactions",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 182",
+ year = "1988",
+ ISBN = "0-201-15672-5",
+ LCCN = "QC718.5.P5 K781 1988",
+ bibdate = "Tue Dec 14 23:03:34 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Kruse:1999:DSP,
+ author = "Robert L. Kruse and Alexander J. Ryba",
+ title = "Data structures and program design in {C++}",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "xvii + 717",
+ year = "1999",
+ ISBN = "0-13-768995-0",
+ LCCN = "QA76.73.C153 K79 1999",
+ bibdate = "Tue Aug 31 10:38:43 1999",
+ note = prep-tex # " Typeset in two colors with Palatino text and scaled Lucida math fonts.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Kupershmidt:ESS87,
+ author = "Boris A. Kupershmidt",
+ title = "Elements of {s}uperintegrable {s}ystems: {b}asic
+ {t}echniques and {r}esults",
+ publisher = pub-KLUWER,
+ address = pub-KLUWER:adr,
+ pages = "xvi + 187",
+ year = "1987",
+ ISBN = "90-277-2434-2",
+ LCCN = "QA377 .K851 1987",
+ bibdate = "Mon Jul 11 11:28:25 1994",
+ note = prep-tex,
+ acknowledgement = ack-bnb,
+}
+
+@Book{Langton:AL89,
+ editor = "Christopher G. Langton",
+ title = "Artificial Life",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxix + 655",
+ year = "1989",
+ ISBN = "0-201-09346-4 (hardcover), 0-201-09356-1 (paperback)",
+ LCCN = "QH324.8 .A77 1987",
+ bibdate = "Fri Jul 22 10:25:45 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Laub:MA391,
+ author = "Josef Laub and Eugen Hruby and Hans-Christian Reichel
+ and Dieter Litschauer and Herbert Gro{\ss} and Robert
+ M{\"u}ller and Erich Neuwirth",
+ title = "Mathematik Arbeitsbuch 3",
+ publisher = pub-HPT,
+ address = pub-HPT:adr,
+ year = "1991",
+ ISBN = "3-209-01165-6",
+ note = "Textbook for high-school mathematics, grade 7. One
+ full chapter about spreadsheet programs has been
+ typeset by {\TeX}.",
+ acknowledgement = ack-nw,
+}
+
+@Book{Laub:MA491,
+ author = "Josef Laub and Eugen Hruby and Hans-Christian Reichel
+ and Dieter Litschauer and Herbert Gro{\ss} and Robert
+ M{\"u}ller and Erich Neuwirth",
+ title = "Mathematik Arbeitsbuch 4",
+ publisher = pub-HPT,
+ address = pub-HPT:adr,
+ year = "1991",
+ ISBN = "3-209-01061-7",
+ note = "Textbook for high-school mathematics, grade 7. One
+ full chapter about spreadsheet programs has been
+ typeset by {\TeX}.",
+ acknowledgement = ack-nw,
+}
+
+@Book{Lawrence:NLM87,
+ author = "Christopher Lawrence and Ghislaine Lawrence",
+ title = "No Laughing Matter: Historical Aspects of
+ Anaesthesia",
+ publisher = pub-WIHM,
+ address = pub-WIHM:adr,
+ pages = "84",
+ year = "1987",
+ ISBN = "0-85484-056-7",
+ LCCN = "RD79 .N6 1987",
+ bibdate = "Tue Dec 14 23:03:38 1993",
+ note = prep-latex # " PC{\TeX} and Computer Modern fonts, with
+ final output on a Canon LBP8 A1 at 300dpi. The printer
+ was managed by software from Personal {\TeX} driving a
+ Flagstaff Engineering JLaser card plugged into the PC
+ bus, and sending bitmaps directly to the laser printer,
+ bypassing the controller.",
+ acknowledgement = ack-dw,
+}
+
+@Book{Leary:ITF85,
+ author = "Rolfe A. Leary",
+ title = "Interaction Theory in Forest Ecology and Management",
+ publisher = pub-NIJHOFF,
+ address = pub-NIJHOFF:adr,
+ pages = "x + 219",
+ year = "1985",
+ ISBN = "90-247-3220-4",
+ LCCN = "SD387.M8 L431 1985",
+ bibdate = "Tue Dec 14 23:03:45 1993",
+ acknowledgement = ack-bc,
+}
+
+@Book{Leslie:RRH91,
+ editor = "Julia Leslie",
+ title = "Roles and Rituals for Hindu Women",
+ publisher = pub-PINTER,
+ address = pub-PINTER:adr,
+ pages = "xviii + 267",
+ year = "1991",
+ ISBN = "0-86187-796-9",
+ LCCN = "BL1237.46.R64 1991",
+ bibdate = "Tue Dec 14 23:03:47 1993",
+ note = prep-latex # " Used sb{\TeX} 3.1 and Computer Modern
+ fonts, proffed using em{\TeX}'s DVIHPLJ and an HP
+ LaserJet III. Final output produced on bromide at
+ 1270dpi on a Linotronic 300, via DVIPS 5.47 for some
+ parts, and Arbortext's DVILASER/PS (is that the name?)
+ for others. The L300 is owned and run by the University
+ of London, and they have loaded the CM fonts onto their
+ RIP's font disk, as well as having the Arbortext
+ software running invisibly, so TeX users can actually
+ submit DVI files over the JANET network (or by direct
+ login and Kermit), and get bromides back through the
+ post 24hrs later.",
+ acknowledgement = ack-dw,
+}
+
+@Book{Levine:MR91,
+ author = "R. D. Levine and R. B. Bernstein",
+ title = "Molekulare Reaktionsdynamik",
+ publisher = pub-TEUBNER,
+ address = pub-TEUBNER:adr,
+ year = "1991",
+ ISBN = "3-519-03507-3",
+ note = "Original title: {\em Molecular Reaction Dynamics and
+ Chemical Reactivity}, translated by Christian Schlier.
+ The German edition was written in T3, then translated
+ to {\LaTeX}.",
+}
+
+@Book{Lewis:ETC92,
+ author = "H. R. Lewis and Qr'hstos Q. Papadhmhtr'iou (H. H.
+ Papadimitriou)",
+ title = "Stoiqe'ia Jewr'ias Ypologismo'u (Elements of the
+ Theory of Computation)",
+ publisher = pub-TCGPB,
+ address = pub-TCGPB:adr,
+ pages = "494, with subject index, author index, and glossary",
+ year = "1992",
+ note = "One of the first books to be typeset in Greek by
+ {\TeX}.",
+}
+
+@Book{Loeckx:FPL88,
+ author = "Jacques Loeckx and Kurt Mehlhorn and Reinhard
+ Wilhelm",
+ title = "Foundations of Programming Languages",
+ publisher = pub-JW,
+ address = pub-JW:adr,
+ pages = "426",
+ year = "1988",
+ ISBN = "0-471-92139-4",
+ LCCN = "QA76.7 .L64 1988",
+ bibdate = "Tue Dec 14 23:03:50 1993",
+}
+
+@Book{LoPresti:LS91,
+ author = "L. {Lo Presti} and F. Neri",
+ title = "Lanalisi dei segnali",
+ publisher = pub-CLUT,
+ address = pub-CLUT:adr,
+ year = "1991",
+ note = prep-latex,
+ acknowledgement = ack-cb,
+}
+
+@Book{Lotman:STK92,
+ author = "Yu. Lotman and others",
+ title = "Stat'i po tipologii kul'tury. Prilozhenie k `Trudam po
+ znakovym sistemam' (Articles about types of culture.
+ Application to procedures on signed systems.)",
+ publisher = "Tartu Semiotic Group",
+ address = "Tartu, Estonia",
+ pages = "250",
+ year = "1992",
+ acknowledgement = ack-bnb,
+ bibdate = "Wed Nov 1 08:25:30 2000",
+}
+
+@Book{Lusardi:DEG88,
+ author = "Frank Lusardi",
+ title = "The Database Experts' Guide to {SQL}",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xiv + 224",
+ year = "1988",
+ ISBN = "0-07-039006-1 (hardcover), 0-07-039002-9 (paperback)",
+ LCCN = "QA76.73.S67 L87 1988",
+ bibdate = "Fri Jul 22 10:25:53 1994",
+ note = prep-tex,
+ acknowledgement = ack-fl,
+}
+
+@Book{Lyche:MMC89,
+ author = "Tom Lyche and Larry L. Schumaker",
+ title = "Mathematical Methods in Computer Aided Geometric
+ Design",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "xv + 611",
+ year = "1989",
+ ISBN = "0-12-460515-X",
+ LCCN = "QA448.D38 M381 1989",
+ bibdate = "Tue Dec 14 23:03:54 1993",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Lynch:1996:DA,
+ author = "Nancy A. Lynch",
+ title = "Distributed Algorithms",
+ publisher = pub-MORGAN-KAUFMANN,
+ address = pub-MORGAN-KAUFMANN:adr,
+ pages = "xvii + 872 (or xxiii + 872??)",
+ year = "1996",
+ ISBN = "1-55860-348-4",
+ LCCN = "QA76.9.D5 L96 1996",
+ bibdate = "Tue Jan 28 14:31:40 1997",
+ note = prep-latex,
+ series = "Morgan Kaufmann series in data management systems",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Maeder:PM90,
+ author = "Roman Maeder",
+ title = "Programming in Mathematica",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 267",
+ year = "1990",
+ ISBN = "0-201-51002-2",
+ LCCN = "QA76.95 .M34 1989",
+ bibdate = "Tue Dec 14 23:03:56 1993",
+ note = prep-tex,
+ acknowledgement = ack-bnb # " and " # ack-mz,
+}
+
+@Book{Mangel:DMB88,
+ author = "Marc Mangel and Colin W. Clark",
+ title = "Dynamic Modeling in Behavioral Ecology",
+ publisher = pub-PUP,
+ address = pub-PUP:adr,
+ pages = "xii + 308",
+ year = "1988",
+ ISBN = "0-691-08505-6 (hardcover), 0-691-08506-4 (paperback)",
+ LCCN = "QL751.65.M3 M291 1988",
+ bibdate = "Tue Dec 14 23:03:57 1993",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Manna:LBC90-1,
+ author = "Zohar Manna and Richard Waldinger",
+ title = "The Logical Basis for Computer Programming",
+ volume = "1",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1990",
+ ISBN = "0-201-18260-2",
+ LCCN = "QA76.6 .M35595 1985",
+ bibdate = "Tue Dec 14 23:03:59 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Manna:LBC90-2,
+ author = "Zohar Manna and Richard Waldinger",
+ title = "The Logical Basis for Computer Programming",
+ volume = "2",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1990",
+ ISBN = "0-201-18261-0",
+ LCCN = "QA76.6 .M35595 1985",
+ bibdate = "Tue Dec 14 23:04:11 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Maslen:PAW91,
+ editor = "Keith Maslen and John Lancaster",
+ title = "The {Bowyer} Ledgers: The printing accounts of
+ {William Bowyer} father and son reproduced on
+ microfiche with a checklist of {Bowyer} printing
+ 1699-1777, a commentary, indexes, and appendixes",
+ publisher = pub-BS # " and " # pub-BSA,
+ address = pub-BS:adr # " and " # pub-BSA:adr,
+ pages = "70 microfiches",
+ year = "1991",
+ ISBN = "0-914930-13-3",
+ LCCN = "Z232.B68.B6 1991",
+ bibdate = "Wed Dec 15 08:05:08 1993",
+ note = "The editor (JL) remarks: ``The printed volume contains
+ lxxv, 616 pp., being the apparatus and indexes to 70
+ microfiche which reproduce the original documents. It
+ may be of interest to note that the estimate for
+ commercial typesetting (from existing well-marked ASCII
+ files, but involving many complications such as tables)
+ was in excess of \$20,000; the total cost for {\TeX}
+ was below \$2,000 (plus of course one editor's unpaid
+ time -- but for this sort of work, with a very small
+ market, the key is getting it published at all). In
+ addition, there was the great advantage that
+ fine-tuning could take place right up to the last
+ minute, with instant proofs at low cost. I am (as a
+ former commercial printer as well as a printing
+ historian and hobbyist letterpress printer) thoroughly
+ sold on {\TeX}, and am using it for three additional
+ books now in progress -- for technical bibliography,
+ which can often be as complicated as mathematics, the
+ range of possibilities and flexibility makes it well
+ worth the complexity.''",
+ acknowledgement = ack-jl,
+}
+
+@Book{Mason:RHM85,
+ author = "M. T. Mason and J. K. {Salisbury, Jr.}",
+ title = "Robot Hands and the Mechanics of Manipulation",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xxvi + 298",
+ year = "1985",
+ ISBN = "0-262-13205-2",
+ LCCN = "TJ211 .M366 1985",
+ bibdate = "Tue Dec 14 23:05:22 1993",
+ note = prep-unknowntex,
+ acknowledgement = ack-bkph,
+}
+
+@Misc{Mathematica,
+ author = "Stephen Wolfram",
+ title = "Mathematica Journal",
+ howpublished = pub-AW,
+ year = "1990",
+ ISSN = "1047-5974",
+ acknowledgement = ack-lmp,
+}
+
+@Book{MathSoft:1985:PUG,
+ author = "{MathSoft, Inc.}",
+ title = "{S-PLUS} User's Guide: Version 3.3 for {Windows}",
+ publisher = pub-STATSCI,
+ address = pub-STATSCI:adr,
+ pages = "various",
+ month = sep,
+ year = "1985",
+ ISBN = "",
+ LCCN = "",
+ bibdate = "Tue Jan 28 14:18:45 1997",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Maurer:DAM91,
+ author = "Stephen B. Maurer and Anthony Ralston",
+ title = "Discrete Algorithmic Mathematics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xix + 834",
+ year = "1991",
+ ISBN = "0-201-15585-0",
+ LCCN = "QA39.2 .M394 1991",
+ bibdate = "Tue Dec 14 23:05:24 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{McAllester:O89,
+ author = "David McAllester",
+ title = "Ontic",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiv + 158",
+ year = "1989",
+ ISBN = "0-262-13235-4",
+ LCCN = "QA76.9.A96 M37 1989",
+ bibdate = "Tue Dec 14 23:05:34 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{McCarthy:ITK90,
+ author = "J. M. McCarthy",
+ title = "Introduction to Theoretical Kinematics",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "130",
+ year = "1990",
+ ISBN = "0-262-13252-4",
+ LCCN = "QA841 .M33 1990",
+ bibdate = "Tue Dec 14 23:05:36 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Mead:AVL89,
+ author = "Carver Mead",
+ title = "Analog {VLSI} and Neural Systems",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxii + 371",
+ year = "1989",
+ ISBN = "0-201-05992-4",
+ LCCN = "QA76.5 .M48 1989",
+ bibdate = "Tue Dec 14 23:05:37 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Mesterton-Gibbons:CAM89,
+ author = "Michael Mesterton-Gibbons",
+ title = "A Concrete Approach to Mathematical Modeling",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xx + 597",
+ year = "1989",
+ ISBN = "0-201-12910-8",
+ LCCN = "QA401 .M51381 1989",
+ bibdate = "Tue Dec 14 23:05:38 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Milanese:1996:CIL,
+ author = "Guido Milanese",
+ title = "Concordantia et instrumenta lexicographica ad Graduale
+ Romanum pertinentia",
+ publisher = "Editrice Liguria s.n.c. di Norberto Sabatelli \& C.",
+ address = "Via De Mari 4R - I-17100 Savona, Italy; or Postal Box
+ 181 - 17100 Savona, Italy",
+ year = "1996",
+ ISBN = "88-8055-151-5",
+ acknowledgement = ack-nhfb,
+ note = "Preface by Mirella Ferrari. The book is a concordance
+ and a collection of indexes done on the Graduale
+ Romanum, the most important source of the Latin
+ liturgy. The typesetting of the book is completely done
+ with \LaTeX{}. There are several kinds of indexes, and
+ --- due to the variety of such indexes --- several
+ kinds of \LaTeX{} packages were used, including {\tt
+ multicols}, various kinds of lists and a huge use of
+ the {\tt myverb} package (hundreds of pages!), because
+ I wanted to produce the concordance (not the indexes)
+ at fixed space. Copies for review on journals available
+ on request: Contact the author at
+ \path=mc1194@mclink.it=.",
+ pages = "550",
+ price = "US\$55.00 (80,000 Italian Lire)",
+ bibdate = "Thu Oct 10 10:00:16 1996",
+}
+
+@Book{Misner:SP91,
+ author = "Charles W. Misner and Patrick J. Cooney",
+ title = "Spreadsheet Physics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 228",
+ year = "1991",
+ ISBN = "0-201-16410-8",
+ LCCN = "QC52 .M57 1991",
+ bibdate = "Tue Dec 14 23:05:48 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Morner:CSE88,
+ editor = "Magnus M{\"o}ner and Thommy Svensson",
+ title = "Classes Strata Elites: Essays on Social Stratification
+ in History",
+ number = "34",
+ publisher = pub-AUG,
+ address = pub-AUG:adr,
+ pages = "269",
+ year = "1988",
+ ISBN = "91-7970-241-4",
+ ISSN = "0346-914X",
+ LCCN = "HN13 .C53 1988",
+ bibdate = "Tue Dec 14 23:05:49 1993",
+ series = "Report from the Department of History, Gothenburg
+ University",
+}
+
+@Book{Moye:1995:FTD,
+ author = "Stephen Moye",
+ title = "Fontographer: {Type} by Design",
+ publisher = pub-MIS,
+ address = pub-MIS:adr,
+ pages = "xi + 275",
+ year = "1995",
+ ISBN = "1-55828-447-8",
+ LCCN = "Z250.8.F65 M69 1995",
+ bibdate = "Tue Jul 1 18:20:58 2003",
+ note = prep-tex,
+ price = "US\$30.00 (est.)",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+ keywords = "Fontographer; Font editors",
+}
+
+@Book{Munkres:AM91,
+ author = "James Munkres",
+ title = "Analysis of Manifolds",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 366",
+ year = "1991",
+ ISBN = "0-201-51035-9",
+ LCCN = "QA300 .M75 1991",
+ bibdate = "Tue Dec 14 23:05:51 1993",
+ acknowledgement = ack-mz,
+}
+
+@Book{Murray:EMI90,
+ author = "David Murray and Bernard Buxton",
+ title = "Experiments in the Machine Interpretation of Visual
+ Motion",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "236",
+ year = "1990",
+ ISBN = "0-262-13263-X",
+ LCCN = "TA1635 .M87 1990",
+ bibdate = "Tue Dec 14 23:05:52 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Nakamura:TRR91,
+ author = "Yoshihiko Nakamura",
+ title = "Theoretical Robotics: Redundancy and Optimization",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 337",
+ year = "1991",
+ ISBN = "0-201-15198-7",
+ LCCN = "TJ211 .N34 1991",
+ bibdate = "Tue Dec 14 23:05:54 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Nash:HSC90,
+ editor = "Stephen G. Nash",
+ title = "A History of Scientific Computing",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xix + 359",
+ year = "1990",
+ ISBN = "0-201-50814-1",
+ LCCN = "QA76.17 .H59 1990",
+ bibdate = "Tue Dec 14 23:05:55 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Negele:QMP88,
+ author = "John W. Negele and Henri Orland",
+ title = "Quantum Many-Particle Systems",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 459",
+ year = "1988",
+ ISBN = "0-201-12593-5",
+ LCCN = "QC174.17.P7 N441 1988",
+ bibdate = "Tue Dec 14 23:05:56 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Misc{Neural-Computation,
+ editor = "Terrence Sejnowski",
+ key = "NC",
+ title = "{Neural Computation}",
+ howpublished = pub-MIT,
+ year = "1989",
+ ISSN = "0899-7667",
+ note = "Technical journal published four times per year, using
+ {\PS} and {\CMR} fonts",
+ acknowledgement = ack-lmp,
+}
+
+@Book{Newell:NLO91,
+ author = "Alan C. Newell and Jerome V. Molony",
+ title = "Non-Linear Optics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 436",
+ year = "1991",
+ ISBN = "0-201-51014-6",
+ LCCN = "QC446.2.N48 1992",
+ bibdate = "Tue Dec 14 23:06:14 1993",
+ acknowledgement = ack-mz,
+}
+
+@Book{Newton:TTS88,
+ author = "H. Joseph Newton",
+ title = "Timeslab: {A} Time Series Analysis Laboratory",
+ publisher = pub-WADSWORTH,
+ address = pub-WADSWORTH:adr,
+ pages = "xv + 623",
+ year = "1988",
+ ISBN = "0-534-09198-9",
+ LCCN = "QA280 .N487 1988",
+ bibdate = "Tue Dec 14 23:06:16 1993",
+ note = prep-tex,
+ acknowledgement = ack-pj,
+}
+
+@Book{Nickson:HDP93,
+ author = "R. Andrew Nickson",
+ title = "Historical dictionary of Paraguay",
+ publisher = pub-SCARECROW,
+ address = pub-SCARECROW:adr,
+ edition = "Second",
+ pages = "xxi + 685",
+ year = "1993",
+ ISBN = "0-8108-2643-7",
+ LCCN = "F2664 .K64 1993",
+ bibdate = "Wed Oct 13 18:32:20 1993",
+ note = "Typeset with plain {\TeX} using {\tt emtex} on an IBM
+ PC.",
+ acknowledgement = ack-gswan,
+}
+
+@Book{Nossal:ICB90,
+ author = "Ralph Nossal and Harold Lecar",
+ title = "Introduction to Cell Biophysics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 387",
+ year = "1990",
+ ISBN = "0-201-19560-7",
+ LCCN = "QH581.5 .N67 1989",
+ bibdate = "Tue Dec 14 23:06:22 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{OKeefe:CP90,
+ author = "Richard O'Keefe",
+ title = "The Craft of Prolog",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xix + 387",
+ year = "1990",
+ ISBN = "0-262-15039-5",
+ LCCN = "QA76.73.P76 O38 1990",
+ bibdate = "Tue Dec 14 23:06:23 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Omondi:CAS94,
+ author = "Amos R. Omondi",
+ title = "Computer Arithmetic Systems\emdash Algorithms,
+ Architecture, Implementation",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "xvi + 520",
+ year = "1994",
+ ISBN = "0-13-334301-4",
+ LCCN = "QA76.9.C62 O46 1994",
+ bibdate = "Tue Oct 18 14:56:40 1994",
+ note = "Prepared with {\LaTeX}, using a style file provided by
+ the publisher. PostScript page proofs were prepared by
+ the author, and delivered to the publisher for the
+ final printing.",
+ price = "US\$40.00",
+}
+
+@Book{Orlando:FAS91,
+ author = "Terry P. Orlando and Kevin A. Delin",
+ title = "Foundations of Applied Superconductivity",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xx + 584",
+ year = "1991",
+ ISBN = "0-201-18323-4",
+ LCCN = "QC611.92 .O75 1991",
+ bibdate = "Tue Dec 14 23:06:24 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Orlando:LDA88,
+ author = "M. Orlando and G. Podda",
+ title = "Lineamenti di disegno automatico",
+ publisher = pub-CLUT,
+ address = pub-CLUT:adr,
+ year = "1988",
+ note = "Prepared with {\TeX} by Tecnograf.",
+ acknowledgement = ack-cb,
+}
+
+@Book{OShaughnessy:SC87,
+ author = "Douglas O'Shaughnessy",
+ title = "Speech Communications",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 568",
+ year = "1987",
+ ISBN = "0-201-16520-1",
+ LCCN = "P95.O74 1987",
+ bibdate = "Tue Dec 14 23:06:25 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Othmer:1997:CSM,
+ editor = "H. G. Othmer and F. R. Adler and M. A. Lewis and J. C.
+ Dallon",
+ booktitle = "Case Studies in Mathematical Modeling---Ecology,
+ Physiology, and Cell Biology",
+ title = "Case Studies in Mathematical Modeling---Ecology,
+ Physiology, and Cell Biology",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "viii + 411",
+ year = "1997",
+ ISBN = "0-13-574039-8",
+ LCCN = "QH541.15.M3C37 1997",
+ bibdate = "Tue Apr 13 07:12:35 1999",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+ price = "US\$41.00",
+ URL = "http://www.math.utah.edu/books/csmmepcb/index.html;
+ http://www.math.utah.edu/pub/tex/bib/csmmepcb.html;
+ http://www.phptr.com/",
+}
+
+@Book{Palmer:SCW89,
+ author = "Richard Palmer",
+ title = "A Supplementary Catalogue of Western Manuscripts in
+ the Library of the Wellcome Institute for the History
+ of Medicine: First Cumulative Supplement",
+ publisher = pub-WIHM,
+ address = pub-WIHM:adr,
+ year = "1989",
+ note = prep-latex # " PC{\TeX} and Computer Modern fonts, with
+ final output on an HP LaserJet II at 300dpi.",
+ acknowledgement = ack-dw,
+}
+
+@Book{Pao:APR89,
+ author = "Yoh-Han Pao",
+ title = "Adaptive Pattern Recognition and Neural Networks",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 309",
+ year = "1989",
+ ISBN = "0-201-12584-6",
+ LCCN = "TK7882.P3 P36 1989",
+ bibdate = "Tue Dec 14 23:06:26 1993",
+ note = prep-tex,
+ acknowledgement = ack-lmp # " and " # ack-mz,
+}
+
+@Book{Pardalos:CNO93,
+ editor = "Panos M. Pardalos",
+ title = "Complexity in Numerical Optimization",
+ publisher = pub-WORLD-SCI,
+ address = pub-WORLD-SCI:adr,
+ pages = "xiii + 511",
+ year = "1993",
+ ISBN = "981-02-1415-4",
+ LCCN = "QA 267.7 P37 1993",
+ bibdate = "Wed Sep 21 16:40:45 1994",
+ note = prep-tex,
+ acknowledgement = ack-nhfb,
+ email = "pardalos@deming.ise.ufl.edu",
+}
+
+@Book{Parker:PNA89,
+ author = "T. S. Parker and L. O. Chua",
+ title = "Practical Numerical Algorithms for Chaotic Systems",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xiv + 348",
+ year = "1989",
+ ISBN = "0-387-96689-7 (USA) and 3-540-96689-7 (Germany)",
+ LCCN = "Q172.5.C45 P37 1989",
+ bibdate = "Tue Dec 14 23:06:27 1993",
+ note = prep-latex,
+ acknowledgement = ack-cb,
+}
+
+@Book{Parks:ESP91,
+ author = "George Parks",
+ title = "Electrodynamics of Space Plasmas",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "ix + 538",
+ year = "1991",
+ ISBN = "0-201-50821-4",
+ LCCN = "QC809.P5 P37 1991",
+ bibdate = "Tue Dec 14 23:06:29 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Paul:RMM81,
+ author = "Richard P. Paul",
+ title = "Robot Manipulators: Mathematics, Programming and
+ Control",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "279",
+ year = "1981",
+ ISBN = "0-262-16082-X",
+ LCCN = "TS191.8 .P38",
+ bibdate = "Tue Dec 14 23:06:30 1993",
+ note = "Another early book set in plain {\TeX}.",
+ acknowledgement = ack-bkph,
+}
+
+@Book{Pavone:IIF92,
+ author = "Marco Pavone",
+ title = "Integrali impropri e funzioni integrali (Improper
+ integrals and integral functions): Esercizi e
+ complementi di Analisi Matematica {I} (English:
+ Exercises and complements to Mathematical Analysis
+ {I})",
+ publisher = pub-ARACNE,
+ address = pub-ARACNE:adr,
+ year = "1992",
+ ISBN = "88-7999-000-4",
+ bibdate = "Sat Jan 2 10:19:32 1993",
+ note = prep-latex # " The final formatting was done by
+ \TeX{\sc mat}, Via Luigi Chiozza, 31a/b, 00133 Roma,
+ Italy.",
+ acknowledgement = ack-cb,
+}
+
+@Book{Pavone:TES93,
+ author = "Marco Pavone",
+ title = "Temi di esame svolti di analisi amtematica {I}
+ ({English}: Solved examination problems in mathematical
+ analysis {I})",
+ publisher = pub-ARACNE,
+ address = pub-ARACNE:adr,
+ year = "1993",
+ ISBN = "88-7999-002-0",
+ bibdate = "Sat Aug 27 11:05:50 1994",
+ note = prep-latex # " The final formatting was done by
+ \TeX{\sc mat}, Via Luigi Chiozza, 31a/b, 00133 Roma,
+ Italy.",
+}
+
+@Booklet{PDG:PPDB90,
+ editor = "{Particle Data Group}",
+ key = "PDG:PPDB90",
+ title = "Particle Properties Data Booklet",
+ publisher = pub-ESPNH,
+ address = pub-ESPNH:adr,
+ month = apr,
+ year = "1990",
+ note = "Reprinted from Physics Letters B239.",
+ acknowledgement = ack-np,
+}
+
+@Book{Peitgen:CF92,
+ author = "Heinz-Otto Peitgen and Hartmut J{\"u}rgens and Dietmar
+ Saupe",
+ title = "Chaos and Fractals: New Frontiers of Science",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xvi + 984, with 686 illustrations, 40 in color",
+ year = "1992",
+ ISBN = "0-387-97903-4, 3-540-97903-4",
+ LCCN = "QA614.86 .P43 1992",
+ bibdate = "Wed Dec 15 08:05:28 1993",
+ note = prep-latex,
+ price = "US\$49",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Peitgen:CF93,
+ author = "Heinz-Otto Peitgen and Hartmut J{\"u}rgens and Dietmar
+ Saupe",
+ title = "Chaos and Fractals: New Frontiers of Science
+ (corrected second printing)",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xvi + 984, with 686 illustrations, 40 in color",
+ year = "1993",
+ ISBN = "0-387-97903-4, 3-540-97903-4",
+ LCCN = "QA614.86 .P43 1993",
+ bibdate = "Wed Dec 15 08:05:28 1993",
+ note = prep-latex,
+ price = "US\$49",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Perelson:MER91-9,
+ author = "Alan S. Perelson and Stuart A. Kauffman",
+ title = "Molecular Evolution on Rugged Landscapes: Proteins,
+ {RNA} and the Immune System",
+ volume = "9",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 309",
+ year = "1991",
+ ISBN = "0-201-52149-0 (hardcover), 0-201-52150-4 (paperback)",
+ LCCN = "QH325 .W67 1989",
+ bibdate = "Fri Jul 22 10:25:55 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Perelson:TI88-1,
+ author = "Alan S. Perelson",
+ title = "Theoretical Immunology",
+ volume = "1",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1988",
+ ISBN = "0-201-15688-1",
+ LCCN = "QR182.2.M36 T485 1987",
+ bibdate = "Tue Dec 14 23:06:46 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Perelson:TI88-2,
+ author = "Alan S. Perelson",
+ title = "Theoretical Immunology",
+ volume = "2",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1988",
+ ISBN = "0-201-15683-0",
+ LCCN = "QR182.2.M36 T485 1987",
+ bibdate = "Tue Dec 14 23:07:08 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Pertritskijj:VK92,
+ author = "Velemir Petritskijj",
+ title = "Veka krepostnojj (English: Serf of the Century)",
+ publisher = pub-UNK,
+ address = pub-UNK:adr,
+ pages = "54",
+ year = "1992",
+ bibdate = "Wed Jun 2 15:28:49 1993",
+ acknowledgement = ack-jr,
+}
+
+@Book{Petrov:RA92,
+ author = "Viktor Petrov",
+ title = "Russkie v Amerike: 20 Vek. (Russians in America: 20th
+ Century)",
+ publisher = pub-RAHS,
+ address = pub-RAHS:adr,
+ pages = "149",
+ year = "1992",
+ ISBN = "0-911971-67-X",
+ LCCN = "E184.R9 P475 1992",
+ bibdate = "Tue Dec 14 23:07:18 1993",
+}
+
+@Book{Piatetski:KDD91,
+ editor = "Gregory Piatetski-Shapiro and William Frawley",
+ title = "Knowledge Discovery in Databases",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xii + 525",
+ year = "1991",
+ ISBN = "0-262-66070-9 (paper)",
+ LCCN = "Q325.5 .K68 1991",
+ bibdate = "Tue Dec 14 23:07:20 1993",
+ note = prep-latex,
+ acknowledgement = ack-te,
+}
+
+@Book{Piccolo:TBT92,
+ author = "E. Piccolo",
+ title = "Tecniche di base e tecniche avanzate per l'uso del
+ personal computer (Base and advanced techniques for
+ using personal computers)",
+ publisher = pub-CLUT,
+ address = pub-CLUT:adr,
+ year = "1992",
+ note = "Set in LaTeX with a customized style named {\tt
+ clutful} as mentioned in the back of the titlepage.
+ Uses the {\tt 12pt} option with standard Computer
+ Modern type faces. The illustrations are mainly hard
+ copies of computer screens reduced and pasted in place.
+ {\verb|\tt|} type face is used a lot for reproducing
+ computer programs.",
+ acknowledgement = ack-cb,
+}
+
+@Book{Pieprzyk:DHA93,
+ author = "Josef Pieprzyk and Babak Sadeghiyan",
+ title = "Design of Hashing Algorithms",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xiii + 194",
+ year = "1993",
+ ISBN = "0-387-57500-6",
+ LCCN = "QA76.9.H36 P53 1993",
+ bibdate = "Wed Aug 10 13:40:35 1994",
+ note = prep-latex,
+ series = "LNCS 756",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Pierce:BCT91,
+ author = "Benjamin Pierce",
+ title = "Basic Category Theory for Computer Scientists",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiii + 100",
+ year = "1991",
+ ISBN = "0-262-66071-7",
+ LCCN = "QA76.9.M35 P54 1991",
+ bibdate = "Tue Dec 14 23:07:22 1993",
+ note = prep-latex,
+ acknowledgement = ack-te,
+}
+
+@Book{Piff:DM91,
+ author = "Mike Piff",
+ title = "Discrete Mathematics\emdash An introduction for
+ software engineers",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "xi + 317",
+ year = "1991",
+ ISBN = "0-521-38475-3 (hardcover), 0-521-38622-5 (paperback)",
+ LCCN = "QA76.9.M35 P544 1991",
+ bibdate = "Fri Jul 22 10:25:58 1994",
+ note = "Prepared with {\LaTeX}, with some help from plain
+ {\TeX}.",
+ acknowledgement = ack-mjp,
+}
+
+@Book{Pozar:ME90,
+ author = "David M. Pozar",
+ title = "Microwave Engineering",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 726",
+ year = "1990",
+ ISBN = "0-201-50418-9",
+ LCCN = "TK7876 .P69 1990",
+ bibdate = "Tue Dec 14 23:07:25 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Press:NRA86,
+ author = "William H. Press and Brian P. Flannery and Saul A.
+ Teukolsky and William T. Vetterling",
+ title = "Numerical Recipes\emdash The Art of Scientific
+ Computing",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "xx + 818",
+ year = "1986",
+ ISBN = "0-521-30811-9",
+ LCCN = "QA297 .N866 1986",
+ bibdate = "Tue Dec 14 23:07:26 1993",
+ note = "Originally for FORTRAN and then rewritten for a C
+ version, {\em Numerical Recipes in C\/}; also example
+ books in Fortran, Pascal and C, making a total of five
+ books with ``Typeset in \TeX'' on the back of the title
+ page",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Book{Raibert:LR86,
+ author = "Mark X. Raibert",
+ title = "Legged Robots That Balance",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiii + 233",
+ year = "1986",
+ ISBN = "0-262-18117-7",
+ LCCN = "TJ211 .R351 1986",
+ bibdate = "Tue Dec 14 23:07:28 1993",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Raman:1998:AST,
+ author = "T. V. Raman",
+ title = "Audio system for technical readings",
+ volume = "1410",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xvi + 121",
+ year = "1998",
+ ISBN = "3-540-65515-8",
+ LCCN = "QA267.A1 L43 no.1410",
+ bibdate = "Mon May 3 11:00:13 MDT 1999",
+ note = "Originally presented as the author's thesis (Ph.
+ D.--Cornell University, 1994).",
+ series = ser-LNCS,
+ acknowledgement = ack-nhfb,
+ keywords = "user interfaces (computer systems); human-computer
+ interaction; computer sound processing",
+}
+
+@Book{Ramond:FTM90,
+ author = "Pierre Ramond",
+ title = "Field Theory: {A} Modern Primer",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xix + 329",
+ year = "1990",
+ ISBN = "0-201-54611-6",
+ LCCN = "QC174.45 .R35 1990",
+ bibdate = "Tue Dec 14 23:07:29 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Rashid:CMU91,
+ editor = "Richard Rashid",
+ title = "{CMU} Computer Science; {A} 25th Anniversary
+ Commemorative",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxxii + 519",
+ year = "1991",
+ ISBN = "0-201-52899-1",
+ LCCN = "QA75.5 .C548 1990",
+ bibdate = "Tue Dec 14 23:07:35 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Raudsepp:GK92,
+ author = "Jaanus Raudsepp",
+ title = "Gogol' v {KGB}: a documentary novel",
+ publisher = pub-EFFECT,
+ address = pub-EFFECT:adr,
+ pages = "141",
+ year = "1992",
+ ISBN = "0-911971-72-6",
+ LCCN = "PG3485.5.A93 G64 1992",
+ bibdate = "Tue Dec 14 23:07:38 1993",
+}
+
+@Book{Raymond:NHD91,
+ editor = "Eric Raymond and {with assistance and illustrations by
+ Guy L. Steele Jr.}",
+ title = "The New Hacker's Dictionary",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xx + 433",
+ year = "1991",
+ ISBN = "0-262-18145-2 (hardcover), 0-262-68069-6 (paperback)",
+ LCCN = "PN6231.E4 H3 1991",
+ bibdate = "Fri Jul 22 10:26:03 1994",
+ note = "This book was typeset by E.S.R. using {\TeX} 3.0 and a
+ customized version of the {\TeX}info package;
+ eleventh-hour assistance was provided by Mark Hoover at
+ Digital Graphics, Inc. DVI-to-PS conversion was done
+ using Y\&Y's DVIPSONE. The camera-ready copy was
+ generated off a L300 phototypesetter by Chiron, Inc.
+ The running text was set in Adobe's version of
+ Palatino. This book corresponds to version 2.9.6 of the
+ on-line Jargon File.",
+ acknowledgement = ack-te # " and " # ack-gs,
+}
+
+@Book{Reilly:AIA92,
+ author = "Paul Reilly and Sebastian Rahtz",
+ title = "Archaeology and the Information Age",
+ publisher = pub-ROUTLEDGE,
+ address = pub-ROUTLEDGE:adr,
+ pages = "xxiv + 395",
+ year = "1992",
+ ISBN = "0-415-07858-X",
+ LCCN = "CC80.4 .A73 1992",
+ bibdate = "Tue Dec 14 23:07:44 1993",
+ note = prep-latex,
+ acknowledgement = ack-sr,
+}
+
+@Book{Ricco:ICI91,
+ author = "B. Ricc{\'o} and F. Fantini and P. Brambilla",
+ title = "Introduzione ai circuiti integrati digitali",
+ publisher = pub-ZT,
+ address = pub-ZT:adr,
+ pages = "viii + 445",
+ year = "1991",
+ ISBN = "88-08-07838-8",
+ note = "The book has been composed in {\LaTeX} with minor
+ changes to the standard style `book.sty', specifically
+ with new headers and new `empty' pagestyle for
+ typesetting the initial page of each chapter. The book
+ has been set with the 12pt option, laser-printed with a
+ resolution of 300 dpi, and reproduced with no
+ reduction. The characters are the standard ones of the
+ Computern Modern series. The whole work was done by the
+ authors, and the publisher limited himself to
+ reproducing the laser-printed sheets received from the
+ authors, and to preparing the titlepage and the
+ cover.",
+ acknowledgement = ack-cb,
+}
+
+@Book{Rich:PA90,
+ author = "Charles Rich and Richard C. Waters",
+ title = "The Programmer's Apprentice",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 238",
+ year = "1990",
+ ISBN = "0-201-52425-2",
+ LCCN = "QA76.76.D47 R53 1990",
+ bibdate = "Tue Dec 14 23:07:45 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Richards:CFL89,
+ author = "Tom Richards",
+ title = "Clausal Form Logic",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 359",
+ year = "1989",
+ ISBN = "0-201-12920-5",
+ LCCN = "QA76.76.E95 R531 1989",
+ bibdate = "Tue Dec 14 23:07:46 1993",
+ note = prep-tex,
+ acknowledgement = ack-mc,
+}
+
+@Book{Richardson:TCM88,
+ author = "Robert C. Richardson and Eric N. Smith",
+ title = "Techniques in Condensed Matter: Physics at Low
+ Temperatures",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 338",
+ year = "1988",
+ ISBN = "0-201-15002-6",
+ LCCN = "QC173.4.C65 E97 1988",
+ bibdate = "Tue Dec 14 23:07:47 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Robbins:CXM89,
+ author = "Kay A. Robbins and Steven Robbins",
+ title = "The {Cray X-MP\slash Model} 24",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "vi + 165",
+ year = "1989",
+ ISBN = "0-387-97089-4, 3-540-97089-4",
+ LCCN = "QA76.8 C72 R63 1989",
+ bibdate = "Fri Mar 01 09:41:45 1996",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Robertson:EL91,
+ author = "David Robertson and Alan Bundy and Robert Muetzelfeldt
+ and Mandy Haggith and Michael Uschold",
+ title = "Eco-Logic",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "243",
+ year = "1991",
+ ISBN = "0-262-18143-6",
+ LCCN = "QH541.15.S5 E26 1991",
+ bibdate = "Tue Dec 14 23:07:48 1993",
+ note = prep-latex,
+ acknowledgement = ack-te,
+}
+
+@Book{Robertson:1995:EMM,
+ author = "John S. Robertson",
+ title = "Engineering mathematics with {Mathematica}",
+ publisher = pub-MCGRAW-HILL,
+ address = pub-MCGRAW-HILL:adr,
+ pages = "xiv + 288",
+ year = "1995",
+ ISBN = "0-07-053171-4",
+ LCCN = "TA345.R55 1995",
+ bibdate = "Sat Apr 06 17:33:15 1996",
+ series = "International series in pure and applied mathematics",
+ acknowledgement = ack-nhfb,
+ keywords = "COMPUTER PROGRAMS; DATA PROCESSING; ENGINEERING;
+ Engineering --- Mathematics; Engineering mathematics
+ --- Data processing; Mathematica (Computer file);
+ MATHEMATICS; Mathematics --- Data processing",
+ note = prep-latex,
+}
+
+@Book{Rogers:PEC85,
+ author = "David F. Rogers",
+ title = "Procedural Elements for Computer Graphics",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xiii + 433",
+ year = "1985",
+ ISBN = "0-07-053534-5",
+ LCCN = "T385 .R631 1985",
+ bibdate = "Tue Dec 14 23:07:49 1993",
+ price = "US\$19.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Rosbach:U90,
+ author = "Johan Hammond Rosbach",
+ title = "Unumane (Single-handedly)",
+ publisher = pub-EF,
+ address = pub-EF:adr,
+ year = "1990",
+ ISBN = "82-90006-09-8",
+ note = prep-latex # " This is a novel in Esperanto.",
+ acknowledgement = ack-dfl,
+}
+
+@Book{Rose:SB91,
+ author = "Marshall T. Rose",
+ title = "The Simple Book",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "xxix + 347",
+ year = "1991",
+ ISBN = "0-13-812611-9",
+ LCCN = "TK5105.5.R68 1991",
+ bibdate = "Tue Dec 14 23:07:50 1993",
+}
+
+@Book{Sabot:PM88,
+ author = "Gary Sabot",
+ title = "The Paralation Model",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "x + 238",
+ year = "1988",
+ ISBN = "0-262-19277-2",
+ LCCN = "QA76.6 .S2161 1988",
+ bibdate = "Tue Dec 14 23:07:51 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Sadiku:NTE92,
+ author = "Matthew N. O. Sadiku",
+ title = "Numerical Techniques in Electromagnetics",
+ publisher = pub-CRC,
+ address = pub-CRC:adr,
+ pages = "xviii + 690",
+ year = "1992",
+ ISBN = "0-8493-4232-5",
+ LCCN = "QC760 .S24 1992",
+ bibdate = "Sun Jul 10 01:19:44 1994",
+ note = prep-amstex,
+ acknowledgement = ack-fl,
+}
+
+@Book{Salomon:1998:DCC,
+ author = "David Salomon",
+ title = "Data Compression: The Complete Reference",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xx + 427",
+ year = "1998",
+ ISBN = "0-387-98280-9",
+ LCCN = "QA76.9.D33S25 1997",
+ bibdate = "Fri Sep 10 09:21:56 1999",
+ price = "US\$39.95",
+ URL = "http://www.ecs.csun.edu/~dxs/DCadvertis/DcompAd.html;
+ http://www.booksbydavidsalomon.com/",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Salomon:2000:DCC,
+ author = "David Salomon",
+ title = "Data Compression: The Complete Reference",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ edition = "Second",
+ pages = "xvi + 823",
+ year = "2000",
+ ISBN = "0-387-95045-1",
+ LCCN = "QA76.9.D33 S25 2000",
+ bibdate = "Mon Oct 16 05:47:11 2000",
+ price = "US\$39.95",
+ URL = "http://www.ecs.csun.edu/~dxs/DCadvertis/Dcomp2Ad.html;
+ http://www.booksbydavidsalomon.com/",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Salomon:1999:CGG,
+ author = "David Salomon",
+ title = "Computer Graphics and Geometric Modeling",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xviii + 851",
+ year = "1999",
+ ISBN = "0-387-98682-0",
+ LCCN = "T385 S243 1999",
+ bibdate = "Fri Sep 10 08:53:12 1999",
+ URL = "http://www.ecs.csun.edu/~dxs/CGGMadvertis/CGad.html;
+ http://www.booksbydavidsalomon.com/",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Salomon:2001:GDC,
+ author = "David Salomon",
+ title = "A guide to data compression methods",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xii + 295",
+ year = "2001",
+ ISBN = "0-387-95260-8",
+ LCCN = "QA76.9.D33 S28 2001",
+ bibdate = "Tue Mar 12 16:09:14 2002",
+ URL = "http://www.booksbydavidsalomon.com/",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Salomon:2003:DPS,
+ author = "David Salomon",
+ title = "Data Privacy and Security",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xiv + 465",
+ year = "2003",
+ ISBN = "0-387-00311-8",
+ LCCN = "QA76.9.A25 S265 2003",
+ bibdate = "Mon Jun 16 18:35:35 2003",
+ price = "US\$59.95",
+ URL = "http://www.booksbydavidsalomon.com/",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Sanchez-Mondragon:LMO86,
+ editor = "J. S{\'a}nchez-Mondrag{\'o}n and K. B. Wolf",
+ title = "Lie Methods in Optics",
+ volume = "250",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xiv + 247",
+ year = "1986",
+ ISBN = "0-387-16471-5",
+ LCCN = "QC355.2 .L54 1985",
+ bibdate = "Tue Dec 14 23:07:53 1993",
+ price = "DM49.00",
+ series = "Lecture Notes in Physics",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Savi:CET91,
+ author = "P. Savi and G. Vecchi",
+ title = "Campi elettromagnetici, Temi d'esame svolti",
+ publisher = pub-CLUT,
+ address = pub-CLUT:adr,
+ year = "1991",
+ note = prep-latex,
+ acknowledgement = ack-cb,
+}
+
+@Book{Scharf:FCE90,
+ author = "Louis L. Scharf and Richard T. Behrens",
+ title = "A First Course in Electrical and Computer Engineering
+ with {MATLAB}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 269",
+ year = "1990",
+ ISBN = "0-201-53472-X",
+ LCCN = "TK168 .S34 1990",
+ bibdate = "Thu Dec 16 09:40:02 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Scharf:SSP91,
+ author = "Louis L. Scharf",
+ title = "Statistical Signal Processing: Detection, Estimation,
+ and Time Series Analysis",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 524",
+ year = "1991",
+ ISBN = "0-201-19038-9",
+ LCCN = "TK5102.5 .S3528 1991",
+ bibdate = "Tue Dec 14 23:07:54 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Scheck:MM91,
+ author = "Florian Scheck and Rainer Sch{\"o}pf",
+ title = "Mechanik-Manual",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ year = "1989",
+ ISBN = "3-540-51211-X",
+ note = prep-latex # " Final copy prepared on a 300dpi printer,
+ then photoreduced.",
+}
+
+@Book{Schmueser:FGE91,
+ author = "Peter Schm{\"u}ser",
+ title = "Feynman-Graphen und Eichtheorien f{\"u}r
+ Experimentalphysiker",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "vi + 217",
+ year = "1988",
+ ISBN = "3-540-18797-9",
+ LCCN = "QC794.6.F4 S35 1988",
+ bibdate = "Tue Dec 14 23:07:55 1993",
+ acknowledgement = ack-rs,
+}
+
+@Book{Sedgewick:A83,
+ author = "Robert Sedgewick",
+ title = "Algorithms",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "viii + 551",
+ year = "1983",
+ ISBN = "0-201-06672-6",
+ LCCN = "QA76.6 .S435 1983",
+ bibdate = "Tue Dec 14 23:07:55 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Sedgewick:A88,
+ author = "Robert Sedgewick",
+ title = "Algorithms",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xii + 657",
+ year = "1988",
+ ISBN = "0-201-06673-4",
+ LCCN = "QA76.6 .S435 1988",
+ bibdate = "Tue Dec 14 23:07:56 1993",
+ note = prep-tex,
+ acknowledgement = ack-nhfb # " and " # ack-mz,
+}
+
+@Book{Sedgewick:AC90,
+ author = "Robert Sedgewick",
+ title = "Algorithms in {C}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 657",
+ year = "1990",
+ ISBN = "0-201-51425-7",
+ LCCN = "QA76.73.C15 S43 1990",
+ bibdate = "Tue Dec 14 23:07:57 1993",
+ note = prep-tex,
+ acknowledgement = ack-nhfb # " and " # ack-mz,
+}
+
+@Book{Sehlinger:1992:UGV,
+ author = "Bob Sehlinger",
+ title = "The unofficial guide to {Las Vegas}",
+ publisher = pub-PH-TRAVEL,
+ address = pub-PH-TRAVEL:adr,
+ year = "1992",
+ ISBN = "0-13-950833-3",
+ LCCN = "F849.L35 S44 1992",
+ acknowledgement = ack-bkph,
+ note = prep-tex # " Typesetting by Tseng Information Systems,
+ 621 William Vickers Avenue, Durham, NC 27701, USA.",
+ pages = "xii + 495",
+ price = "US\$12.00",
+ bibdate = "Tue Sep 16 11:44:53 1997",
+}
+
+@Book{Sexl:P91,
+ author = "Roman Sexl and Helmut Kuehnelt and Alfred Pflug and
+ Helga Stadler",
+ title = "Physik 3",
+ publisher = pub-HPT,
+ address = pub-HPT:adr,
+ year = "1991",
+ ISBN = "3-209-01191-5",
+ note = "Textbook for high-school physics, grade 7. The whole
+ book has been typeset by {\TeX}.",
+ acknowledgement = ack-nw,
+}
+
+@Book{Sharp:SCA90,
+ author = "R. Y. Sharp",
+ title = "Steps in Commutative Algebra",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "xi + 321",
+ year = "1990",
+ ISBN = "0-521-39338-8 (hardcover), 0-521-39732-4 (paperback)",
+ LCCN = "QA251.3 .S53 1990",
+ bibdate = "Fri Jul 22 10:26:05 1994",
+ note = prep-latex,
+ series = "London Mathematical Society Student Texts 19",
+ acknowledgement = ack-mjp,
+}
+
+@Book{Sharples:CT89,
+ author = "Mike Sharples and David Hogg and Chris Hutchison and
+ Steve Torrance and David Young.",
+ title = "Computers and Thought",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xxix + 401",
+ year = "1989",
+ ISBN = "0-262-19285-3",
+ LCCN = "Q335 .C57 1989",
+ bibdate = "Tue Dec 14 23:07:59 1993",
+ acknowledgement = ack-te,
+}
+
+@Article{Shein:1992:BRB,
+ author = "Barry Shein",
+ title = "Book Review: {3:16 Bible Texts Illuminated}",
+ journal = j-LOGIN,
+ volume = "17",
+ number = "1",
+ pages = "31--??",
+ month = jan # "\slash " # feb,
+ year = "1992",
+ ISSN = "1044-6397",
+ bibdate = "Tue Feb 20 15:42:13 MST 1996",
+ bibsource = "ftp://ftp.uu.net/library/bibliography",
+ affiliation = "Software Tool \& Die",
+ OPTcoden = "????",
+}
+
+@Book{Siebert:CSS85,
+ author = "William McC. Siebert",
+ title = "Circuits, Signals, and Systems",
+ publisher = pub-MIT # " and " # pub-MH,
+ address = pub-MIT:adr,
+ pages = "xvi + 651",
+ year = "1986",
+ ISBN = "0-262-19229-2 (MIT Press) and 0-07-057290-9
+ (McGraw-Hill)",
+ LCCN = "TK454 .S57 1986",
+ bibdate = "Tue Dec 14 23:08:02 1993",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Siemens:ENM87,
+ author = "Phillip J. Siemens and Aksel S. Jensen",
+ title = "Elements of the Nuclei: Many-Body Physics with the
+ Strong Interaction",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 369",
+ year = "1987",
+ ISBN = "0-201-15572-9",
+ LCCN = "QC793.3.S8 S541 1987",
+ bibdate = "Tue Dec 14 23:08:04 1993",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Sigler:2002:FLA,
+ author = "L. E. (Laurence E.) Sigler",
+ title = "{Fibonacci}'s Liber Abaci: {A} Translation into Modern
+ {English} of {Leonardo Pisano}'s {Book of
+ Calculation}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "viii + 636",
+ year = "2002",
+ ISBN = "0-387-95419-8",
+ LCCN = "QA32 .F4713 2002",
+ bibdate = "Tue Jun 10 11:44:26 2003",
+ note = prep-tex,
+ price = "US\$99.00",
+ series = "Sources and studies in the history of mathematics and
+ physical sciences",
+ acknowledgement = ack-nhfb,
+ annote = "First English of the original Latin, 800 years later.
+ This book introduced to Europe the Hindu numerals 0
+ through 9, the word zero, the notion of an algorithm
+ (named after the Persian scholar Abu 'Abd Allah
+ Muhammad ibn Musa al-Khwarizmi (ca. 780--850)), and the
+ subject of algebra, which comes from the title of
+ al-Khwarizmi's book, {\em Hisab Al-Jabr wal Mugabalah}
+ ({\em Book of Calculations, Restoration and
+ Reduction\/}).",
+}
+
+@Book{Simmons:IFP89,
+ author = "Margaret Simmons and Ingrid Buch{\-}er and Rebecca
+ Koskela",
+ title = "Instrumentation for Future Parallel Computer Systems",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xx + 260",
+ year = "1989",
+ ISBN = "0-201-50390-5",
+ LCCN = "QA76.5 .I48751 1989",
+ bibdate = "Tue Dec 14 23:08:05 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Smith:IAP90,
+ author = "Stanley H. Smith",
+ title = "Investigations of the Attack on Pearl Harbor: Index to
+ Government Hearings",
+ volume = "3",
+ publisher = pub-GREENWOOD,
+ address = pub-GREENWOOD:adr,
+ pages = "ix + 250",
+ year = "1990",
+ ISBN = "0-313-26884-3",
+ LCCN = "D767.92 .I58 1990",
+ bibdate = "Tue Dec 14 23:08:07 1993",
+ series = "Bibliographies and Indexes In Military Studies",
+ acknowledgement = ack-tr,
+}
+
+@Book{Sokolsky:IUE89,
+ author = "Pierre V. Sokolsky",
+ title = "Introduction to Ultrahigh Energy Cosmic Ray Physics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvi + 208",
+ year = "1989",
+ ISBN = "0-201-17634-3",
+ LCCN = "QC485 .S53 1988",
+ bibdate = "Tue Dec 14 23:08:08 1993",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Sosinksij:KNM91,
+ author = "A. Sosinksij",
+ title = "Kak napisat' matematicheskuyu stat'yu po-anglijski
+ (How to prepare En{\-}glish-language mathematical
+ papers)",
+ publisher = "Sophus Lie Mathematical Center",
+ address = "Minsk, Byelorussia",
+ year = "1992",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Spector:ISS94,
+ author = "Phil Spector",
+ title = "An Introduction to {S} and {S-Plus}",
+ publisher = pub-DUXBURY,
+ address = pub-DUXBURY:adr,
+ pages = "xiii + 286",
+ year = "1994",
+ ISBN = "0-534-19866-X",
+ LCCN = "QA76.73.S15 S63 1994",
+ bibdate = "Wed Aug 10 13:40:49 1994",
+ price = "US\$28.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Springer:SAP89,
+ author = "George Springer and Daniel Friedman",
+ title = "Scheme and the Art of Programming",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xxiv + 595",
+ year = "1989",
+ ISBN = "0-262-19288-8",
+ LCCN = "QA76.6 .S6861 1989",
+ bibdate = "Tue Dec 14 23:08:09 1993",
+ acknowledgement = ack-te,
+}
+
+@Book{Steele:common-lisp-2,
+ author = "Guy L. {Steele Jr.}",
+ title = "Common Lisp\emdash The Language",
+ publisher = pub-DP # " and " # pub-PH,
+ address = pub-DP:adr # " and " # pub-PH:adr,
+ edition = "Second",
+ pages = "xxiii + 1029",
+ year = "1990",
+ ISBN = "1-55558-041-6 (paperback) and 1-55558-042-4
+ (hardcover) (Digital Press), 0-13-152414-3
+ (Prentice-Hall)",
+ LCCN = "QA76.73.L23 S73 1990",
+ bibdate = "Fri Jul 22 10:26:10 1994",
+ note = "Camera-ready copy for this book was created by the
+ author (using {\TeX}, {\LaTeX}, and {\TeX} macros
+ written by the author), proofed on an Apple LaserWriter
+ II, and printed on a Linotron 300 at Advanced Computer
+ Graphics. The text of the first edition was converted
+ from Scribe format to {\TeX} format by a throwaway
+ program written in Common Lisp. The diagrams in chapter
+ 12 were generated automatically as PostScript code (by
+ a program written in Common Lisp) and integrated into
+ the text by Textures, an implementation of {\TeX} by
+ Blue Sky Research for the Apple Macintosh computer. No
+ manual paste-up of any kind was required. The body type
+ is 10-point Times Roman. Chapter titles are in ITC Eras
+ Demi; running heads are in ITC Eras Book. The monospace
+ typeface used for program code in both displays and
+ running text is 8.5-point Letter Gothic Bold, somewhat
+ modified by the author through {\TeX} macros for
+ improved legibility. The accent grave, accent acute,
+ circumflex, and tilde characters are in 10-point Letter
+ Gothic Bold and adjusted vertically to match the height
+ of the 8.5-point characters. The hyphen was replaced by
+ an en dash. The equals sign is constructed of two em
+ dashes, one raised and one lowered, the better to match
+ the other relational characters. The sharp sign is
+ overstruck with two hyphens, one raised and one
+ lowered, to eliminate the vertical gap. Special
+ mathematical characters such as square-root signs are
+ in Computer Modern Math. The typefaces used in this
+ book were digitized by Adobe Systems Incorporated,
+ except for Computer Modern Math, which was designed by
+ Donald E. Knuth.",
+ price = "US\$38.95 (paperback), US\$44.95 (hardcover)",
+ acknowledgement = ack-gs,
+}
+
+@Book{Stephen:NND90,
+ author = "J. Stephen Judd",
+ title = "Neural Network Design and Complexity of Learning",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "150",
+ year = "1990",
+ ISBN = "0-262-10045-2",
+ LCCN = "QA76.5 .J83 1990",
+ bibdate = "Fri Jul 22 10:27:28 1994",
+ acknowledgement = ack-te,
+}
+
+@Book{Sterling:AP90,
+ author = "Leon Sterling and Ehud Shapiro",
+ title = "The Art of Prolog",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xxviii + 437",
+ year = "1986",
+ ISBN = "0-262-19250-0 (hardcover), 0-262-69105-1 (paperback)",
+ LCCN = "QA76.73.P76 S74 1986",
+ bibdate = "Fri Jul 22 10:27:48 1994",
+ acknowledgement = ack-te,
+}
+
+@Book{Sterling:PP90,
+ editor = "Leon Sterling",
+ title = "The Practice of Prolog",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "312",
+ year = "1990",
+ ISBN = "0-262-19301-9",
+ LCCN = "QA76.73.P76 P73 1990",
+ bibdate = "Fri Jul 22 10:29:12 1994",
+ acknowledgement = ack-te,
+}
+
+@Book{Stevick:FOE92,
+ author = "Robert D. Stevick",
+ title = "A Firstbook of Old English",
+ publisher = pub-KENKYUSHA,
+ address = pub-KENKYUSHA:adr,
+ year = "1992",
+ ISBN = "4-327-40104-8",
+ bibdate = "Fri Feb 19 17:13:14 1993",
+ acknowledgement = ack-tr,
+}
+
+@Book{Strack:GM89,
+ author = "Otto D. L. Strack",
+ title = "Groundwater Mechanics",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "xix + 732",
+ year = "1989",
+ ISBN = "0-13-365412-5",
+ LCCN = "TC176 .S77 1989",
+ bibdate = "Fri Jul 22 10:29:40 1994",
+ note = prep-tex,
+ acknowledgement = ack-pj,
+}
+
+@Book{Strogat:BLT92,
+ author = "Lew Strogat",
+ title = "Both Laughter and Tears: a Collection of Stories",
+ publisher = pub-EFFECT,
+ address = pub-EFFECT:adr,
+ year = "1992",
+ ISBN = "0-911971-69-6",
+}
+
+@Book{Stutz:2001:LCT,
+ author = "Michael Stutz",
+ title = "The {Linux} Cookbook: Tips and Techniques for Everyday
+ Use",
+ publisher = pub-LINUX-JOURNAL-PRESS,
+ address = pub-LINUX-JOURNAL-PRESS:adr,
+ pages = "396",
+ year = "2001",
+ ISBN = "1-886411-48-4",
+ LCCN = "QA76.76.O63 S788 2000",
+ bibdate = "Sat Mar 23 13:17:29 2002",
+ note = "Prepared with \TeX{}info.",
+ price = "US\$29.95",
+ URL = "http://dsl.org/cookbook/",
+ acknowledgement = ack-nhfb,
+ annote = "Although library catalogs show the publication year as
+ 2000, the book actually appeared in August 2001
+ (personal note from the author to NHFB).",
+}
+
+@Book{Sullivan:AII91,
+ editor = "Joseph W. Sullivan and Sherman W. Tyler",
+ title = "Architecture for Intelligent Interfaces",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 472",
+ year = "1991",
+ ISBN = "0-201-50305-0",
+ LCCN = "QA76.9.H85 I583 1991",
+ bibdate = "Fri Jul 22 10:30:27 1994",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Syzmanski:PFP91,
+ author = "Boleslaw K. Syzmanski",
+ title = "Parallel Functioning Programming Languages and
+ Implementation Techniques",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 414",
+ year = "1991",
+ ISBN = "0-201-52243-8",
+ LCCN = "QA76.642 .P37 1991",
+ bibdate = "Fri Jul 22 10:30:51 1994",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Tajima:CPP89,
+ author = "Toshiki Tajima",
+ title = "Computational Plasma Physics with Applications to
+ Fusion and Astrophysics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxii + 503",
+ year = "1989",
+ ISBN = "0-201-16411-6",
+ LCCN = "QC718 .T12 1989",
+ bibdate = "Fri Jul 22 10:31:26 1994",
+ note = prep-tex,
+ price = "US\$40.95",
+ acknowledgement = ack-mz,
+}
+
+@Book{Taylor:CAD91,
+ author = "Dean Taylor",
+ title = "Computer-Aided Design",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 492",
+ year = "1991",
+ ISBN = "0-201-16891-X",
+ LCCN = "TA174.T39 1992",
+ bibdate = "Fri Jul 22 10:31:52 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Tesanovic:FTC90,
+ editor = "Zlatko Tesanovic",
+ title = "Field Theories in Condensed Matter Physics: {A}
+ Workshop",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "viii + 208",
+ year = "1990",
+ ISBN = "0-201-50391-3",
+ LCCN = "QC173.4.C65 F54 1990",
+ bibdate = "Fri Jul 22 10:32:29 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Thisted:ESC88,
+ author = "Ronald A. Thisted",
+ title = "Elements of Statistical Computing: Numerical
+ Computation",
+ publisher = pub-CHAPMAN,
+ address = pub-CHAPMAN:adr,
+ pages = "427",
+ year = "1988",
+ ISBN = "0-412-01371-1",
+ LCCN = "QA276.4.T47 1988",
+ bibdate = "Thu Jul 21 22:28:52 1994",
+ note = prep-tex,
+ price = "US\$45.00",
+}
+
+@Book{Thomas:PAG88,
+ author = "Carol G. Thomas",
+ title = "Paths From Ancient Greece",
+ publisher = pub-BRILL,
+ address = pub-BRILL:adr,
+ pages = "206",
+ year = "1988",
+ ISBN = "90-04-08846-6",
+ LCCN = "CB245 .P336 1988",
+ bibdate = "Fri Jul 22 10:32:54 1994",
+ acknowledgement = ack-tr,
+}
+
+@Book{Thompson:TTF91,
+ author = "Simon Thompson",
+ title = "Type Theory and Functional Programming",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "v + 372",
+ year = "1991",
+ ISBN = "0-201-41667-0",
+ LCCN = "QA76.62 .T46 1991",
+ bibdate = "Fri Jul 22 10:33:23 1994",
+ note = "Prepared with {\LaTeX}, {\BibTeX}, and {\tt makeindex}
+ on Apple Macintosh SE/30 using {\TeX}tures, and on a
+ Sun 4. Source files provided to the publisher who
+ modified them to conform to their house style. Page
+ proofs made on laser printer by publisher.",
+ acknowledgement = ack-sjt,
+}
+
+@Book{Tick:PLP91,
+ author = "Evan Tick",
+ title = "Parallel Logic Programming",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "486",
+ year = "1991",
+ ISBN = "0-262-20087-2",
+ LCCN = "QA76.642 .T53 1991",
+ bibdate = "Fri Jul 22 10:33:56 1994",
+ note = prep-latex,
+ acknowledgement = ack-te,
+}
+
+@Periodical{tj-elek-vestnik,
+ key = "EV",
+ title = "Elektrotehni{\v{s}}ki Vestnik",
+ note = "Typeset with LaTeX on a Apple Macintosh II, with final
+ pages produced on a 300dpi Apple LaserWriter printer,
+ soon to be replaced by a PostScript phototypesetter.
+ Illustrations done by paste-up, but will soon be
+ handled electronically. Articles are published in
+ Slovenian, Serbo-Croatian, and English in Electrical
+ Engineering and Computer Science. Authors are
+ encouraged to submit manuscripts using the standard
+ {\LaTeX} article.sty file.",
+ acknowledgement = ack-fs,
+}
+
+@Periodical{tj-jcs,
+ key = "JCompSecurity",
+ title = "Journal of Computer Security",
+ publisher = pub-IOS,
+ address = pub-IOS:adr,
+ year = "1992",
+ note = "{\TeX} style files are available from the journal
+ editors.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-solstice,
+ key = "Solstice",
+ title = "Solstice: An Electronic Journal of Geography and
+ Mathematics",
+ publisher = "Institute of Mathematical Geography",
+ address = "2790 Briarcliff, Ann Arbor, MI 48105-1429, USA",
+ year = "1992",
+ ISBN = "1-877751-44-8; 1-877751-52-9; 1-877751-53-7",
+ ISSN = "1059-5325",
+ bibdate = "Tue Aug 16 12:15:03 1994",
+ acknowledgement = ack-bnb,
+ note-1 = "[These remarks are supplied by the Editor-in-Chief,
+ Sandra L. Arlinghaus]:
+
+ Printer: Digicopy, Corp., 858 Phoenix Dr., Ann Arbor,
+ MI 48108.
+
+ Frequency: Twice yearly, issued on astronomical
+ solstices (late June and late December). An effort is
+ made to have the transmission carry the time and date
+ stamp of the exact minute of the astronomical solstice
+ (sort like a first day cover marking for a stamp
+ collector).
+
+ The ISSN number was assigned by the Library of Congress
+ beginning with the winter issue, 1991.",
+ note-2 = "The rationale behind the ISBN assignment is as
+ follows. {\em Solstice\/} is also available in hard
+ copy (\$15.95) a year for those wishing it. The book
+ containing the full year's issues is given an ISBN. The
+ first number in the list is the number for the 1990
+ volume. The third number is the number for the 1991
+ volume. In addition, in the summer, single issues are
+ available. The second ISBN is the number for the single
+ summer 1991 issue.
+
+ Copyright: copyright is taken out on the hard copy.
+ Electronic files can be compared to the hard copy in a
+ library should a reader question whether or not a
+ document has been altered.
+
+ Here is some additional information.",
+ note-3 = "1. Reason for the name. Because geography and
+ mathematics have a history of mutual research
+ stimulation (Konigsberg bridge problem, four color
+ problem, \ldots), material from one discipline can shed
+ light on the other. Astronomical solstices are extreme
+ positions at which time northern and southern
+ hemispheres receive maximum and minimum daylight or
+ night. Between the solstices there is varying dominance
+ of day and night; so too, there is varying dominance of
+ mathematical and geographical interaction in articles
+ in Solstice. Of course, the extreme of a purely
+ geographical or a purely mathematical article is also
+ suitable for submission.
+
+ 2. Articles are refereed; the journal is
+ peer-reviewed.",
+ note-4 = "3. Members of the Editorial Board are listed below
+ (along with a brief notation of their affiliation):
+ Sandra L. Arlinghaus--Editor-in-Chief, Director, IMaGe.
+ William C. Arlinghaus, Professor and Chair, Dep't. of
+ Math. and C.S., Lawrence Technological University,
+ Southfield, MI Neal Brand, Professor, Dep't. of Math.
+ Univ. of North Texas. Kenneth H. Rosen, Mathematician,
+ Bell Labs. Michael Goodchild, Professor of Geography,
+ Univ. of California, Santa Barbara Daniel A. Griffith,
+ Professor of Geography, Syracuse University. Jonathan
+ D. Mayer, Professor of Geography, University of
+ Washington. John D. Nystuen, Professor of Geography and
+ Planning, Univ. of Michigan.
+
+ 4. List of content: [omitted]",
+ note-5 = "5. The journal is typeset using TeX. To gain
+ experience in publishing matters using TeX, it was very
+ helpful to me to be hired by the University of Chicago
+ Press to typeset, using TeX, a volume in their
+ ``Lecture Notes in Physics''--(Walter Welford's {\em
+ Useful Optics\/}--quite suitable, I think!). Generally,
+ {\em The TeXbook\/} is all that I need; once I
+ encountered a difficulty with some sort of `bold'
+ notation invented by an author. For that, a combination
+ of advice from a colleague in mathematics and from the
+ University of Michigan's Computing Center, helped me to
+ figure out a way to solve the problem.",
+ note-6 = "6. A number of the volumes in the IMaGe monograph
+ series are typeset using TeX. Monographs 9, 11, 12, 13
+ (Solstice hard copy for 1990), 14, and 15 (Solstice
+ hard copy for 1991) are TeX-ed. I typeset documents
+ using Plain TeX; the hard copy is obtained by uploading
+ the ASCII file into the University of Michigan's
+ mainframe and printing it out on their Xerox 9700
+ (series) machine. They have a number of them at various
+ sites across campus. The print quality is only 200 dpi,
+ so in that regard TeX-ed documents don't look as good
+ as they should--hence, difficulty in convincing
+ non-TeXers of its value. Every effort is made to get
+ hard copy right after a periodic maintenance of the
+ machines. Then photos are inserted (pasted
+ electronically) onto this hardcopy using a Xerox
+ DocuTech with its high resolution scanner.",
+ note-7 = "Copies are made from the master document stored,
+ temporarily at least, on one of the three 280 meg hard
+ drives in the DocuTech. We await the day when the files
+ can be downloaded from DocuTech hard drive onto a
+ floppy! What would be great of course is if Xerox would
+ make it so that a TeX file on a floppy could be
+ directly fed into the DocuTech--by-passing the
+ intermediate (conventional mainframe -- the DocuTech
+ functions as a mainframe) step.",
+ note-8 = "7. Copies of {\em Solstice\/} have been sent to {\em
+ Math. Reviews}. A letter was sent to the AMS, following
+ their statement in the September 1991 {\em Notices\/}
+ that there was no peer-reviewed online journal of
+ mathematics, informing them of {\em Solstice\/}'s
+ existence. There appears to be a great deal of
+ difficulty in archiving this sort of publication. The
+ earliest one I have found is Richard Zander's {\em
+ Flora Online\/}--he is Curator of Botany and the
+ Buffalo Museum of Science--this journal dates from
+ 1987. It is not a TeX-ed journal; it is peer-reviewed.
+ No doubt, though, you are aware of Michael
+ Strangelove's directory of electronic journals--think
+ he lists a subset that are TeX-ed. He's at the
+ University of Ottawa in the Department of Religious
+ Studies, I believe.",
+ note-9 = "8. Environmental issue--we see this as a sound manner
+ of document production; when hard copy is produced (to
+ suit demand--``just-in-time'' publishing) it is printed
+ on 100\% recycled paper with a large percentage of
+ fiber from post-consumer (20\% to 40\%, depending on
+ the lot) products. Obviously, the electronic
+ distribution of {\em Solstice}, free, across Bitnet and
+ Internet, is cheap and environmentally sensitive.
+
+ 9. Other media exposure of {\em Solstice\/}: {\sl
+ Science}, AAAS, 29 November, 1991, p. 1291; {\sl
+ Science News}, Jan. 25, 1992, p. 61. Contributed talk,
+ AMS, Baltimore, 1992--Abstract \#871-99-73, p. 145 {\sl
+ Abstracts of Papers Presented to The American
+ Mathematical Society\/} January 1992, Issue 79, Volume
+ 13, Number 1. {\sl Newsletter\/} of the Association of
+ American Geographers, June, 1992.",
+}
+
+@Book{Tondo:MM92,
+ author = "Clovis L. Tondo and Andrew Nathanson and Eden Yount",
+ title = "Mastering {MAKE}\emdash {A} Guide to Building Programs
+ on {DOS} and {UNIX} Systems",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "x + 143",
+ year = "1992",
+ ISBN = "0-13-554619-2",
+ LCCN = "QA76.76.U84 T66 1992",
+ bibdate = "Fri Jul 22 10:34:17 1994",
+ note = prep-latex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Tondo:MM94,
+ author = "Clovis L. Tondo and Andrew Nathanson and Eden Yount",
+ title = "Mastering {Make}\emdash {A} Guide to Building Programs
+ on {DOS}, {OS/2}, and {UNIX} Systems",
+ publisher = pub-PHPTR,
+ address = pub-PHPTR:adr,
+ edition = "Second",
+ pages = "xvi + 310",
+ year = "1994",
+ ISBN = "0-13-121906-5",
+ LCCN = "QA76.76.U84T65 1994",
+ bibdate = "Fri Jun 06 07:59:55 1997",
+ note = prep-latex,
+ price = "US\$22.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Torchinsky:RV88,
+ author = "Alberto Torchinsky",
+ title = "Real Variables",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 403",
+ year = "1988",
+ ISBN = "0-201-15675-X",
+ LCCN = "QA331.5.T588 1988",
+ bibdate = "Fri Jul 22 10:34:54 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Traub:IBC88,
+ author = "J. F. Traub and G. Wasilkowski and H.
+ Wo{\'z}{\-}ni{\-}a{\-}kow{\-}ski",
+ title = "In{\-}for{\-}ma{\-}tion-Based Complexity",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "xiii + 523",
+ year = "1988",
+ ISBN = "0-12-697545-0",
+ LCCN = "QA267 .T731 1988",
+ note = "This book was prepared with \AmSTeX{}.",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Troen:AEE90,
+ author = "Ib Troen and Erik Lundtang Petersen",
+ title = "El Atlas {E\'olico} Europeo",
+ publisher = pub-RISO,
+ address = pub-RISO:adr,
+ pages = "260",
+ year = "1990",
+ ISBN = "87-550-1638-3",
+ note = "Typeset with Bitstream fonts on a Canon Series III
+ 300-dpi laser printer, with extensive graphics and data
+ tables; the data files are available on IBM PC
+ diskettes.",
+ acknowledgement = ack-ngm,
+}
+
+@Book{Troen:AEE91,
+ author = "Ib Troen and Erik Lundtang Petersen",
+ title = "Atlas {\'E}olien Europ{\'e}en",
+ publisher = pub-RISO,
+ address = pub-RISO:adr,
+ pages = "278",
+ year = "1991",
+ ISBN = "87-550-1637-5",
+ note = "Typeset with Bitstream fonts on a Canon Series III
+ 300-dpi laser printer, with extensive graphics and data
+ tables; the data files are available on IBM PC
+ diskettes.",
+ acknowledgement = ack-ngm,
+}
+
+@Book{Troen:AEV90,
+ author = "Ib Troen and Erik Lundtang Petersen",
+ title = "Atlante Europeo del Vento",
+ publisher = pub-RISO,
+ address = pub-RISO:adr,
+ pages = "264",
+ year = "1990",
+ ISBN = "87-550-1639-1",
+ note = "Typeset with Bitstream fonts on a Canon Series III
+ 300-dpi laser printer, with extensive graphics and data
+ tables; the data files are available on IBM PC
+ diskettes.",
+ acknowledgement = ack-ngm,
+}
+
+@Book{Troen:EW90,
+ author = "Ib Troen and Erik Lundtang Petersen",
+ title = "Europ{\"a}ischer Windatlas",
+ publisher = pub-RISO,
+ address = pub-RISO:adr,
+ pages = "240",
+ year = "1990",
+ ISBN = "87-550-1636-7",
+ note = "Typeset with Bitstream fonts on a Canon Series III
+ 300-dpi laser printer, with extensive graphics and data
+ tables; the data files are available on IBM PC
+ diskettes.",
+ acknowledgement = ack-ngm,
+}
+
+@Book{Turner:RTF90,
+ editor = "David A. Turner",
+ title = "Research Topics in Functional Programming",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 374",
+ year = "1990",
+ ISBN = "0-201-17236-4",
+ LCCN = "QA76.62 .R47 1990",
+ bibdate = "Fri Jul 22 10:36:18 1994",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Periodical{TVguide,
+ key = "TVG",
+ title = "{TV Guide} magazine",
+ year = "1987",
+ note = "Portions of this magazine (20 million issues weekly)
+ are set with {\TeX}.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Ulichney:DH87,
+ author = "Robert Ulichney",
+ title = "Digital Halftoning",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiv + 362",
+ year = "1987",
+ ISBN = "0-262-21009-6",
+ LCCN = "T385 .U451 1987",
+ bibdate = "Fri Jul 22 10:36:40 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Periodical{UMAP,
+ editor = "Paul J. Campbell {(Beloit College, 700 College St.,
+ Beloit, WI 53511-5595, USA)}",
+ key = "UMAP",
+ title = j-UMAP,
+ address = j-UMAP:adr,
+ ISSN = "0197-3622",
+ note = prep-latex # " (TeXtures on Apple Macintosh II).
+ Publication with {\LaTeX} began with volume 11 (1990).
+ The Journal is a quarterly (with annual supplement
+ volume) devoted to undergraduate mathematics and its
+ applications, particularly mathematical modeling. It
+ features both articles and instructional modules. A
+ {\LaTeX} style file is available from the editor.",
+}
+
+@Book{VanDam:FPP89,
+ editor = "James W. {Van Dam}",
+ title = "From Particles to Plasmas: Lectures Honoring Marshall
+ {N}. Rosenbluth",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 368",
+ year = "1989",
+ ISBN = "0-201-15680-6",
+ LCCN = "QC717.6 .F76 1987",
+ bibdate = "Fri Jul 22 10:37:07 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{vanHerwijnen:PS90,
+ author = "Eric van Herwijnen",
+ title = "Practical {SGML}",
+ publisher = pub-KLUWER,
+ address = pub-KLUWER:adr,
+ pages = "xviii + 307",
+ year = "1990",
+ ISBN = "0-7923-0635-X",
+ LCCN = "QA76.73.S44 V36 1990",
+ bibdate = "Fri Jul 22 10:37:37 1994",
+ note = "I have not yet seen the final version; it might not be
+ in {\TeX/\LaTeX}.",
+ acknowledgement = ack-mc,
+}
+
+@Book{vanHerwijnen:PS94,
+ author = "Eric van Herwijnen",
+ title = "Practical {SGML}",
+ publisher = pub-KLUWER,
+ address = pub-KLUWER:adr,
+ edition = "Second",
+ pages = "xx + 288",
+ year = "1994",
+ ISBN = "0-7923-9434-8",
+ LCCN = "QA76.73.S44 V36 1994",
+ bibdate = "Wed Aug 10 21:01:53 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vanLint:CC92,
+ author = "J. H. van Lint and R. M. Watson",
+ title = "A Course in Combinatorics",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "ix + 530",
+ year = "1992",
+ ISBN = "0-521-41057-6 (hardcover), 0-521-42260-4 (paperback)",
+ LCCN = "QA164 .L56 1992",
+ bibdate = "Thu Mar 24 09:21:03 1994",
+ note = prep-amstex,
+ acknowledgement = ack-nhfb,
+}
+
+@Book{VanLoan:CFF92,
+ author = "Charles F. Van Loan",
+ title = "Computational Frameworks for the Fast Fourier
+ Transform",
+ publisher = pub-SIAM,
+ address = pub-SIAM:adr,
+ pages = "xiii + 273",
+ year = "1992",
+ ISBN = "0-89871-285-8",
+ LCCN = "QA403.5 .V35 1992",
+ bibdate = "Fri Jul 22 10:38:10 1994",
+ note = prep-latex # " Used {\TeX}tures on an Apple Macintosh
+ with private style files.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Varian:EFMM93,
+ editor = "Hal R. Varian",
+ title = "Economic and Financial Modeling with {Mathematica}",
+ publisher = pub-TELOS,
+ address = pub-TELOS:adr,
+ edition = "First",
+ pages = "xxii + 458",
+ year = "1993",
+ ISBN = "0-387-97882-8 (New York), 3-540-97882-8 (berlin)",
+ LCCN = "HB143 .E36 1993",
+ bibdate = "Fri Jul 22 10:39:26 1994",
+ note = "Primarily {\sl Mathematica\/} Notebooks run through
+ {\tt nb2tex} conversion software.",
+ acknowledgement = ack-hv,
+}
+
+@Book{Varian:IM87,
+ author = "Hal R. Varian",
+ title = "Intermediate Microeconomics",
+ publisher = pub-NORTON,
+ address = pub-NORTON:adr,
+ pages = "xviii + 587",
+ year = "1987",
+ ISBN = "0-393-95554-0",
+ LCCN = "HB172 .V34 1987",
+ bibdate = "Fri Jul 22 10:39:43 1994",
+ note = prep-tex,
+ acknowledgement = ack-hv,
+}
+
+@Book{Varian:IM90,
+ author = "Hal R. Varian",
+ title = "Intermediate Microeconomics",
+ publisher = pub-NORTON,
+ address = pub-NORTON:adr,
+ edition = "Second",
+ pages = "xviii + 599",
+ year = "1990",
+ ISBN = "0-393-95924-4",
+ LCCN = "HB172 .V34 1990",
+ bibdate = "Fri Jul 22 10:40:08 1994",
+ note = prep-tex,
+ acknowledgement = ack-hv,
+}
+
+@Book{Varian:IM92,
+ author = "Hal R. Varian",
+ title = "Intermediate Microeconomics\emdash {A} Modern
+ Approach",
+ publisher = pub-NORTON,
+ address = pub-NORTON:adr,
+ edition = "Third",
+ pages = "xxiv + 623",
+ year = "1992",
+ ISBN = "0-393-96320-9",
+ LCCN = "HB172 .V34 1993",
+ bibdate = "Fri Jul 22 10:40:25 1994",
+ note = prep-tex,
+ acknowledgement = ack-hv,
+}
+
+@Book{Varian:M90,
+ author = "Hal R. Varian",
+ title = "Microeconomia",
+ publisher = pub-LEC,
+ address = pub-LEC:adr,
+ edition = "Second",
+ year = "1990",
+ ISBN = "88-85613-20-9",
+ note = prep-tex,
+ acknowledgement = ack-hv,
+}
+
+@Book{Varian:MA91,
+ author = "Hal R. Varian",
+ title = "Microeconomic Analysis",
+ publisher = pub-NORTON,
+ address = pub-NORTON:adr,
+ edition = "Third",
+ pages = "xv + 506",
+ year = "1991",
+ ISBN = "0-393-95735-7",
+ LCCN = "HB172 .V35 1992",
+ bibdate = "Fri Jul 22 10:41:03 1994",
+ note = prep-tex,
+ acknowledgement = ack-hv,
+}
+
+@Misc{VAX,
+ key = "VMS",
+ title = "{VAX VMS} version 4.x and 5.x manuals",
+ howpublished = "Digital Equipment Corporation",
+ year = "1988",
+ note = "The complete VMS manuals sets are produced with
+ \TeX{}, but authors actually prepare input in a form
+ suitable for an earlier in-house system, which is then
+ automatically translated to \TeX{} form.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Vitter:DAC87,
+ author = "Jeffrey Scott Vitter",
+ title = "Design and Analysis of Coalesced Hashing",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ pages = "xii + 160",
+ year = "1987",
+ ISBN = "0-19-504182-8",
+ LCCN = "QA76.9.H36 V57 1987",
+ bibdate = "Wed Aug 10 13:40:59 1994",
+ note = prep-tex,
+ price = "US\$29.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Volid:WKV92,
+ author = "Mikhail Volid",
+ title = "Chem byl bolen {V}. {I}. Lenin? : meditsinskii i
+ politicheskii analiz (English: What ailed {V}. {I}.
+ Lenin? Medical and political analysis)",
+ publisher = pub-EFFECT,
+ address = pub-EFFECT:adr,
+ pages = "76",
+ year = "1992",
+ ISBN = "0-911971-76-9",
+ LCCN = "DK254.L46 V635 1992",
+ bibdate = "Fri Jul 22 10:42:43 1994",
+}
+
+@Book{Wakerly:MAP89,
+ author = "John F. Wakerly",
+ title = "Microcomputer architecture and programming: the 68000
+ family",
+ publisher = pub-WILEY,
+ address = pub-WILEY:adr,
+ pages = "xxii + 762",
+ year = "1989",
+ ISBN = "0-471-85319-4",
+ LCCN = "QA76.8.M6895 W35 1989",
+ bibdate = "Fri May 19 14:56:30 MDT 1995",
+ note = prep-latex # " Includes bibliographies and index.",
+ acknowledgement = ack-nhfb,
+ keywords = "Motorola 68000 series microprocessors -- programming;
+ computer architecture",
+}
+
+@Book{Ward:CS90,
+ author = "Stephen A. Ward and Robert H. {Halstead Jr.}",
+ title = "Computation Structures",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xx + 789",
+ year = "1990",
+ ISBN = "0-262-23139-5 (MIT), 0-07-068147-3 (McGraw-Hill)",
+ LCCN = "TK7888.4 .W37 1990",
+ note = "Co-published by McGraw-Hill, New York.",
+ series = "The {MIT Electrical Engineering and Computer Science}
+ series",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Waser:IAD82,
+ author = "Shlomo Waser and Michael J. Flynn",
+ title = "Introduction to Arithmetic for Digital Systems
+ Designers",
+ publisher = pub-HRW,
+ address = pub-HRW:adr,
+ pages = "xvii + 308",
+ year = "1982",
+ ISBN = "0-03-060571-7",
+ LCCN = "TK7895 A65 W37 1982",
+ bibdate = "Sat Feb 5 17:51:39 1994",
+ note = prep-tex # " Master copy output on Alphatype CRS
+ high-resolution phototypesetter. This book went to
+ press while the IEEE 754 Floating-Point Standard was
+ still in development; consequently, some of the
+ material on that system was invalidated by the final
+ Standard (1985).",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Watt:ALM87,
+ author = "David A. Watt and Brian A. Wichmann and William
+ Findlay",
+ title = "{Ada} Language and Methodology",
+ publisher = pub-PHI,
+ address = pub-PHI:adr,
+ pages = "xvii + 518",
+ year = "1987",
+ ISBN = "0-13-004078-9 (paperback), 0-13-004086-X (paperback
+ with disk)",
+ LCCN = "QA76.73.A35 W38 1987",
+ bibdate = "Thu Jul 21 23:35:51 1994",
+ note = prep-unknowntex,
+ price = "US\$28.67",
+ series = "Prentice-Hall international series in computer
+ science",
+ acknowledgement = ack-nhfb,
+ keywords = "languages; design; performance",
+ review = "ACM CR 8903-0105",
+ subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language
+ Classifications, Ada \\ D.2.10 Software, SOFTWARE
+ ENGINEERING, Design, Methodologies",
+}
+
+@Book{Wattenberg:PMC90,
+ author = "Frank Wattenberg",
+ title = "Personal Mathematics and Computing",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiv + 556",
+ year = "1990",
+ ISBN = "0-262-23157-3",
+ LCCN = "QA39.2.W378 1990",
+ bibdate = "Fri Jul 22 10:43:42 1994",
+ acknowledgement = ack-te,
+}
+
+@Book{Wei:TSA90,
+ author = "William Wei",
+ title = "Time Series Analysis: Univariate and Multivariate
+ Methods",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 478",
+ year = "1990",
+ ISBN = "0-201-15911-2",
+ LCCN = "QA280 .W45 1990",
+ bibdate = "Fri Jul 22 10:44:14 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Weir:GDA90,
+ author = "Bruce S. Weir",
+ title = "Genetic Data Analysis",
+ publisher = pub-SINAUER,
+ address = pub-SINAUER:adr,
+ pages = "xii + 377",
+ year = "1990",
+ ISBN = "0-87893-871-0 (hardcover), 0-87893-872-9 (paperback)",
+ LCCN = "QH438.4.S73 W45 1990",
+ bibdate = "Fri Jul 22 10:44:52 1994",
+ price = "US\$48.00 (hardcover), US\$27.00 (paperback)",
+ acknowledgement = ack-arr,
+}
+
+@Book{Weiss:IS91,
+ author = "Neil Weiss",
+ title = "Introduction to Statistics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Third",
+ pages = "xviii + 834",
+ year = "1991",
+ ISBN = "0-201-17833-8",
+ LCCN = "QA276.12 .W45 1991",
+ bibdate = "Fri Jul 22 10:45:30 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Weiss:PWR93,
+ author = "Zbigniew Weiss and Tadeusz Gru{\'z}lewski",
+ title = "Programowanie wsp{\'o}{\l}bie{\.z}ne i rozproszone w
+ przyk{\l}adach i zadaniach",
+ publisher = "Wydawnictwa Naukowo-Techniczne",
+ address = "Warszawa, Polska",
+ edition = "1.",
+ year = "1993",
+ ISBN = "83-204-1637-X",
+ bibdate = "Wed Aug 24 21:46:57 1994",
+ note = "sk{\l}ada{\l}: Zbigniew Weiss, druk: Drukarnia
+ Wydawnictw Naukowych s.a. {\L}{\'o}d{\'z}, ul.
+ {\.Z}wirki 2.",
+ acknowledgement = ack-md,
+ address-l = lang-pl,
+ author-l = lang-pl,
+ note-1 = "In Polish.",
+ note-l = lang-pl,
+ publisher-l = lang-pl,
+ title-l = lang-pl,
+}
+
+@Book{Weisstein:1999:CCE,
+ author = "Eric W. Weisstein",
+ title = "The {CRC} Concise Encyclopedia of Mathematics",
+ publisher = pub-CRC,
+ address = pub-CRC:adr,
+ pages = "1969",
+ year = "1999",
+ ISBN = "0-8493-9640-9",
+ LCCN = "QA5.W45 1999",
+ bibdate = "Tue Apr 13 06:58:01 1999",
+ price = "US\$79.95",
+ acknowledgement = ack-mg,
+ annote = "From Michel Goossens: ``This is a marvelous book for
+ all (of us) who like mathematics. It might be
+ interesting to note the quote from the start of the
+ Acknowledgements, where the author spends a whole
+ paragraph thanking Knuth for inventing \TeX{} (he
+ started his book some ten years ago in Word
+ \ldots{}), without which he could never have
+ published his book. He also thanks Trevorrow (for
+ Oz\TeX) and Drakos and Ross (for \LaTeX2HTML). His
+ whole book is on the Web (with {\tt l2h})
+ \path=http://www.astro.virginia.edu/~eww6n/math/=
+ (Eric's Treasure Troves of Science), although often
+ the site is unavailable due to the many downlaod
+ requests.''",
+}
+
+@Book{Weld:TCA90,
+ author = "Daniel Weld",
+ title = "Theories of Comparative Analysis",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xii + 184",
+ year = "1990",
+ ISBN = "0-262-23152-2",
+ LCCN = "Q335 .W42 1990",
+ bibdate = "Fri Jul 22 10:45:54 1994",
+ acknowledgement = ack-te,
+}
+
+@Book{Wellcome:MMI87,
+ author = "{Wellcome Institute for the History of Medicine}",
+ title = "A Mirror for Medicine: Some resources of the Wellcome
+ Institute. An Exhibition Monday 19 October\emdash
+ Friday 18 December 1987",
+ publisher = pub-WIHM,
+ address = pub-WIHM:adr,
+ year = "1989",
+ bibdate = "Sat Oct 28 08:41:04 2000",
+ note = prep-latex # " PC{\TeX} and Computer Modern fonts, with
+ proofed on HP LaserJet II at 300dpi, then converted to
+ PostScript using James Clark's dvitops, with final
+ output on bromide at 1270dpi on the ULCC Linotronic
+ 300.",
+ acknowledgement = ack-dw,
+}
+
+@Book{Wellcome:MMII89,
+ author = "{Wellcome Institute for the History of Medicine}",
+ title = "A Mirror for Medicine: {II}. Some resources of the
+ Wellcome Institute. An Exhibition Monday 12 June\emdash
+ Friday 29 September 1989",
+ publisher = pub-WIHM,
+ address = pub-WIHM:adr,
+ pages = "42",
+ year = "1989",
+ LCCN = "WZ 23 W4475w 1989",
+ bibdate = "Sat Oct 28 08:41:09 2000",
+ note = prep-latex # " PC{\TeX} and Computer Modern fonts,
+ author. It was based on the style file that he wrote
+ for Traub {\it et al.}, {\em Information-Based
+ Complexity}, with various vital parameters being lifted
+ from Oxford's in-house {\LaTeX} style file.",
+ acknowledgement = ack-dw,
+}
+
+@Book{Werschulz:CCD91,
+ author = "Arthur G. Werschulz",
+ title = "The Computational Complexity of Differential and
+ Integral Equations: An Information-Based Approach",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ pages = "ix + 331",
+ month = oct,
+ year = "1991",
+ ISBN = "0-19-853589-9",
+ LCCN = "QA372 .W47 1991",
+ bibdate = "Fri Jul 22 10:47:46 1994",
+ note = prep-amstex # " The style file was written by the final
+ output on an HP LaserJet II at 300dpi.",
+ price = "US\$52.50",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Wiederhold:FOD87,
+ author = "Gio Wiederhold",
+ title = "File Organization for Database Design",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ edition = "Second",
+ pages = "619",
+ year = "1987",
+ ISBN = "0-07-070133-4",
+ LCCN = "QA76.9.F5 W53 1987",
+ bibdate = "Wed Dec 15 18:42:48 1993",
+ price = "US\$38.95",
+ series = "McGraw-Hill Computer Science Series, Editor: Richard
+ W. Hamming and Edward A. Feigenbaum",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Wiggins:IAN90,
+ author = "Stephen Wiggins",
+ title = "Introduction to Applied Nonlinear Dynamical Systems",
+ publisher = pub-RRD,
+ address = pub-RRD:adr,
+ pages = "xiv + 672",
+ year = "1990",
+ ISBN = "3-540-97003-7",
+ LCCN = "QA614.8 .W54 1990",
+ bibdate = "Fri Jul 22 10:48:12 1994",
+ note = prep-latex,
+ acknowledgement = ack-gg,
+}
+
+@Book{Wilf:AC86,
+ author = "Herbert S. Wilf",
+ title = "Algorithms and Complexity",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "vi + 231",
+ year = "1986",
+ ISBN = "0-13-021973-8 (hardcover), 0-13-022054-X (paperback)",
+ LCCN = "QA63 .W55 1986",
+ bibdate = "Sat Aug 27 11:06:01 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Winder:CTM89,
+ author = "Marianne Winder",
+ title = "Catalogue of Tibetan Manuscripts and Xylographs, and
+ Catalogue of Thankas, Banners and other Paintings and
+ Drawings in the Library of the Wellcome Institute for
+ the History of Medicine",
+ publisher = pub-WIHM,
+ address = pub-WIHM:adr,
+ year = "1989",
+ ISBN = "0-85484-085-0",
+ note = prep-latex # " PC{\TeX} and Computer Modern fonts, with
+ final output on an HP LaserJet II at 300dpi.",
+ acknowledgement = ack-dw,
+}
+
+@Book{Winston:AI79,
+ editor = "Patrick Henry Winston and R. H. Brown",
+ title = "Artificial Intelligence: An {MIT} Perspective (2
+ volumes)",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ year = "1979",
+ ISBN = "0-262-23096-8",
+ LCCN = "Q335 .A7865 1979",
+ bibdate = "Fri Jul 22 10:49:22 1994",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Winston:AI89,
+ author = "Patrick Henry Winston",
+ title = "Artificial Intelligence",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ year = "1989",
+ ISBN = "0-201-09696-X",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Winston:AIB84,
+ editor = "Patrick H. Winston and Karen Prendergast",
+ title = "The {A}. {I}. Business: The Commercial Uses of
+ Artificial Intelligence",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "324",
+ year = "1984",
+ ISBN = "0-262-23117-4",
+ LCCN = "Q334 .A45 1984",
+ bibdate = "Fri Jul 22 10:50:08 1994",
+ note = prep-tex,
+ acknowledgement = ack-bkph,
+}
+
+@Book{Winston:AIM90-1,
+ editor = "Patrick Winston and Sarah Alexandra Shellard",
+ title = "Artificial Intelligence at {MIT}",
+ volume = "1",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ year = "1990",
+ ISBN = "0-262-23150-6 (volume two), 0-262-23154-9 (two-volume
+ set)",
+ LCCN = "Q335.A78713 1990",
+ bibdate = "Fri Jul 22 10:50:41 1994",
+ acknowledgement = ack-te,
+}
+
+@Book{Winston:AIM90-2,
+ editor = "Patrick Winston and Sarah Alexandra Shellard",
+ title = "Artificial Intelligence at {MIT}",
+ volume = "2",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ year = "1990",
+ ISBN = "0-262-23151-4 (volume two), 0-262-23154-9 (two-volume
+ set)",
+ LCCN = "Q335.A78713 1990",
+ bibdate = "Fri Jul 22 10:50:39 1994",
+ acknowledgement = ack-te,
+}
+
+@Book{Winston:L81,
+ author = "Patrick Henry Winston and Berthold Klaus Paul Horn",
+ title = "Lisp",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxi + 611",
+ year = "1981, 1984, 1989",
+ ISBN = "0-201-08319-1",
+ LCCN = "QA76.73.L23 W56 1989",
+ bibdate = "Fri Jul 22 10:51:04 1994",
+ note = "First edition may be one of the first books published
+ using {\TeX}. Macros used there, developed by Daniel
+ Brotsky, later formed the basis of what is now
+ {Y\TeX}.",
+}
+
+@Book{Winston:L88,
+ author = "Patrick Henry Winston and Berthold Klaus Paul Horn",
+ title = "Lisp",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Third",
+ pages = "xxi + 611",
+ year = "1988",
+ ISBN = "0-201-08319-1",
+ LCCN = "QA76.73.L23 W56 1989",
+ bibdate = "Fri Jul 22 10:51:57 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Wolf:LMO89,
+ editor = "Kurt Bernardo Wolf",
+ title = "Lie Methods in Optics, vol. {II}",
+ volume = "352",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xii + 197",
+ year = "1989",
+ ISBN = "3-540-52123-2, 0-387-52123-2",
+ LCCN = "QC355.2 .L54 1988",
+ bibdate = "Fri Jul 22 10:52:27 1994",
+ price = "US\$29.70",
+ series = "Lecture Notes in Physics",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Wolf:MLT86,
+ author = "Kurt Bernardo Wolf and others",
+ title = "Manual de Lenguaje y Tipograf{\'\i}a Cient{\`\i}fica
+ en Castellano",
+ publisher = pub-ET,
+ address = pub-ET:adr,
+ year = "1986",
+ acknowledgement = ack-nhfb,
+ bibdate = "Wed Nov 1 08:25:59 2000",
+}
+
+@Book{Wolf:NP83,
+ editor = "Kurt Bernardo Wolf",
+ title = "Nonlinear Phenomena",
+ volume = "189",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "x + 451",
+ year = "1983",
+ ISBN = "0-387-12730-5, 3-540-12730-5",
+ LCCN = "QC20.7.N6 S36 1982",
+ note = "First book in {\TeX} published by Springer-Verlag.",
+ price = "DM58.00",
+ series = "Lecture Notes in Physics",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Wolfram:MSD88,
+ author = "Stephen Wolfram",
+ title = "Mathematica: {A} System for Doing Mathematics by
+ Computer",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 749",
+ year = "1988",
+ ISBN = "0-201-19334-5 (hardcover), 0-201-19330-2 (paperback)",
+ LCCN = "QA76.95 .W65 1988",
+ bibdate = "Fri Jul 22 10:26:16 1994",
+ note = "This book was prepared with \TeX{}, \LaTeX{}, and
+ \PS{}",
+ price = "US\$29.95",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Wolfram:MSD90,
+ author = "Stephen Wolfram",
+ title = "Mathematica: {A} System for Doing Mathematics by
+ Computer",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 749",
+ year = "1990",
+ ISBN = "0-201-19334-5",
+ LCCN = "QA76.95 .W65 1988",
+ bibdate = "Fri Jul 22 10:54:18 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Woodcock:SEM89,
+ author = "Jim Woodcock and Martin Loomes",
+ title = "Software Engineering Mathematics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 271",
+ year = "1989",
+ ISBN = "0-201-50424-3",
+ LCCN = "QA76.758 .W66 1989",
+ note = prep-latex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Wujastyk:MLD86,
+ author = "Dominik Wujastyk with Judith Barker and Katy Hooper",
+ title = "A Manual of Library Desk Practice as Practised at the
+ Wellcome Institute for the History of Medicine
+ $\ldots$",
+ publisher = pub-WIHM,
+ address = pub-WIHM:adr,
+ year = "1986",
+ note = prep-latex # " PC{\TeX} and Computer Modern fonts, with
+ final output on a Canon LBP8 A1 at 300dpi. The printer
+ was managed by software from Personal {\TeX} driving a
+ Flagstaff Engineering JLaser card plugged into the PC
+ bus, and sending bitmaps directly to the laser printer,
+ bypassing the controller.",
+ acknowledgement = ack-dw,
+}
+
+@Book{Zurek:CEP90,
+ editor = "Wojciech Zurek",
+ title = "Complexity, Entropy and the Physics of Information",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiii + 530",
+ year = "1990",
+ ISBN = "0-201-51509-1 (hardcover), 0-201-51506-7 (paperback)",
+ LCCN = "QC39.S48 1991",
+ bibdate = "Fri Jul 22 10:55:45 1994",
+ note = prep-tex,
+ acknowledgement = ack-mz,
+}
+
+@Book{Zwillinger:HDE89,
+ author = "Daniel Zwillinger",
+ title = "Handbook of Differential Equations",
+ publisher = pub-AP,
+ address = "Boston, MA, USA",
+ pages = "xx + 673",
+ year = "1989",
+ ISBN = "0-12-784390-6",
+ LCCN = "QA371 .Z88 1989",
+ bibdate = "Fri Jul 22 10:56:12 1994",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Zwillinger:HI92,
+ author = "Daniel Zwillinger",
+ title = "Handbook of Integration",
+ publisher = pub-JBP,
+ address = pub-JBP:adr,
+ pages = "xv + 367",
+ year = "1992",
+ ISBN = "0-86720-293-9",
+ LCCN = "QA299.3 .Z85 1992",
+ bibdate = "Tue Mar 30 16:11:44 1993",
+ note = prep-tex,
+ acknowledgement = ack-ys,
+}
+
+@Proceedings{Brachman:KR91,
+ editor = "Ronald J. Brachman and Hector J. Levesque and Raymond
+ Reiter",
+ title = "Special volume: Knowledge Representation",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ pages = "408",
+ year = "1991",
+ ISBN = "0-262-52168-7, 0-262-02344-X",
+ LCCN = "Q387.K56 1992",
+ note = "Artificial Intelligence 49 (1991) 1-3.",
+ acknowledgement = ack-np,
+}
+
+@Proceedings{Byrnes:Fourier-ASI89,
+ editor = "J. S. Byrnes and Jennifer L. Byrnes",
+ booktitle = title-Byrnes:Fourier-ASI89,
+ title = title-Byrnes:Fourier-ASI89,
+ volume = "315",
+ publisher = pub-kluwer # ", " # pub-kluwer:adr,
+ address = "Il Ciocco Resort, Tuscany, Italy",
+ pages = "x + 686",
+ year = "1990",
+ ISBN = "0-7923-0875-1",
+ LCCN = "QA403.5 .N37 1989",
+ bibdate = "Fri Jul 22 09:45:12 1994",
+ series = series-NATO-ASI-C,
+ acknowledgement = ack-kb,
+}
+
+@Proceedings{Byrnes:Prob-Sto-ASI91,
+ editor = "J. S. Byrnes and Jennifer L. Byrnes and Karl Berry and
+ Kathryn A. Hargreaves",
+ booktitle = title-Byrnes:Prob-Sto-ASI91,
+ title = title-Byrnes:Prob-Sto-ASI91,
+ volume = "372",
+ publisher = pub-kluwer # ", " # pub-kluwer:adr,
+ address = "Il Ciocco Resort, Tuscany, Italy",
+ pages = "xi + 699",
+ year = "1992",
+ ISBN = "0-7923-1804-8",
+ LCCN = "QA274.2 .P77 1992",
+ series = series-NATO-ASI-C,
+ acknowledgement = ack-kb,
+}
+
+@Proceedings{Clark:CRU84,
+ editor = "Malcolm Clark",
+ title = "Coastal research: {UK} perspectives",
+ publisher = pub-GEO,
+ address = pub-GEO:adr,
+ pages = "131",
+ year = "1984",
+ ISBN = "0-86094-166-3",
+ LCCN = "GB457.21 .C61 1984",
+ note = "Typeset using {\TeX{}80}.",
+ acknowledgement = ack-mc,
+}
+
+@Proceedings{Desaubies:OGT90,
+ editor = "Yves Desaubies and Albert Tarantola and Jean
+ Zinn-Justin",
+ title = "Oceanographic and Geophysical Tomography",
+ publisher = pub-ESPNH,
+ address = pub-ESPNH:adr,
+ year = "1990",
+ note = "Les Houches Session L (1989).",
+ acknowledgement = ack-np,
+}
+
+@Proceedings{Gutowitz:CAT90,
+ editor = "Howard Gutowitz",
+ title = "Cellular Automata: Theory and Experiment",
+ publisher = pub-ESPNH,
+ address = pub-ESPNH:adr,
+ pages = "xvii + 483",
+ year = "1990",
+ ISBN = "0-262-57086-6",
+ LCCN = "QA267.5.C45 C46 1991",
+ bibdate = "Fri Jul 22 10:15:30 1994",
+ note = "Published as Physica D45 (1990) Nos. 1-3.",
+ acknowledgement = ack-np,
+}
+
+@Proceedings{Hansen:LFG91,
+ editor = "J. P. Hansen and D. Levesque and J. Zinn-Justin",
+ title = "Liquids, Freezing and Glass Transition (parts {I},
+ {II})",
+ publisher = pub-ESPNH,
+ address = pub-ESPNH:adr,
+ year = "1991",
+ note = "Les Houches Session LI (1990).",
+ acknowledgement = ack-np,
+}
+
+@Book{Husek:RPG92,
+ editor = "Miroslav Hu{\v{s}}ek and Jan van Mill",
+ booktitle = "Recent Progress in General Topology",
+ title = "Recent Progress in General Topology",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ pages = "xi + 796",
+ year = "1992",
+ ISBN = "0-444-89674-0",
+ LCCN = "QA611.A1 R43 1992",
+ bibdate = "Tue Dec 14 23:03:10 1993",
+ note = prep-latex # " K. P. Hart developed a {\LaTeX} style
+ for this book modelled on North-Holland conventions.",
+ acknowledgement = ack-kph,
+ annote = "A collection of articles surveying the state of
+ affairs in General and Set-Theoretic Topology at the
+ time of the 7th~Prague Topological Symposium (August,
+ 1991).",
+}
+
+@Proceedings{MacCallum:ACR91,
+ editor = "Malcolm A. H. MacCallum and Francis J. Wright",
+ title = "Algebraic Computing with {REDUCE}\emdash{}Lecture
+ Notes from the {First Brazilian School on Computer
+ Algebra}",
+ publisher = pub-CP,
+ address = pub-CP:adr,
+ year = "1991",
+ ISBN = "0-19-853443-4 (paperback), 0-19-853444-2 (hardcover)",
+ LCCN = "QA155.7.E4 B73 1989",
+ bibdate = "Fri Jul 22 10:20:17 1994",
+ note = prep-latex,
+ price = "US\$29.95 (paperback), US\$45.00 (hardcover)",
+}
+
+@Proceedings{Rahtz:info-technology,
+ editor = "Sebastian P. Q. Rahtz",
+ title = "Information Technology in the Humanities",
+ publisher = pub-ELLIS-HORWOOD,
+ address = pub-ELLIS-HORWOOD:adr,
+ pages = "184",
+ year = "1987",
+ ISBN = "0-7458-0148-X",
+ LCCN = "AZ105 .I541 1987",
+ bibdate = "Fri Jul 22 10:22:40 1994",
+ note = "Laser-printed using {\LaTeX}.",
+ price = "UK\pounds 25.00",
+ series = "Computers and their applications",
+ acknowledgement = ack-mc,
+}
+
+@Book{vanMill:OPT90,
+ editor = "Jan van Mill and George M. Reed",
+ booktitle = "Open Problems in Topology",
+ title = "Open Problems in Topology",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ pages = "xiv + 692",
+ year = "1990",
+ ISBN = "0-444-88768-7",
+ LCCN = "QA611 .O56 1990",
+ bibdate = "Fri Jul 22 10:38:38 1994",
+ note = prep-latex # " K. P. Hart developed a {\LaTeX} style
+ for this book modelled on North-Holland conventions,
+ and developed a font for the pictures in the paper on
+ knot theory.",
+ acknowledgement = ack-kph,
+ annote = "A collection of articles listing/discussing 1100 open
+ problems in General/Algebraic/Set-Theoretic Topology.
+ Regular updates of solutions are published in the
+ journal Topology and its Applications.",
+}
+
+%%% This is for GNU Emacs file-specific customization:
+%%% Local Variables:
+%%% bibtex-extra-fields: ("acknowledgement")
+%%% End:
diff --git a/Master/texmf-dist/bibtex/bib/beebe/texbook3.bib b/Master/texmf-dist/bibtex/bib/beebe/texbook3.bib
new file mode 100644
index 00000000000..30d46806e71
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/beebe/texbook3.bib
@@ -0,0 +1,13664 @@
+%%% -*-BibTeX-*-
+%%% /u/sy/beebe/tex/bib/texbook3.bib, Thu Dec 29 11:04:44 1994
+%%% Edit by Nelson H. F. Beebe <beebe at plot79.math.utah.edu>
+%%%
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "3.04",
+%%% date = "21 October 2005",
+%%% time = "07:58:48 MDT",
+%%% filename = "texbook3.bib",
+%%% address = "University of Utah
+%%% Department of Mathematics, 110 LCB
+%%% 155 S 1400 E RM 233
+%%% Salt Lake City, UT 84112-0090
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 581 4148",
+%%% URL = "http://www.math.utah.edu/~beebe",
+%%% checksum = "27834 13664 56329 518436",
+%%% email = "beebe at math.utah.edu, beebe at acm.org,
+%%% beebe at computer.org (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "bibliography, TeX",
+%%% supported = "yes",
+%%% docstring = "This BibTeX file records books, articles,
+%%% and electronic forums on TeX, METAFONT,
+%%% Web, fonts, typography, indexing, and
+%%% software related to these topics. Articles
+%%% from TUGboat and TeXniques are excluded,
+%%% because they are maintained in separate
+%%% bibliographies (tugboat.bib and
+%%% texnique.bib). Also largely excluded is
+%%% material on SGML and other aspects of
+%%% electronic publishing, because they are
+%%% covered in separate bibliographies
+%%% (ep.bib, epodd.bib, and sgml.bib).
+%%%
+%%% At version 3.04, the year coverage looks
+%%% like this:
+%%%
+%%% 1928 ( 1) 1954 ( 0) 1980 ( 6)
+%%% 1929 ( 0) 1955 ( 0) 1981 ( 12)
+%%% 1930 ( 0) 1956 ( 0) 1982 ( 21)
+%%% 1931 ( 0) 1957 ( 0) 1983 ( 24)
+%%% 1932 ( 0) 1958 ( 0) 1984 ( 15)
+%%% 1933 ( 0) 1959 ( 0) 1985 ( 35)
+%%% 1934 ( 0) 1960 ( 0) 1986 ( 42)
+%%% 1935 ( 0) 1961 ( 0) 1987 ( 45)
+%%% 1936 ( 0) 1962 ( 0) 1988 ( 49)
+%%% 1937 ( 0) 1963 ( 0) 1989 ( 54)
+%%% 1938 ( 0) 1964 ( 0) 1990 ( 50)
+%%% 1939 ( 0) 1965 ( 0) 1991 ( 41)
+%%% 1940 ( 0) 1966 ( 0) 1992 ( 83)
+%%% 1941 ( 0) 1967 ( 1) 1993 ( 46)
+%%% 1942 ( 0) 1968 ( 0) 1994 ( 36)
+%%% 1943 ( 0) 1969 ( 1) 1995 ( 27)
+%%% 1944 ( 0) 1970 ( 2) 1996 ( 11)
+%%% 1945 ( 0) 1971 ( 1) 1997 ( 20)
+%%% 1946 ( 0) 1972 ( 2) 1998 ( 7)
+%%% 1947 ( 0) 1973 ( 1) 1999 ( 10)
+%%% 1948 ( 0) 1974 ( 1) 2000 ( 4)
+%%% 1949 ( 0) 1975 ( 1) 2001 ( 6)
+%%% 1950 ( 0) 1976 ( 3) 2002 ( 2)
+%%% 1951 ( 0) 1977 ( 2) 2003 ( 6)
+%%% 1952 ( 0) 1978 ( 7) 2004 ( 32)
+%%% 1953 ( 0) 1979 ( 5) 2005 ( 2)
+%%% 19xx ( 2)
+%%%
+%%% Article: 168
+%%% Book: 286
+%%% Booklet: 12
+%%% InCollection: 7
+%%% InProceedings: 113
+%%% Manual: 15
+%%% MastersThesis: 2
+%%% Misc: 14
+%%% Periodical: 1
+%%% PhdThesis: 7
+%%% Proceedings: 37
+%%% TechReport: 52
+%%% Unpublished: 2
+%%%
+%%% Total entries: 716
+%%%
+%%% The ISBN and ISSN fields will be printed if
+%%% the is-alpha.bst or is-plain.bst style
+%%% files are used.
+%%%
+%%% This bibliography is a continuation of that
+%%% in texbook1.bib, which was frozen at
+%%% version 1.153, in order to introduce an
+%%% improved citation tag scheme.
+%%%
+%%% CONVENTIONS
+%%%
+%%% Books are tagged by the first author's last
+%%% name, a colon, a four-digit publication
+%%% year, a colon, and up to 3 upper-case letters
+%%% taken from the first three upper-case words
+%%% in the title (ignoring words like A, And,
+%%% The). When this is insufficient to
+%%% disambiguate entries, additional lower-case
+%%% letters are suffixed to the tags.
+%%%
+%%% For Dutch authors, a van part is included
+%%% in the author tag. For names with accented
+%%% letters, accents are dropped in the author
+%%% tag.
+%%%
+%%% Entries are stored ordered by the BibTeX
+%%% tag name, independent of the entry type
+%%% (the GNU Emacs function sort-bibtex-entries
+%%% can be used to ensure correct ordering).
+%%% However, entries that are cross-referenced
+%%% by others are stored at the end of the
+%%% file, since that order is required by
+%%% BibTeX.
+%%%
+%%% With few exceptions, value fields for
+%%% acknowledgement, address, journal, and
+%%% publisher keywords should use macros
+%%% defined in the string preamble below. This
+%%% helps to ensure consistency, and reduces
+%%% the entry sizes. Address entries must
+%%% always include the country.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+%%%
+%%% Computing Systems is the Journal of the USENIX Association
+%%% published with the collaboration of the EUUG. The ISSN is
+%%% 0895-6340. It is published by the University of California
+%%% Press, 2120 Berkeley Way, Berkeley, CA 94720.
+%%%
+%%% Rates are US $40/yr for non-members, plus $4 postage if
+%%% outside the US. Single copies are US $10.
+%%%
+%%% Editorial correspondence should be addressed to
+%%%
+%%% Computing Systems
+%%% Suite 215
+%%% 2560 Ninth Street
+%%% Berkeley, CA 94710
+%%%
+%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% A delimited macro \toenglish ... \endtoenglish is NECESSARY here.
+%%% The more conventional undelimited form \toenglish{...} has braces
+%%% that prevent BibTeX's downcasing operation, and the alternate form
+%%% {\toenglish{...}} is considered a `special character' by BibTeX,
+%%% and all of {...} gets downcased. We avoid the name \english to
+%%% prevent conflicts with language options in packages like Babel.
+%%%
+%%% To suppress output of English translations of non-English titles,
+%%% use
+%%% "\def \toenglish #1\endtoenglish{\unskip}"
+%%% instead.
+
+@Preamble{"\input bibnames.sty "
+# "\input path.sty "
+# "\ifx \k \undefined \let \k = \c
+ \immediate\write16{Ogonek accent unavailable: replaced by cedilla}\fi "
+# "\ifx \undefined \FEATPOST \def \FEATPOST {{\manfnt FEAT}\-{\manfnt POST}\spacefactor1000 }\fi"
+# "\ifx \undefined \MP \def \MP {{\manfnt META}\-{\manfnt POST}\spacefactor1000 } \fi"
+# "\ifx \undefined \Xy \def \Xy {{\sc Xy}} \fi"
+# "\ifx \undefined \manfnt \font\manfnt=logo10 \fi"
+# "\ifx \undefined \pdfTeX \def \pdfTeX {pdf\TeX}\fi"
+# "\def \toenglish #1\endtoenglish{[{\em English:} #1\unskip]} "
+# "\hyphenation{
+ An-wen-der-ver-ei-ni-gung
+ Bie-mes-der-fer
+ Co-lo-phon
+ Deutsch-spra-chi-ge
+ Ge-leit-wort
+ Hol-dys
+ Katz-en-beiss-er
+ Ko-lo-dziej-ska
+ la-da-mi
+ Lar-ra-bee
+ Manu-scripts
+ mark-up
+ Rijks-uni-ver-si-teit
+ South-all
+ Stutt-gart
+}"
+}
+
+%%% ====================================================================
+%%% Acknowledgements
+
+@String{ack-aa = "Abass Alamnehe,
+ EthiO Systems Co.,
+ P.O. Box 36921,
+ Houston, TX 77236,
+ USA,
+ Phone: +1 713 995-4360,
+ FAX: +1 713 995-1346,
+ e-mail: \path|abassa@sugar.NeoSoft.COM|"}
+
+@String{ack-ab = "Arvind Borde,
+ Department of Mathematics,
+ Long Island University,
+ Southampton, NY 11968, USA,
+ Tel: (516) 283-4000,
+ e-mail: BITnet: \path|borde@bnlcl1|"}
+
+@String{ack-bnb = "Barbara N. Beeton
+ e-mail: \path|bnb@math.ams.org|"}
+
+@String{ack-cb = "Claudio Beccari,
+ Dipartimento di Elettronica,
+ Politecnico di Torino,
+ Corso Duca degli Abruzzi, 24,
+ I10129 Torino, Italy,
+ e-mail: \path|beccari@itopoli.bitnet|,
+ \path|beccari@polito.it|"}
+
+@String{ack-cr = "Chris Rowley,
+ e-mail: \path|C.A.Rowley@open.ac.uk|"}
+
+@String{ack-df = "Dimitrios Filippou,
+ e-mail: \path|dfilipp@hotmail.com|"}
+
+@String{ack-dh = "Don Hosek,
+ 440F Grinnell,
+ Claremont, CA 91711,
+ Tel: (714) 625-0147,
+ e-mail: BITnet: \path|dhosek@ymir|"}
+
+@String{ack-fm = "Frank Mittelbach,
+ e-mail: \path|mittelbach@mzdmza.zdv.uni-mainz.de|"}
+
+@String{ack-hk = "Hanna K{\"o}lodziejska,
+ {\"O}srodek Obliczeniowy,
+ Instytutu Informatyki UW,
+ P{\"a}lac Kultury i Nauki pok. 838,
+ 00-901 Warszawa,
+ Poland"}
+
+@String{ack-jb = "Janusz S. Bie{\'n},
+ e-mail: \path|jsbien@plearn.edu.pl|"}
+
+@String{ack-jpl = "Jeff Lankford,
+ e-mail: \path|jpl@nrtc.northrop.com|"}
+
+@String{ack-js = "Joachim Schrod,
+ Institute for Theoretical Informatics,
+ Computer Science Department,
+ Technical University of Darmstadt,
+ Germany,
+ e-mail: \path|schrod@iti.informatik.th-darmstadt.de|"}
+
+@String{ack-kb = "Karl Berry,
+ e-mail: \path|karl@cs.umb.edu|"}
+
+@String{ack-mb = "Mimi Burbank,
+ e-mail: \path|MIMI@scri.fsu.edu|"}
+
+@String{ack-mc = "Malcolm Clark"}
+
+@String{ack-md = "Monika D{\k{a}}bkowska,
+ Uniwersytet Warszawski,
+ Wydzia{\l} Matematyki, Informatyki i Mechaniki Stosowanej,
+ Warszawa, Poland"}
+
+@String{ack-nhfb = "Nelson H. F. Beebe,
+ University of Utah,
+ Department of Mathematics, 110 LCB,
+ 155 S 1400 E RM 233,
+ Salt Lake City, UT 84112-0090, USA,
+ Tel: +1 801 581 5254,
+ FAX: +1 801 581 4148,
+ e-mail: \path|beebe@math.utah.edu|,
+ \path|beebe@acm.org|,
+ \path|beebe@computer.org| (Internet),
+ URL: \path|http://www.math.utah.edu/~beebe/|"}
+
+@String{ack-njh = "Nick Higham,
+ e-mail: \path|higham@vtx.ma.man.ac.uk|"}
+
+@String{ack-ps = "Peter Schmitt,
+ Institute of Mathematics,
+ University of Vienna,
+ Strudlhofgasse 4,
+ A-1090 Wien,
+ Austria,
+ e-mail: \path|a8131dal@awiuni11.edvz.univie.ac.at|,
+ \path|schmitt@awirap.bitnet|"}
+
+@String{ack-rw = "Reinhard Wonneberger,
+ Electronic Data Systems,
+ Eisenstr.56,
+ D-65428 Ruesselsheim,
+ Federal Republic of Germany,
+ e-mail: \path|lo1be.rwonne01@eds.com|"}
+
+@String{ack-rz = "Reinhard Zierke,
+ Universitaet Hamburg, FB Informatik,
+ Vogt-Koelln-Strasse 30
+ D-22527 Hamburg,
+ Germany,
+ Tel: (040) 54715-295,
+ Fax: (040) 54715-303,
+ e-mail: \path|zierke@informatik.uni-hamburg.de|"}
+
+%%% ====================================================================
+%%% Institution abbreviations:
+
+@String{inst-ANL = "Argonne National Laboratory"}
+
+@String{inst-ANL:adr = "9700 South Cass Avenue, Argonne, IL
+ 60439-4801, USA"}
+
+@String{inst-APPL-FORTH-RES = "Institute for Applied FORTH Research"}
+
+@String{inst-APPL-FORTH-RES:adr = "Rochester, NY, USA"}
+
+@String{inst-ATT-BELL = "AT\&T Bell Laboratories"}
+
+@String{inst-ATT-BELL:adr = "Murray Hill, NJ, USA"}
+
+@String{inst-CIRCE = "CIRCE"}
+
+@String{inst-CIRCE:adr = "Orsay, France"}
+
+@String{inst-CWI = "Centrum voor Wiskunde en Informatica"}
+
+@String{inst-CWI:adr = "P. O. Box 4079, 1009 AB Amsterdam, The
+ Netherlands"}
+
+@String{inst-METAFOUNDRY = "The Metafoundry"}
+
+@String{inst-METAFOUNDRY:adr = "OCLC Online Computer Library Center, Inc.,
+ Dublin, OH, USA"}
+
+@String{inst-STAN-CS = "Stanford University, Department of Computer
+ Science"}
+
+@String{inst-STAN-CS:adr = "Stanford, CA, USA"}
+
+@String{inst-STANFORD = "Stanford University"}
+
+@String{inst-STANFORD:adr = "Stanford, CA, USA"}
+
+@String{inst-USNPS = "U. S. Naval Postgraduate School"}
+
+@String{inst-USNPS:adr = "Monterey, CA 93940, USA"}
+
+@String{inst-USNWL = "U. S. Naval Weapons Laboratory"}
+
+@String{inst-USNWL:adr = "Dahlgren, VA 22448, USA"}
+
+%%% ====================================================================
+%%% Journal abbreviations:
+
+@String{j-ABACUS = "Abacus"}
+
+@String{j-ACTA-INFO = "Acta Informatica"}
+
+@String{j-ALLC-BULL = "ALLC Bull"}
+
+@String{j-AMSCI = "American Scientist"}
+
+@String{j-APL-QUOTE-QUAD = "APL Quote Quad"}
+
+@String{j-ATT-TECH-J = "AT\&T Technical Journal"}
+
+@String{j-BAMSN = "Bulletin of the American Mathematical
+ Society (new series)"}
+
+@String{j-BSTJ = "The Bell System Technical Journal"}
+
+@String{j-BYTE = "Byte Magazine"}
+
+@String{j-CACM = "Communications of the Association for
+ Computing Machinery"}
+
+@String{j-CGF = "Computer Graphics Forum"}
+
+@String{j-CGIP = "Computer Graphics and Image Processing"}
+
+@String{j-CJ = "The Computer Journal"}
+
+@String{j-COLL-MICRO = "Collegiate Microcomputer"}
+
+@String{j-COMP-CHEM = "Computers and Chemistry"}
+
+@String{j-COMP-PHYS-COMM = "Computer Physics Communications"}
+
+@String{j-COMP-REV = "Computing Reviews"}
+
+@String{j-COMP-SURVEYS = "ACM Computing Surveys"}
+
+@String{j-COMP-SYS = "Computing Systems"}
+
+@String{j-COMPCHEM = "Computers in Chemistry"}
+
+@String{j-COMPUTER = "Computer"}
+
+@String{j-COMPUTERS-AND-GRAPHICS = "Computers and Graphics"}
+
+@String{j-COMPUTERSHOPPER = "Computer Shopper"}
+
+@String{j-CPC = "Computer Physics Communications"}
+
+@String{j-CT = "c't"}
+
+@String{j-DDJ = "Dr. Dobb's Journal of Software Tools"}
+
+@String{j-ELECTRONIC-LIBRARY = "Electronic Library"}
+
+@String{j-EPODD = "Electronic
+ Publishing\emdash{}Orig{\-}i{\-}na{\-}tion,
+ Dissemination, and Design"}
+
+@String{j-GUTENBERG = "Cahiers GUTenberg"}
+
+@String{j-IBM-SYS-J = "IBM Systems Journal"}
+
+@String{j-IEEE-CGA = "IEEE Computer Graphics and Applications"}
+
+@String{j-IEEE-COMPUTER = "IEEE Computer"}
+
+@String{j-IEEE-SOFTWARE = "IEEE Software"}
+
+@String{j-INFO-TECH-LIB = "Information Technology and Libraries"}
+
+@String{j-J-ACM = "Journal of the ACM"}
+
+@String{j-J-CHEM-INFO-COMP-SCI = "J. Chem. Inf. Comput. Sci"}
+
+@String{j-J-INFO-PROC = "Journal of Information Processing"}
+
+@String{j-J-INST-ELEC-TELECOMM-ENG = "J. Inst. Electron. Telecommun. Eng"}
+
+@String{j-J-KOREA-INFO-SCI-SOCIETY = "Journal of the Korea Information Science
+ Society = Chongbo Kwahakhoe nonmunji"}
+
+@String{j-J-SYST-SOFTW = "The Journal of Systems and Software"}
+
+@String{j-J-VIS-LANG-COMPUTING = "Journal of Visual Languages and Computing"}
+
+@String{j-LAB-MICROCOMP = "Laboratory microcomputer"}
+
+@String{j-LIB-HI-TECH = "Library Hi Tech"}
+
+@String{j-LINUX-J = "Linux Journal"}
+
+@String{j-MATHINTEL = "The Mathematical Intelligencer"}
+
+@String{j-MDMV = "Mitteilungen der Deutschen
+ Mathematiker-Vereinigung"}
+
+@String{j-MIKROCOMP-Z = "Mikrocomputer Zeitschrift"}
+
+@String{j-MIKROLAN = "Mikrolan"}
+
+@String{j-NAMS = "Notices of the American Mathematical
+ Society"}
+
+@String{j-NTG = "Nederlandstalige {\TeX} Gebruikersgroep
+ (Dutch-speaking {\TeX} Users Group)"}
+
+@String{j-ONLINE = "Online"}
+
+@String{j-PCkurier = "PCkurier"}
+
+@String{j-PCkurier:adr = "PCkurier, ul. St{\k{e}}pi{\'n}ska 22//23,
+ 00-739 Warszawa, Poland, mailbox 41 03 74
+ (16.00-10.00)"}
+
+@String{j-POSTSCRIPT-LANG-J = "The PostScript Language Journal"}
+
+@String{j-PROGRAM = "Program"}
+
+@String{j-RIV-INFO-MILANO = "Rivista di Informatica (Milano)"}
+
+@String{j-SA = "Scientific American"}
+
+@String{j-SCHOLAR = "Scholarly Publishing"}
+
+@String{j-SEYBOLD = "The Seybold Report on Desktop Publishing"}
+
+@String{j-SIGACT = "ACM SIGACT News"}
+
+@String{j-SIGADA-LETTERS = "ACM SIGADA Ada Letters"}
+
+@String{j-SIGAPL = "ACM SIGAPL APL Quote Quad"}
+
+@String{j-SIGDOC = "ACM SIGDOC Asterisk*"}
+
+@String{j-SIGPLAN = "ACM SIGPLAN Notices"}
+
+@String{j-SIGSAM = "SIGSAM Bulletin"}
+
+@String{j-SPE = "Soft{\-}ware\emdash Prac{\-}tice and
+ Experience"}
+
+@String{j-STRUCTURED-PROGRAMMING = "Structured programming"}
+
+@String{j-SUNEXPERT = "SunExpert Magazine"}
+
+@String{j-SYS-CTL-INFO = "Systems, Control and Information"}
+
+@String{j-SW-EXPERT = "Server\slash Workstation Expert"}
+
+@String{j-TCS = "Theoretical Computer Science"}
+
+@String{j-TEXHAX = "{\TeX{}hax}"}
+
+@String{j-TEXLINE = "{\TeX{}}line"}
+
+@String{j-TOG = "ACM Transactions on Graphics"}
+
+@String{j-TOMS = "ACM Transactions on Mathematical Software"}
+
+@String{j-TOPLAS = "ACM Transactions on Programming Languages
+ and Systems"}
+
+@String{j-TSI = "Technology and Science of Informatics"}
+
+@String{j-TUGboat = "{\TUB{}}"}
+
+@String{j-TWIO = "TWIOscoop"}
+
+@String{j-UMAP = "The UMAP Journal"}
+
+@String{j-UMAP:adr = "COMAP, Inc., Suite 210, 57 Bedford St.,
+ Lexington, MA 02173, USA"}
+
+@String{j-UNIV-COMP = "University Computing"}
+
+@String{j-VL = "Visible Language"}
+
+@String{j-WM = "Wiadomo\'sci Matematyczne"}
+
+%%% ====================================================================
+%%% Language abbreviations:
+
+@String{lang-eng = "English"}
+
+@String{lang-pl = "Polish"}
+
+%%% ====================================================================
+%%% Organization abbreviations:
+
+@String{org-NTG = "Nederlandstalige {\TeX} Gebruikersgroep
+ (Dutch-speaking {\TeX} Users Group)"}
+
+@String{org-NTG:adr = "P.O. Box 394, 1740 AJ Schagen, The
+ Netherlands"}
+
+%%% ====================================================================
+%%% Preparation details:
+
+%%% ====================================================================
+%%% Proceedings:
+
+@String{proc-NIPT91 = "IS\&T's Seventh International Congress on
+ Advances in Non-impact Printing
+ Technologies, October 6--11, Portland, OR,
+ USA."}
+
+@String{proc-TEX85 = "Proceedings of the First European
+ Conference on {\TeX} for Scientific
+ Documentation, 16--17 May 1985, Como, Italy"}
+
+%%% ====================================================================
+%%% Publisher abbreviations:
+
+@String{pub-ACM = "ACM Press"}
+@String{pub-ACM:adr = "New York, NY, USA"}
+
+@String{pub-ADOBE = "Adobe Systems Incorporated"}
+@String{pub-ADOBE:adr = "1585 Charleston Road, P.~O. Box 7900,
+ Mountain View, CA 94039-7900, USA, Tel: (415) 961-4400"}
+
+@String{pub-ADTP = "Architecture Design and Technology Press,
+ Ltd."}
+@String{pub-ADTP:adr = "140 Kensington Church St., London W84 BN,
+ UK"}
+
+@String{pub-AFIPS = "AFIPS Press"}
+@String{pub-AFIPS:adr = "Montvale, NJ, USA"}
+
+@String{pub-AHV = "Dr. Alfred H{\"u}thing Verlag"}
+@String{pub-AHV:adr = "Heidelberg, Germany"}
+
+@String{pub-AMS = "American Mathematical Society"}
+@String{pub-AMS:adr = "Providence, RI, USA"}
+
+@String{pub-AP = "Academic Press"}
+@String{pub-AP:adr = "New York, NY, USA"}
+
+@String{pub-APA = "American Psychological Association"}
+@String{pub-APA:adr = "Washington, DC, USA"}
+
+@String{pub-ARIEL = "Ariel Sp. z o.o"}
+@String{pub-ARIEL:adr = "Krak{\'o}w, Poland"}
+
+@String{pub-ASCII = "ASCII Corporation"}
+@String{pub-ASCII:adr = "Tokyo, Japan"}
+
+@String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
+@String{pub-AW:adr = "Reading, MA, USA"}
+
+@String{pub-AW-FRANCE = "Ad{\-d}i{\-s}on-Wes{\-l}ey France"}
+@String{pub-AW-FRANCE:adr = "Paris, France"}
+
+@String{pub-AW-LONGMAN = "Ad{\-d}i{\-s}on-Wes{\-l}ey Longman"}
+@String{pub-AW-LONGMAN:adr = "Reading, MA, USA"}
+
+@String{pub-AWE = "Ad{\-}di{\-}son-Wes{\-}ley Europe"}
+@String{pub-AWE:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-AWV = "Ad{\-}di{\-}son-Wes{\-}ley Verlag"}
+@String{pub-AWV:adr = "Bonn, Germany"}
+
+@String{pub-BIRKHAUSER = "Birkh{\"{a}}user"}
+@String{pub-BIRKHAUSER:adr = "Cambridge, MA, USA; Berlin, Germany; Basel,
+ Switzerland"}
+
+@String{pub-BIEL = "Biel"}
+@String{pub-BIEL:adr = "Savannah, Ga"}
+
+@String{pub-BL = "The British Library"}
+@String{pub-BL:adr = "London, UK"}
+
+@String{pub-BLUEPRINT = "Blueprint"}
+@String{pub-BLUEPRINT:adr = "London, UK"}
+
+@String{pub-BOWK = "R. R. Bowker Company"}
+@String{pub-BOWK:adr = "1180 Avenue of the Americas, New York, NY
+ 10036, USA"}
+
+@String{pub-BP = "Boole Press"}
+@String{pub-BP:adr = "Dublin, Ireland"}
+
+@String{pub-BRINKMANN-BOSE = "Brinkmann \& Bose"}
+@String{pub-BRINKMANN-BOSE:adr = "Berlin, Germany"}
+
+@String{pub-BROOKS-COLE = "Brooks\slash Cole Publishing Co."}
+@String{pub-BROOKS-COLE:adr = "Pacific Grove, CA, USA"}
+
+@String{pub-CHARTWELL = "Chartwell Books, Inc."}
+@String{pub-CHARTWELL:adr = "110 Enterprise Avenue, Secaucus, New Jersey
+ 07094, USA"}
+
+@String{pub-CIAOCO = "Editions Ciaoco"}
+@String{pub-CIAOCO:adr = "Artel, Bruxelles, Belgium"}
+
+@String{pub-CRC = "CRC Press"}
+@String{pub-CRC:adr = "2000 N.W. Corporate Blvd., Boca Raton,
+ FL 33431-9868, USA"}
+
+@String{pub-CSLI = "CSLI Publications"}
+@String{pub-CSLI:adr = "Stanford, CA, USA"}
+
+@String{pub-CSP = "Computer Science Press"}
+@String{pub-CSP:adr = "11 Taft Court, Rockville, MD 20850, USA"}
+
+@String{pub-CSTUG = "Czechoslovak{\TeX} Users Group"}
+@String{pub-CSTUG:adr = "CSTUG M{\'U} UK, Sokolovsk{\'a} 83, 186 00
+ Praha 8, The Czech Republic"}
+
+@String{pub-CUP = "Cambridge University Press"}
+@String{pub-CUP:adr = "New York"}
+
+@String{pub-DP = "Digital Press"}
+@String{pub-DP:adr = "12 Crosby Drive, Bedford, MA 01730, USA"}
+
+@String{pub-DPUNKT-VERLAG = "dpunkt Verlag"}
+@String{pub-DPUNKT-VERLAG:adr = "Ringstra{\ss}e 19, 69115 Heidelberg,
+ Germany"}
+
+@String{pub-DPUNKT-PRO = "dpunkt/PRO"}
+@String{pub-DPUNKT-PRO:adr = "????"}
+
+@String{pub-EEI = "Editorial Experts, Inc."}
+@String{pub-EEI:adr = "Alexandria, VA, USA"}
+
+@String{pub-ELLIS-HORWOOD = "Ellis Horwood"}
+@String{pub-ELLIS-HORWOOD:adr = "New York, NY, USA"}
+
+@String{pub-ELS = "Elsevier Science Publishers B.V."}
+@String{pub-ELS:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-ENH = "Elsevier North-Holland, Inc."}
+@String{pub-ENH:adr = "New York, NY, USA"}
+
+@String{pub-ETHIO = "EthiO Systems Co."}
+@String{pub-ETHIO:adr = "P.O. Box 36921, Houston, TX 77236, USA"}
+
+@String{pub-EUH = "Editore Ulrico Hoepli"}
+@String{pub-EUH:adr = "Ulrico Hoepli Editore S.p.A., via Hoepli 5,
+ 20121 Milano, Italy"}
+
+@String{pub-EUUG = "European UNIX Users Group"}
+@String{pub-EUUG:adr = "Buntingford, Herts, UK"}
+
+@String{pub-EYROLLES = "Editions Eyrolles"}
+@String{pub-EYROLLES:adr = "Paris, France"}
+
+@String{pub-FCGCC = "F{\'e}d{\'e}ration C. G. C. de la
+ Communication"}
+@String{pub-FCGCC:adr = ""}
+
+@String{pub-FSF = "{Free Software Foundation, Inc.}"}
+@String{pub-FSF:adr = "51 Franklin Street, Fifth Floor, Boston,
+ MA 02110-1301, USA, Tel: (617) 876-3296"}
+
+@String{pub-GNU-PRESS = "GNU Press"}
+@String{pub-GNU-PRESS:adr = "Boston, MA, USA"}
+
+@String{pub-GODINE = "David R. Godine, Publisher"}
+@String{pub-GODINE:adr = "Boston, MA, USA"}
+
+@String{pub-GOLEM = "Golem Press"}
+@String{pub-GOLEM:adr = "Boulder, CO, USA"}
+
+@String{pub-GP = "Graphics Press"}
+@String{pub-GP:adr = "Box 430, Cheshire, CT 06410, USA"}
+
+@String{pub-HALSTED = "Halsted Press"}
+@String{pub-HALSTED:adr = "New York, USA"}
+
+@String{pub-HAMISH = "Hamish Hamilton"}
+@String{pub-HAMISH:adr = "London"}
+
+@String{pub-HANSER = "Carl Hanser"}
+@String{pub-HANSER:adr = "M{\"u}nchen, Germany"}
+
+@String{pub-HARTLEY-MARKS = "Hartley \& Marks Publishers"}
+@String{pub-HARTLEY-MARKS:adr = "Point Roberts, WA, USA and Vancouver, BC,
+ Canada"}
+
+@String{pub-HARVARD-INFO-TECH = "Harvard Univ. Of. for Info. and Tech."}
+@String{pub-HARVARD-INFO-TECH:adr = "Cambridge, MA, USA"}
+
+@String{pub-HHP = "Hastings House, Publishers"}
+@String{pub-HHP:adr = "New York, NY, USA"}
+
+@String{pub-HLRA = "Harvard Law Review Association"}
+@String{pub-HLRA:adr = "Cambridge, MA, USA"}
+
+@String{pub-HRP = "Harper \& Row, Publishers"}
+@String{pub-HRP:adr = "New York, NY, USA"}
+
+@String{pub-HSCHV = "Universit{\"a}tsdruckerei und Verlag Hermann
+ Schmidt"}
+@String{pub-HSCHV:adr = "Mainz, Germany"}
+
+@String{pub-IBM = "IBM Corporation"}
+@String{pub-IBM:adr = "San Jose, CA, USA"}
+
+@String{pub-IE = "InterEditions"}
+@String{pub-IE:adr = "Paris, France"}
+
+@String{pub-IEEE = "IEEE Computer Society Press"}
+@String{pub-IEEE:adr = "1109 Spring Street, Suite 300, Silver
+ Spring, MD 20910, USA"}
+
+@String{pub-INRIA = "INRIA/IRISA"}
+@String{pub-INRIA:adr = "Rennes, France"}
+
+@String{pub-IREE = "IREE"}
+@String{pub-IREE:adr = "Edgecliff, NSW, Australia"}
+
+@String{pub-IRISA = "IRISA"}
+@String{pub-IRISA:adr = "Rennes, France"}
+
+@String{pub-IST = "Imaging Science \& Technology"}
+@String{pub-IST:adr = "????"}
+
+@String{pub-ITP = "International Thomson Publishing"}
+@String{pub-ITP:adr = "London, New York, Boston, Madrid,
+ \\ldots{}"}
+
+@String{pub-ITPG = "International Thomson Publishing GmbH"}
+@String{pub-ITPG:adr = "K{\"o}nigswintere Str. 418, 53227 Bonn,
+ Germany"}
+
+@String{pub-KLUWER = "Kluwer Academic Publishers Group"}
+@String{pub-KLUWER:adr = "Norwell, MA, USA"}
+
+@String{pub-KOMPUT = "a/S ``KompuT'' kirjastus"}
+@String{pub-KOMPUT:adr = "Tartumaa, Estonia"}
+
+@String{pub-KOSMOINFORM = "Kosmosinform"}
+@String{pub-KOSMOINFORM:adr = "Moscow, Russia"}
+
+@String{pub-LEARNED-INF = "Learned Information"}
+@String{pub-LEARNED-INF:adr = "Medford, NJ, USA"}
+
+@String{pub-LEHMANNS = "Lehmanns"}
+@String{pub-LEHMANNS:adr = "Berlin, Germany"}
+
+@String{pub-LUND-HUMPHRIES = "Lund Humphries"}
+@String{pub-LUND-HUMPHRIES:adr = "London, UK"}
+
+@String{pub-MARSZALEK = "Adam Marsza{\l}ek"}
+@String{pub-MARSZALEK:adr = "Toru{\'n}, Poland"}
+
+@String{pub-MASARYKOVA = "Masarykova Universita"}
+@String{pub-MASARYKOVA:adr = "Brno, Czechoslovakia"}
+
+@String{pub-MASSON = "Masson Editeur"}
+
+@String{pub-MASSON-SA = "Masson, S.A."}
+@String{pub-MASSON-SA:adr = "Barcelona, Spain"}
+@String{pub-MASSON:adr = "Paris, France"}
+
+@String{pub-MATH-ASSOC-AMER = "Mathematical Association of America"}
+@String{pub-MATH-ASSOC-AMER:adr = "Washington, DC, USA"}
+
+@String{pub-MH = "McGraw-Hill"}
+@String{pub-MH:adr = "New York, NY, USA"}
+
+@String{pub-MIR = "Mir Publishers"}
+@String{pub-MIR:adr = "Moscow, Russia"}
+
+@String{pub-MIT = "MIT Press"}
+@String{pub-MIT:adr = "Cambridge, MA, USA"}
+
+@String{pub-MLAA = "Modern Language Association of America"}
+@String{pub-MLAA:adr = "New York, NY, USA"}
+
+@String{pub-NAB = "New Amsterdam Books"}
+@String{pub-NAB:adr = "New York, NY, USA"}
+
+@String{pub-NBS = "U.S. National Bureau of Standards"}
+@String{pub-NBS:adr = "Gaithersburg, MD, USA"}
+
+@String{pub-NH = "North-Holland Publishing Company"}
+@String{pub-NH:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-NIGGLI = "Niggli/Hatje"}
+@String{pub-NIGGLI:adr = "Heiden, Stuttgart, Germany"}
+
+@String{pub-NORTON = "W. W. Norton \& Co."}
+@String{pub-NORTON:adr = "New York, NY, USA"}
+
+@String{pub-OHIO = "Ohio University Press"}
+@String{pub-OHIO:adr = "Athens, OH, USA"}
+
+@String{pub-OLDENBOURG = "R. Oldenbourg Verlag"}
+@String{pub-OLDENBOURG:adr = "Munich, Germany and Vienna, Austria"}
+
+@String{pub-ORA = "O'Reilly \&{Associates, Inc.}"}
+@String{pub-ORA:adr = "981 Chestnut Street, Newton, MA 02164, USA"}
+
+@String{pub-ORA-FRANCE = "O'Reilly"}
+@String{pub-ORA-FRANCE:adr = "Paris, France"}
+
+@String{pub-OUP = "Oxford University Press"}
+@String{pub-OUP:adr = "Walton Street, Oxford OX2 6DP, UK"}
+
+@String{pub-PEACHPIT = "Peachpit Press, Inc."}
+@String{pub-PEACHPIT:adr = "1085 Keith Avenue, Berkeley, CA 94708, USA"}
+
+@String{pub-PFLAUM = "Pflaum"}
+@String{pub-PFLAUM:adr = "M{\"u}nchen, Germany"}
+
+@String{pub-PH = "Pren{\-}tice-Hall"}
+@String{pub-PH:adr = "Upper Saddle River, NJ 07458, USA"}
+
+@String{pub-PHISMATHLIT = "Phismathlit"}
+@String{pub-PHISMATHLIT:adr = "Moscow, Russia"}
+
+@String{pub-PHPTR = "Pren{\-}tice-Hall PTR"}
+@String{pub-PHPTR:adr = "Upper Saddle River, NJ 07458, USA"}
+
+@String{pub-PITAGORA = "Pitagora Editrice"}
+@String{pub-PITAGORA:adr = "Via del legatore, 3, Bologna, Italy"}
+
+@String{pub-POLYGRAPH = "Polygraph Verlag"}
+@String{pub-POLYGRAPH:adr = "Frankfurt am Main, Germany"}
+
+@String{pub-PRIME-TIME-FREEWARE = "Prime Time Freeware"}
+@String{pub-PRIME-TIME-FREEWARE:adr = "370 Altair Way, Suite 150, Sunnyvale,
+ CA, USA"}
+
+@String{pub-PROTVINO = "Protvino"}
+@String{pub-PROTVINO:adr = "Moscow, Russia"}
+
+@String{pub-PTI = "Personal{\TeX} Inc."}
+@String{pub-PTI:adr = "12 Madrona Street, Mill Valley, CA 94941,
+ USA"}
+
+@String{pub-PUP = "Princeton University Press"}
+@String{pub-PUP:adr = "Princeton, NJ, USA"}
+
+@String{pub-RISO = "Ris{\o} National Laboratory"}
+@String{pub-RISO:adr = "Roskilde, Denmark"}
+
+@String{pub-RRB = "R. R. Bowker Company"}
+@String{pub-RRB:adr = "New York, NY, USA"}
+
+@String{pub-SERIF = "Serif Publishing"}
+@String{pub-SERIF:adr = "A subsidiary of Xerox Corporation, 701
+ South Aviation Boulevard, El Segundo, CA
+ 90245, USA"}
+
+@String{pub-SF = "Scott, Foresman and Company"}
+@String{pub-SF:adr = "Glenview, IL, USA"}
+
+@String{pub-SIAM = "Society for Industrial and Applied
+ Mathematics"}
+@String{pub-SIAM:adr = "Philadelphia, PA, USA"}
+
+@String{pub-SILICON = "Silicon Press"}
+@String{pub-SILICON:adr = "25 Beverly Road, Summit, NJ 07901, USA"}
+
+@String{pub-SOC-SCHOL-PUB = "Society for Scholarly Publishing"}
+@String{pub-SOC-SCHOL-PUB:adr = "Washington, DC, USA"}
+
+@String{pub-SP = "Shapolsky Publishers"}
+@String{pub-SP:adr = "New York, NY, USA"}
+
+@String{pub-STA = "Society of Typographic Arts"}
+@String{pub-STA:adr = "Chicago, IL, USA"}
+
+@String{pub-STEINER = "Steiner"}
+@String{pub-STEINER:adr = "Stuttgart, Germany"}
+
+@String{pub-SUCSLI = "Stanford University Center for the Study of
+ Language and Information"}
+@String{pub-SUCSLI:adr = "Stanford, CA, USA"}
+
+@String{pub-SV = "Spring{\-}er-Ver{\-}lag"}
+@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/
+ London, UK~/ etc."}
+
+@String{pub-SYBEX = "Sybex"}
+@String{pub-SYBEX:adr = "2021 Challenger Driver, Suite 100, Alameda,
+ CA 94501, USA"}
+
+@String{pub-TEXPLORATORS = "The {\TeX}plorators Corporation"}
+@String{pub-TEXPLORATORS:adr = "3701 W. Alabama, Suite 450-273, Houston, TX
+ 77027, USA"}
+
+@String{pub-TH = "Thames and Hudson"}
+@String{pub-TH:adr = "London, UK"}
+
+@String{pub-TUB = "Technische Universit{\"a}t Berlin, Institut
+ f{\"u}r Humanwissenschaft in Arbeit und
+ Ausbildung"}
+@String{pub-TUB:adr = "10623 Berlin, Germany"}
+
+@String{pub-U-CAL-PRESS = "University of California Press"}
+@String{pub-U-CAL-PRESS:adr = "Berkeley, CA, USA"}
+
+@String{pub-U-CHICAGO-PRESS = "University of Chicago Press"}
+@String{pub-U-CHICAGO-PRESS:adr = "Chicago, IL, USA"}
+
+@String{pub-UNIC = "UNI{$\bullet$}C"}
+@String{pub-UNIC:adr = "Danmarks EDB-Center for Forskning og
+ Uddannelse, Copenhagen, Denmark"}
+
+@String{pub-URW = "URW (Unternehmensberatung Rubow Weber)
+ Verlag"}
+@String{pub-URW:adr = "Hamburg, Germany"}
+
+@String{pub-UTP = "University of Toronto Press"}
+@String{pub-UTP:adr = "Toronto, Ontario, Canada"}
+
+@String{pub-VIEWEG = "Friedrich Vieweg und Sohn"}
+@String{pub-VIEWEG:adr = "Braunschweig, Germany"}
+
+@String{pub-VNR = "Van Nostrand Reinhold"}
+@String{pub-VNR:adr = "New York, NY, USA"}
+
+@String{pub-VOGEL = "Vogel Verlag"}
+@String{pub-VOGEL:adr = "Postfach 67 40, D-8700 W{\"u}rzburg,
+ Germany"}
+
+@String{pub-W = "Wiley"}
+@String{pub-W:adr = "Chichester, UK"}
+
+@String{pub-WCB = "William C. Brown Company Publishers"}
+@String{pub-WCB:adr = "Dubuque, IA, USA"}
+
+@String{pub-WGP = "Wat{\-}son-Gup{\-}till Publications"}
+@String{pub-WGP:adr = "1515 Broadway, New York, NY 10036, USA"}
+
+@String{pub-WILEY = "John Wiley and Sons, Inc."}
+@String{pub-WILEY:adr = "New York, NY, USA"}
+
+@String{pub-WORLD-SCI = "World Scientific"}
+@String{pub-WORLD-SCI:adr = "Singapore"}
+
+@String{pub-WPC = "Wadsworth Publishing Company"}
+@String{pub-WPC:adr = "Belmont, CA, USA"}
+
+@String{pub-WWS = "The Wynkyn de Worde Society and Bund
+ Deutscher Buchk{\"u}nstler"}
+@String{pub-WWS:adr = "London, UK and Offenbach, Germany"}
+
+@String{pub-YUP = "Yale University Press"}
+@String{pub-YUP:adr = "New Haven, CT, USA"}
+
+%%% ====================================================================
+%%% Series abbreviations:
+
+@String{ser-LNCS = "Lecture Notes in Computer Science"}
+
+%%% ====================================================================
+%%% Bibliography entries:
+
+@Book{Abdelhamid:1992:VLB,
+ author = "Rames Abdelhamid",
+ title = "{Das Vieweg {\LaTeX}-Buch: Eine praxisorientierte
+ Einf{\"u}hrung}",
+ publisher = pub-VIEWEG,
+ address = pub-VIEWEG:adr,
+ pages = "xiii + 169",
+ year = "1992",
+ ISBN = "3-528-05145-0",
+ ISBN-13 = "978-3-528-05145-7",
+ bibdate = "Sat Mar 07 08:50:13 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Abdelhamid:1993:VLB,
+ author = "Rames Abdelhamid",
+ title = "{Das Vieweg {\LaTeX}-Buch: Eine praxisorientierte
+ Einf{\"u}hrung}",
+ publisher = pub-VIEWEG,
+ address = pub-VIEWEG:adr,
+ edition = "Second",
+ pages = "xvi + 169",
+ year = "1993",
+ ISBN = "3-528-15145-5",
+ ISBN-13 = "978-3-528-15145-4",
+ bibdate = "Wed Mar 2 08:33:46 1994",
+ acknowledgement = ack-rz,
+}
+
+@Book{Abdelhamid:1996:VLB,
+ author = "Rames Abdelhamid",
+ title = "{Das Vieweg {\LaTeX}-Buch: Eine praxisorientierte
+ Einf{\"u}hrung}",
+ publisher = pub-VIEWEG,
+ address = pub-VIEWEG:adr,
+ edition = "Third",
+ pages = "xviii + 226",
+ year = "1996",
+ ISBN = "3-528-15145-5",
+ ISBN-13 = "978-3-528-15145-4",
+ bibdate = "Sat Mar 07 08:51:07 1998",
+ note = "The ISBN did not change between second and third
+ editions.",
+ price = "44,00 DM",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Abikoff:1986:T,
+ author = "William Abikoff",
+ title = "{\TeX}",
+ journal = j-MATHINTEL,
+ volume = "8",
+ number = "3",
+ pages = "64--76",
+ year = "1986",
+ bibdate = "Fri Mar 12 09:43:47 1993",
+ acknowledgement = ack-ps,
+}
+
+@Article{Abikoff:1988:TEA,
+ author = "William Abikoff",
+ title = "{\TeX}: The Ease and Art of Text Processing",
+ journal = j-ABACUS,
+ volume = "5",
+ number = "4",
+ pages = "10--29",
+ month = "summer",
+ year = "1988",
+ CODEN = "ABACE",
+ ISSN = "0724-6722",
+ bibdate = "Thu Sep 01 00:29:22 1994",
+ abstract = "Discusses the various facets of text-processing
+ systems. The common thread is a discussion of the TEX
+ system of text-processing and typesetting developed by
+ Donald Knuth. The paper also discusses its accompanying
+ program, METAFONT which creates characters to be
+ printed. (0 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C6130D (Document processing techniques)",
+ keywords = "Character creation; METAFONT; TeX; TEX system;
+ Text-processing systems; Typesetting",
+ thesaurus = "Word processing",
+}
+
+@Book{Abrahams:1990:TI,
+ author = "Paul W. Abrahams and Karl Berry and Kathryn A.
+ Hargreaves",
+ title = "{\TeX} for the Impatient",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 357",
+ year = "1990",
+ ISBN = "0-201-51375-7",
+ ISBN-13 = "978-0-201-51375-2",
+ LCCN = "Z253.4.T47 A27 1990",
+ bibdate = "Tue Jul 26 08:43:39 1994",
+}
+
+@Book{Abrahams:1991:TI,
+ author = "Paul W. Abrahams and Karl Berry and Kathryn A.
+ Hargreaves",
+ title = "{\TeX} per l'impaziente",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "396",
+ year = "1991",
+ ISBN = "88-7192-022-8",
+ ISBN-13 = "978-88-7192-022-1",
+ bibdate = "Tue Jul 26 08:43:41 1994",
+ note = "This is an translation to Italian of
+ \cite{Abrahams:1990:TI}, with additional material on
+ Italian hyphenation.",
+ acknowledgement = ack-cb,
+ bookreview = "TUGboat 14, number 4, December 1993, 421--422",
+ translator = "Gaia Franchi and Guido Franchi",
+}
+
+@InProceedings{Adams:1991:EFQ,
+ author = "Debra A. Adams",
+ title = "Evaluating font quality: {A} method of predicting
+ character image defects",
+ crossref = "Pietrowski:1991:ISI",
+ pages = "353--364",
+ year = "1991",
+ bibdate = "Tue Mar 1 11:52:23 1994",
+ acknowledgement = ack-kb,
+}
+
+@Book{Adobe:1985:PLR,
+ author = "{Adobe Systems Incorporated}",
+ title = "{\POSTSCRIPT} Language Reference Manual",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "ix + 321",
+ year = "{\noopsort{1985a}}1985",
+ ISBN = "0-201-10174-2",
+ ISBN-13 = "978-0-201-10174-4",
+ LCCN = "QA76.73.P67 A33 1985",
+ bibdate = "Tue Dec 14 23:18:17 1993",
+}
+
+@Book{Adobe:1985:PLT,
+ author = "{Adobe Systems Incorporated}",
+ title = "{\POSTSCRIPT} Language Tutorial and Cookbook",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "x + 243",
+ year = "{\noopsort{1985b}}1985",
+ ISBN = "0-201-10179-3",
+ ISBN-13 = "978-0-201-10179-9",
+ LCCN = "QA76.73.P67 A34 1985",
+ bibdate = "Tue Dec 14 23:18:32 1993",
+}
+
+@Manual{Adobe:1988:DPS,
+ title = "The Display {\POSTSCRIPT} System Reference",
+ organization = pub-ADOBE,
+ address = pub-ADOBE:adr,
+ month = oct # " 10",
+ year = "1988",
+ bibdate = "Sat Feb 10 14:47:06 1996",
+}
+
+@Manual{Adobe:1990:ATF,
+ title = "Adobe Type 1 Font Format",
+ organization = pub-ADOBE,
+ address = pub-ADOBE:adr,
+ month = mar,
+ year = "1990",
+ bibdate = "Sat Feb 10 14:47:04 1996",
+ partnumber = "LPS0064",
+}
+
+@Misc{Adobe:19xx:CAS,
+ author = "{Adobe Systems Incorporated}",
+ title = "{Colophon}\emdash {Adobe Systems News} {Publication}",
+ year = "19xx",
+}
+
+@InProceedings{Agostini:1985:IUF,
+ author = "M. Agostini and V. Matano and M. Schaerf and M.
+ Vascotto",
+ title = "An {Interactive User-Friendly \TeX} in {VM\slash CMS
+ Environment}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "117--132",
+ year = "1985",
+ bibdate = "Sat Feb 10 08:47:13 1996",
+ acknowledgement = ack-hk,
+}
+
+@Article{Aiello:1983:SPD,
+ author = "L. Aiello and S. Pavan",
+ title = "A system for the production of documents based on
+ {\TeX} (in Italian)",
+ journal = j-RIV-INFO-MILANO,
+ volume = "13",
+ number = "3",
+ pages = "261--270",
+ month = jul,
+ year = "1983",
+ bibdate = "Thu Jul 21 19:48:28 1994",
+}
+
+@Book{Alamnehe:1993:EDP,
+ author = "Abass Alamnehe",
+ title = "{e\LaTeX}: Document Preparation Guide",
+ publisher = pub-ETHIO,
+ address = pub-ETHIO:adr,
+ pages = "xvi + 230",
+ year = "1993",
+ bibdate = "Fri Apr 1 09:00:27 1994",
+ note = "This book is typeset in {e\LaTeX}, an Ethiopic-based
+ version of {\LaTeX}, and is entirely in the Amharic
+ language, including many of the control sequences.",
+ acknowledgement = ack-aa,
+}
+
+@Article{Alexander:1992:TTP,
+ author = "George Alexander",
+ title = "{\TeX} and {\TeX}tures: Page Composition in a
+ Completely Different Vein",
+ journal = j-SEYBOLD,
+ volume = "7",
+ number = "1",
+ pages = "3--7",
+ month = sep # " 4",
+ year = "1992",
+ CODEN = "SRDFE",
+ ISSN = "0889-9762",
+ bibdate = "Thu Sep 01 01:17:35 1994",
+ abstract = "{\TeX} is a typesetting system that is used for
+ publishing scholarly material, especially works
+ containing heavy mathematics. It is popular at
+ universities and research facilities around the world,
+ but it is hardly known outside academic circles. Since
+ {\TeX} is available on desktop platforms (as well as on
+ mainframes and minicomputers), it is competitive to
+ some extent with desktop publishing software. There are
+ still many applications where {\TeX} produces results
+ that are better than those of standard desktop
+ packages. There are a few things {\TeX} can do that
+ couldn't be practically done with desktop software.
+ There is a new {\TeX} implementation, {\TeX}tures,
+ which moves {\TeX} a little closer to the desktop
+ mainstream. It holds out the hope that {\TeX} may yet
+ have the potential to become as easy to use as other
+ desktop packages. The author discusses the innovations
+ built in to {\TeX}, its strengths and weaknesses, and
+ its uses. (0 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "D2105 (Media-TV, radio, press)",
+ keywords = "Desktop publishing software; Page composition; TeX;
+ Textures; Typesetting system",
+ thesaurus = "Computer controlled typesetting; Electronic
+ publishing",
+}
+
+@Article{Allen:1982:CCD,
+ author = "F. H. Allen and O. Kennard and D. G. Watson and K. M.
+ Crennell",
+ title = "{Cambridge Crystallographic Data Centre}. 6.
+ {Preparation} and computer typesetting of ``molecular
+ structures and dimensions'' bibliographic volumes",
+ journal = j-J-CHEM-INFO-COMP-SCI,
+ volume = "22",
+ number = "3",
+ pages = "129--138",
+ month = aug,
+ year = "1982",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation",
+ subject = "H.3.1 Information Systems, INFORMATION STORAGE AND
+ RETRIEVAL, Content Analysis and Indexing, Dictionaries
+ \\ H.3.4 Information Systems, INFORMATION STORAGE AND
+ RETRIEVAL, Systems and Software, Information networks
+ \\ J.2 Computer Applications, PHYSICAL SCIENCES AND
+ ENGINEERING, Chemistry",
+}
+
+@Article{Allport:1992:OND,
+ author = "G. Allport and P. Jarratt",
+ title = "The old and the new in document processing",
+ journal = j-ELECTRONIC-LIBRARY,
+ volume = "10",
+ number = "1",
+ pages = "41--45",
+ month = feb,
+ year = "1992",
+ CODEN = "ELLID",
+ ISSN = "0264-0473",
+ bibdate = "Thu Sep 01 01:19:02 1994",
+ abstract = "{\TeX} is a well-known system for the production of
+ quality documents, offering the user a high degree of
+ sophistication in the specification of the final
+ format. It has companion packages (most notably
+ {\LaTeX}) which allow other document processing
+ activities, including the production of new fonts,
+ pictures and extended production systems. The project
+ discussed was aimed at rescuing the full power of
+ {\TeX} packages in the newly emerging X-Windows
+ technological context. The authors describe software
+ which was produced to take full advantage of the
+ facilities of both systems by translating {\TeX} output
+ into bit-mapped images which can then be displayed on
+ an X-terminal and mixed with such facilities as the
+ extra fonts available and bit-maps produced in the
+ X-environment. An interactive environment is defined
+ that gives the user flexibility in the creation of a
+ document of high quality with a friendly human-computer
+ interface, which allows the windowing environment to
+ give a new look to an old and well-tried system. (4
+ Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Sch. of Comput. Sci., Birmingham Univ., UK",
+ classification = "C6130D (Document processing techniques); C6180G
+ (Graphical user interfaces); C7106 (Word processing)",
+ keywords = "Bit-mapped images; Document processing; Fonts;
+ Human-computer interface; Interactive environment;
+ LaTeX; TeX; X-terminal; X-Windows",
+ thesaurus = "Character sets; Graphical user interfaces; Interactive
+ systems; Word processing",
+}
+
+@Article{Alt:1973:CPT,
+ author = "F. L. Alt and J. Kirk",
+ title = "Computer Photocomposition of Technical Text",
+ journal = j-CACM,
+ volume = "16",
+ number = "6",
+ pages = "??--??",
+ month = jun,
+ year = "1973",
+ CODEN = "CACMA2",
+ ISSN = "0001-0782",
+ bibdate = "Tue May 28 11:53:03 1996",
+ abstract = "In computer assisted typesetting by means of
+ photocomposition, special problems arise in highly
+ technical material such as mathematical formulas. New
+ solutions to several of these problems have been
+ devised in the information system of the American
+ Institute of Physics. They include: the representation
+ of special characters (foreign alphabets, mathematical
+ symbols, etc.) not available on input keyboards or on
+ the photocomposer; the generation of such symbols, e.g.
+ by overprinting; the precise positioning of accent
+ marks (floating diacritics); line breaks, i.e. words or
+ formulas placed partly at the end of one line and
+ partly at the beginning of the next; and certain
+ aspects of error correction.",
+ keywords = "photocomposition, typesetting, printing, graphics,
+ text processing",
+}
+
+@Book{Ament:2001:INB,
+ author = "Kurt Ament",
+ title = "Indexing: a nuts-and-bolts guide for technical
+ writers",
+ publisher = "William Andrew Publishing",
+ address = "Norwich, NY, USA",
+ pages = "x + 97",
+ year = "2001",
+ ISBN = "0-8155-1481-6",
+ ISBN-13 = "978-0-8155-1481-7",
+ LCCN = "T10.8 .A44 2001",
+ bibdate = "Fri Jun 17 06:26:43 MDT 2005",
+ bibsource = "z3950.loc.gov:7090/Voyager",
+ URL = "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
+ http://www.loc.gov/catdir/description/wap041/2001033646.html;
+ http://www.loc.gov/catdir/toc/wap041/2001033646.html;
+ http://www.williamandrew.com/books.asp?id=1481",
+ acknowledgement = ack-nhfb,
+ remark = "",
+ subject = "Technology; Abstracting and indexing; Science;
+ Abstracting and indexing",
+}
+
+@Article{Andre:1983:ABT,
+ author = "Jacques Andr\'e",
+ title = "Analytical bibliography on text manipulation",
+ journal = j-TSI,
+ volume = "1",
+ number = "5",
+ year = "1983",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Andre:1985:ETM,
+ author = "Jacques Andr\'e and Richard Southall",
+ title = "Experiments in teaching {\METAFONT}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "141--153",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:29:08 1994",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Andre:1985:TIM,
+ author = "Jacques Andr\'e and Yann Grundt and Vincent Quint",
+ title = "Towards an Interactive Math Mode in {\TeX}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "79--92",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:29:02 1994",
+}
+
+@Book{Andre:1992:ETN,
+ author = "Jacques Andr\'e",
+ title = "Enseigner la typographie num\'erique ({\em English\/}:
+ Teaching digital typography)",
+ volume = "1618",
+ publisher = "Institut National de Recherche en Informatique et en
+ Automatique",
+ address = "Le Chesnay, France",
+ pages = "23",
+ year = "1992",
+ bibdate = "Sat Feb 10 14:47:51 1996",
+ bibsource = "OCLC FirstSearch",
+ series = "Rapports de recherche",
+ abstract = "Didot is a project of tuition of digital typography.
+ In this paper, the domain of digital typography is made
+ explicit, a curriculum for computer scientists, based
+ on previous curriculum for computer scientists, based
+ on previous experiences, is proposed, and a basic
+ bibliography is given.",
+ acknowledgement = ack-nhfb,
+ xxISBN = "(none??)",
+}
+
+@Book{Anonymous:1982:CMS,
+ author = "Anonymous",
+ key = "Chicago",
+ title = "The Chicago Manual of Style",
+ publisher = pub-U-CHICAGO-PRESS,
+ address = pub-U-CHICAGO-PRESS:adr,
+ edition = "13th",
+ pages = "ix + 737",
+ year = "1982",
+ ISBN = "0-226-10390-0",
+ ISBN-13 = "978-0-226-10390-7",
+ LCCN = "Z253 .U69 1982",
+ bibdate = "Fri Jul 22 08:53:35 1994",
+ price = "UK\pounds30",
+ abstract = "For over seventy-five years the University of Chicago
+ Press `Manual of Style' has been the standard reference
+ tool for authors, editors, copywriters, and
+ proofreaders. Updated many times since 1906, it now
+ goes into its thirteenth edition---the first to
+ introduce a change in title. Bowing to what has become
+ nearly universal usage, we now call the `Manual' what
+ everybody else calls it, `The Chicago Manual of
+ Style'---or, for short, `The Chicago Manual'.\par Two
+ pervasive features characterize the present edition: it
+ reflects the impact of the new technology on the entire
+ editing and publishing process, and it spells out, in
+ greater detail and with many more examples, the
+ procedures with which it deals. It is, in short, much
+ more a ``how-to'' book for authors and editors than was
+ its predecessor. In chapter 2, on manuscript
+ preparation and copyediting, for example, new sections
+ have been added on how to mark a manuscript and how to
+ mark type specifications on a script. Chapter 12
+ (``Tables''), completely rewritten, begins with advice
+ on how to make a table from raw data. Chapters 15
+ through 17, on documentation, have been reorganized and
+ greatly expanded, offering many more alternative
+ methods of citation and a wealth of examples. In
+ chapter 18 (``Indexes''), clear step-by-step procedures
+ for the mechanics of index making are set forth. The
+ terminology and methodology of technological advances
+ (in word processing, computerized electronic
+ typesetting, and the like) are reflected most
+ prominently in chapter 20, ``Composition, Printing, and
+ Binding'' (new to this edition), and in the Glossary.
+ Other notable features of the present edition are
+ chapter 4 (``Rights and Permissions''), rewritten in
+ light of the new copyright law, and chapter 9
+ (``Foreign Languages''), which includes a new table of
+ dicritics, a pinyin (Chinese) conversion chart and data
+ on several more languages.\par Throughout, `The Chicago
+ Manual' aims to give clear and straightforward
+ guidelines for preparing and editing copy---with the
+ emphasis on the sensible, the practical, and the
+ economical. As did its predecessors, the thirteenth
+ edition of the `Manual' states the style preferences of
+ the University of Chicago Press and reflects the
+ current practices and requirements of the great
+ majority of American publishers.",
+ acknowledgement = ack-fm # " and " # ack-jpl,
+ annote = "The standard American work on typesetting style etc.
+ (CHe)",
+ bibliography = "yes",
+ glossary = "yes",
+ history = "First edition, 1906, 12th edition 1969",
+ index = "yes",
+ inprint = "yes",
+ keywords = "printing, practical style manuals, authorship
+ handbooks, authorship manuals",
+ printermarks = "yes",
+ subtitle = "Rules for Authors, Printers and Publishers",
+}
+
+@Book{Anonymous:1984:PMA,
+ author = "Anonymous",
+ key = "APA",
+ title = "Publication Manual of the American Psychological
+ Association",
+ publisher = pub-APA,
+ address = pub-APA:adr,
+ edition = "third",
+ pages = "208",
+ year = "1984",
+ ISBN = "0-912704-57-8",
+ ISBN-13 = "978-0-912704-57-9",
+ LCCN = "BF76.7 .P83 1983",
+ bibdate = "Tue Mar 1 11:52:52 1994",
+ acknowledgement = ack-fm,
+ annote = "The book contains style guidelines known as the APA
+ style. This ranges from spelling conventions to table
+ formatting. The guidelines assume that papers are
+ produced using a typewriter. The book itself shows a
+ very unpleasant design making reading are hard task.",
+ bibliography = "yes",
+ index = "yes",
+ keywords = "document preparation guidelines, style guidelines,
+ communications in psychology, psychology authorship,
+ American Psychological Association, publication manual,
+ writing",
+}
+
+@Book{Anonymous:1987:CGP,
+ author = "Anonymous",
+ title = "{Chicago Guide to Preparing Electronic Manuscripts}
+ (For Authors and Publishers)",
+ publisher = pub-U-CHICAGO-PRESS,
+ address = pub-U-CHICAGO-PRESS:adr,
+ pages = "xi + 143",
+ year = "1987",
+ ISBN = "0-226-10392-7 (hardcover), 0-226-10393-5 (paperback)",
+ ISBN-13 = "978-0-226-10392-1 (hardcover), 978-0-226-10393-8
+ (paperback)",
+ LCCN = "Z286.E43 U54 1987",
+ bibdate = "Fri Jul 22 11:10:32 1994",
+ note = "Short bibliography, examples, appendices, index",
+ acknowledgement = ack-jpl,
+ annote = "Describes techniques for electronic submission of
+ manuscripts, rather than camera-ready copy. Discusses
+ publication process from acquisition through
+ typesetting, from perspective of author and
+ publisher.",
+}
+
+@TechReport{Anonymous:1988:CDG,
+ author = "Anonymous",
+ key = "IBM",
+ title = "Composing Documents with the Generalized Markup
+ Language",
+ number = "S544-3421",
+ institution = pub-IBM,
+ address = pub-IBM:adr,
+ edition = "Second",
+ month = mar,
+ year = "1988",
+ bibdate = "Mon Jul 25 11:12:22 1994",
+ acknowledgement = ack-fm,
+ keywords = "GML, document preparation systems, DTD, SCRIPT
+ (Computer Program), DCF (Computer Program)",
+}
+
+@Manual{Anonymous:1989:CT,
+ title = "Code Typographique\emdash Choix de r{\`e}gles {\`a}
+ l'usage des auteurs et professionels du livre",
+ organization = pub-FCGCC,
+ address = pub-FCGCC:adr,
+ edition = "Seizi{\`e}me",
+ year = "1989",
+ bibdate = "Tue Mar 1 11:59:23 1994",
+ note = "This book is a compendium of rules for French
+ typography, and for the typesetting of several foreign
+ languages in French texts. It includes tables of
+ diacritics for most European languages, and hyphenation
+ rules for English, German, Greek, Italian, Latin,
+ Portuguese, and Spanish.",
+}
+
+@Book{Anonymous:1990:JTB,
+ author = "Anonymous",
+ key = "JAPANESETEXNICOLOR",
+ title = "The Japanese {\TeX}{\-}ni{\-}color Book",
+ publisher = pub-ASCII,
+ address = pub-ASCII:adr,
+ year = "1990",
+ ISBN = "4-7561-0405-3",
+ ISBN-13 = "978-4-7561-0405-2",
+ note = "Japanese; contents include chapters on the history of
+ {\TeX} and of the Japanese {\TeX} extension, file
+ formats (fonts and {{\tt.dvi}}), and device drivers.",
+}
+
+@Article{Anonymous:1990:NTF,
+ author = "Anonymous",
+ key = "NEWTEXFEATURES",
+ title = "New {\TeX} Features from {AMS}",
+ journal = j-NAMS,
+ volume = "37",
+ number = "2",
+ pages = "143--144",
+ month = feb,
+ year = "1990",
+ ISSN = "0002-9920",
+}
+
+@Book{Anonymous:1991:B,
+ author = "Anonymous",
+ key = "Harvard Law Review Association",
+ title = "The Bluebook",
+ publisher = pub-HLRA,
+ address = pub-HLRA:adr,
+ edition = "15th",
+ pages = "xvii + 343",
+ year = "1991",
+ LCCN = "KF245 .U5 1991",
+ bibdate = "Fri Jul 22 12:36:10 1994",
+ acknowledgement = ack-fm,
+ history = "Compiled by the editors of the Columbia Law Review,
+ the Harward Law Review, the University of Pennsylvania
+ Law Review, and the Yale Law Journal",
+ index = "yes",
+ inprint = "yes",
+ keywords = "bibliographies, citation schemes, law",
+ subtitle = "A Uniform System of Citation",
+}
+
+@Book{Anonymous:1993:CMS,
+ author = "Anonymous",
+ key = "Chicago",
+ title = "The {Chicago} Manual of Style",
+ publisher = pub-U-CHICAGO-PRESS,
+ address = pub-U-CHICAGO-PRESS:adr,
+ edition = "14th",
+ pages = "ix + 921",
+ year = "1993",
+ ISBN = "0-226-10389-7",
+ ISBN-13 = "978-0-226-10389-1",
+ LCCN = "Z253 .U69 1993",
+ bibdate = "Mon Sep 23 08:57:34 1996",
+ price = "US\$40.00",
+ acknowledgement = ack-nhfb,
+ annote = "The standard American work on typesetting style etc.
+ (CHe)",
+ bibliography = "yes",
+ glossary = "yes",
+ history = "First edition 1906, 12th edition 1969, 13th edition
+ 1982, 14th edition 1993",
+ index = "yes",
+ inprint = "yes",
+ keywords = "authorship handbooks; authorship manuals; practical
+ style manuals; printing",
+ printermarks = "yes",
+ subtitle = "The Essential Guide for Writers, Editors and
+ Publishers",
+}
+
+@Book{Anonymous:1997:SW,
+ author = "Anonymous",
+ title = "{Scientific WorkPlace 2.5}",
+ publisher = pub-ITPG,
+ address = pub-ITPG:adr,
+ pages = "????",
+ year = "1997",
+ ISBN = "3-87439-375-5",
+ ISBN-13 = "978-3-87439-375-1",
+ LCCN = "????",
+ bibdate = "Mon Mar 02 09:06:24 1998",
+ note = "Includes CD-ROM.",
+ price = "DM 199,00",
+ URL = "http://www.itp.de/student/index.html",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Anonymous:2003:CMS,
+ author = "Anonymous",
+ title = "The {Chicago} Manual of Style",
+ publisher = pub-U-CHICAGO-PRESS,
+ address = pub-U-CHICAGO-PRESS:adr,
+ edition = "15th",
+ pages = "xvii + 956",
+ year = "2003",
+ ISBN = "0-226-10403-6",
+ ISBN-13 = "978-0-226-10403-4",
+ LCCN = "Z253 .U69 2003",
+ bibdate = "Wed Sep 10 17:32:05 2003",
+ price = "US\$55.00",
+ acknowledgement = ack-nhfb,
+ annote = "The standard American work on typesetting style etc.
+ (CHe)",
+ bibliography = "yes",
+ glossary = "yes",
+ history = "First edition 1906, 12th edition 1969, 13th edition
+ 1982, 14th edition 1993, 15th edition 2003",
+ index = "yes",
+ inprint = "yes",
+ keywords = "authorship handbooks; authorship manuals; practical
+ style manuals; printing",
+ printermarks = "yes",
+ subtitle = "The Essential Guide for Writers, Editors and
+ Publishers",
+}
+
+@Article{Antweiler:1989:TRI,
+ author = "Werner Antweiler and Andreas Strotmann and Volker
+ Winkelmann",
+ title = "A {\TeX}-{REDUCE} Interface",
+ journal = j-SIGSAM,
+ volume = "23",
+ number = "2",
+ pages = "26--33",
+ month = apr,
+ year = "1989",
+ CODEN = "SIGSBZ",
+ ISSN = "0163-5824",
+ bibdate = "Thu Mar 20 16:02:15 MST 1997",
+ acknowledgement = ack-nhfb,
+ classcodes = "C7310 (Mathematics); C6130 (Data handling techniques);
+ C7230 (Publishing and reproduction); C6140D (High level
+ languages); C6110 (Systems analysis and programming)",
+ corpsource = "Cologne Univ., Comput. Center, West Germany",
+ keywords = "algebra; algebraic; algorithms; capabilities; computer
+ controlled typesetting; design; E/X-REDUCE-interface;
+ high level; high quality output; indentation;
+ languages; line breaking; manipulation; mathematics
+ computing; performance; programming; readability;
+ REDUCE formulas; REDUCE-Lisp; symbol; T/sub; T/sub E/X;
+ T/sub E/X output; typesetting language; verification;
+ well known computer algebra system",
+ subject = "I.3.1 Computing Methodologies, COMPUTER GRAPHICS,
+ Hardware architecture, Raster display devices \\ I.7.1
+ Computing Methodologies, TEXT PROCESSING, Text Editing,
+ TeX",
+ treatment = "P Practical",
+}
+
+@InProceedings{Appelt:1985:HNE,
+ author = "Wolfgang Appelt",
+ title = "The Hyphenation of Non-{English} Words with {\TeX}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "61--65",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:28:56 1994",
+ acknowledgement = ack-hk,
+}
+
+@Book{Appelt:1988:TF,
+ author = "Wolfgang Appelt",
+ title = "{\TeX} f{\"u}r Fortgeschrittene",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "x + 179",
+ year = "1988",
+ ISBN = "3-89319-115-1",
+ ISBN-13 = "978-3-89319-115-4",
+ bibdate = "Wed Dec 15 08:47:26 1993",
+}
+
+@TechReport{Appelt:1990:TIG,
+ author = "Wolfgang Appelt",
+ title = "{Die {\TeX}-Installation in der GMD}",
+ type = "Arbeitspapiere der GMD",
+ institution = "Ges. f. Mathematik u. Datenverarbeitung",
+ address = "St. Augustin, Germany",
+ year = "1990",
+ bibdate = "Sat Mar 07 08:58:17 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Appelt:1994:TF,
+ author = "Wolfgang Appelt",
+ title = "{\TeX} f{\"u}r Fortgeschrittene",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xii + 183",
+ year = "1994",
+ ISBN = "3-89319-695-1",
+ ISBN-13 = "978-3-89319-695-1",
+ bibdate = "Tue Mar 1 14:25:32 MET 1994",
+ acknowledgement = ack-rz,
+}
+
+@Book{Arnold:1972:IPH,
+ author = "Edmund C. Arnold",
+ title = "Ink on Paper 2: a Handbook of the Graphic Arts",
+ publisher = pub-HRP,
+ address = pub-HRP:adr,
+ pages = "374",
+ year = "1972",
+ ISBN = "0-06-010131-8",
+ ISBN-13 = "978-0-06-010131-2",
+ LCCN = "Z244 .A83 1972",
+ bibdate = "Tue Mar 1 12:44:08 1994",
+ note = "Chapter bibliographies, sidebars, glossary, index, pp.
+ 375.",
+ acknowledgement = ack-jpl,
+ annote = "Summarizes evolution of printing technoology, with
+ focus on current status.",
+}
+
+@Article{Arrabito:1988:CBT,
+ author = "R. Arrabito and H. J{\"{u}}rgensen",
+ title = "Computerized {Braille} Typesetting: Another View of
+ Mark-up Standards",
+ journal = j-EPODD,
+ volume = "1",
+ number = "2",
+ pages = "117--131",
+ month = sep,
+ year = "1988",
+ CODEN = "EPODE",
+ ISSN = "0894-3982",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "human factors; standardization",
+ subject = "I.7.0 Computing Methodologies, TEXT PROCESSING,
+ General \\ B.4.2 Hardware, INPUT/OUTPUT AND DATA
+ COMMUNICATIONS, Input/Output Devices, Data terminals
+ and printers",
+}
+
+@InProceedings{Athale:2004:ULT,
+ author = "Manasi Athale and Rahul Athale",
+ title = "Using {\LaTeX} to Typeset a
+ {Mar\={a}\d{t}h\={\i}-English} Dictionary",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "55--58",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Baecker:1989:HFT,
+ author = "Ronald M. Baecker and Aaron Marcus",
+ title = "Human Factors and Typography for More Readable
+ Programs",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xx + 348",
+ year = "1989",
+ ISBN = "0-201-10745-7",
+ ISBN-13 = "978-0-201-10745-6",
+ LCCN = "QA76.75 .B34 1990",
+ bibdate = "Tue Dec 14 22:56:18 1993",
+ acknowledgement = ack-fm,
+ bibliography = "yes",
+ index = "yes",
+ keywords = "visual programming, computer graphics, human-computer
+ interaction",
+}
+
+@Book{Bailey:1970:ASB,
+ author = "Herbert S. {Bailey, Jr.}",
+ title = "The Art and Science of Book Publishing",
+ publisher = pub-HRP,
+ address = pub-HRP:adr,
+ pages = "xii + 216",
+ year = "1970",
+ LCCN = "Z278 .B15",
+ note = "Bibliography, tables, figures, appendix, index, pp.
+ 217.",
+ acknowledgement = ack-jpl,
+ annote = "Semi-narrative style analyzing the management of
+ (book) publishing by a former director of Princeton
+ University Press.",
+}
+
+@Book{Bailey:1990:ASB,
+ author = "Herbert S. {Bailey, Jr.}",
+ title = "The Art and Science of Book Publishing",
+ publisher = pub-OHIO,
+ address = pub-OHIO:adr,
+ edition = "Third",
+ pages = "xviii + 216",
+ year = "1990",
+ ISBN = "0-8214-0970-0",
+ ISBN-13 = "978-0-8214-0970-1",
+ LCCN = "Z278 .B15 1990",
+ bibdate = "Sat Feb 19 12:16:32 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Balda:1997:UNS,
+ author = "Miroslav Balda",
+ title = "Uzivatelske nadstavby sazeciho systemu {\LaTeX} 2.09",
+ publisher = "Zapadoceska univerzita",
+ address = "Plzen, Czech Republic",
+ pages = "119",
+ year = "1997",
+ ISBN = "80-7082-307-0",
+ ISBN-13 = "978-80-7082-307-1",
+ LCCN = "????",
+ bibdate = "Sat Mar 7 18:25:51 MST 1998",
+ acknowledgement = ack-nhfb,
+ keywords = "{\LaTeX} 2.09 -- makra",
+}
+
+@Book{Barlow:1992:TC,
+ author = "Geoff Barlow and Simon Eccles",
+ title = "Typesetting and Composition",
+ publisher = pub-BLUEPRINT,
+ address = pub-BLUEPRINT:adr,
+ edition = "second",
+ pages = "274",
+ year = "1992",
+ ISBN = "0-948905-72-7",
+ ISBN-13 = "978-0-948905-72-8",
+ acknowledgement = ack-mc,
+}
+
+@Book{Barron:1987:TPT,
+ author = "David Barron and Mike Rees",
+ title = "Text processing and typesetting with {UNIX}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 447",
+ year = "1987",
+ ISBN = "0-201-14219-8",
+ ISBN-13 = "978-0-201-14219-8",
+ LCCN = "Z286.D47 B37 1987",
+ bibdate = "Mon Jul 25 11:50:00 1994",
+ price = "US\$24.95",
+ series = "International computer science series",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation",
+ review = "ACM CR 8811-0841",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, nroff \\ I.7.2 Computing
+ Methodologies, TEXT PROCESSING, Document Preparation,
+ troff",
+}
+
+@Article{Barron:1989:WUS,
+ author = "D. Barron",
+ title = "Why Use {SGML}?",
+ journal = j-EPODD,
+ volume = "2",
+ number = "1",
+ pages = "3--24",
+ month = apr,
+ year = "1989",
+ CODEN = "EPODE",
+ ISSN = "0894-3982",
+ bibdate = "Tue Mar 1 12:44:34 1994",
+}
+
+@Article{Barwise:1989:TLA,
+ author = "Jon Barwise",
+ title = "{\TeX}, {\LaTeX}, and {\AmSTeX}",
+ journal = j-NAMS,
+ volume = "36",
+ number = "3",
+ pages = "241--243",
+ month = mar,
+ year = "1989",
+ ISSN = "0002-9920",
+ bibdate = "Tue Dec 14 11:08:55 1993",
+ acknowledgement = ack-ps,
+}
+
+@Book{Barzun:1986:WEP,
+ author = "Jacques Barzun",
+ title = "On Writing, Editing, and Publishing: Essays,
+ Explicative and Hortatory",
+ publisher = pub-U-CHICAGO-PRESS,
+ address = pub-U-CHICAGO-PRESS:adr,
+ pages = "xi + 148",
+ year = "1986",
+ ISBN = "0-226-03857-2 (hardcover), 0-226-03858-0 (paperback)",
+ ISBN-13 = "978-0-226-03857-5 (hardcover), 978-0-226-03858-2
+ (paperback)",
+ LCCN = "PN149 .B295 1986",
+ bibdate = "Tue Dec 14 22:56:20 1993",
+ acknowledgement = ack-jpl,
+}
+
+@Book{Bausum:2002:TRM,
+ author = "David Bausum",
+ title = "{{\TeX}} reference manual",
+ publisher = pub-KLUWER,
+ address = pub-KLUWER:adr,
+ pages = "xii + 384",
+ year = "2002",
+ ISBN = "0-7923-7673-0",
+ ISBN-13 = "978-0-7923-7673-6",
+ LCCN = "Z253.4.T47 B38 2002",
+ bibdate = "Sat Jul 05 17:43:03 2003",
+ price = "US\$99.00",
+ acknowledgement = ack-nhfb,
+ subject = "TeX (Computer file); Computerized typesetting",
+}
+
+@Article{BCS:1986:TWI,
+ author = "Report of the {Boston Computer Society}",
+ title = "Technical {Wordprocessors} for the {IBM PC} and
+ {Compatibles}",
+ journal = j-NAMS,
+ volume = "33",
+ number = "1",
+ pages = "8--37",
+ month = jan,
+ year = "1986",
+ ISSN = "0002-9920",
+ bibdate = "Mon Mar 2 19:43:58 1998",
+ acknowledgement = ack-hk,
+}
+
+@Book{Beccari:1991:LGS,
+ author = "Claudio Beccari",
+ title = "{\LaTeX}\emdash{}Guida a un sistema di editoria
+ elettronica",
+ publisher = pub-EUH,
+ address = pub-EUH:adr,
+ pages = "ix + 399",
+ year = "1991",
+ ISBN = "88-203-1931-4",
+ ISBN-13 = "978-88-203-1931-1",
+ bibdate = "Wed Aug 24 21:53:29 1994",
+ note = "[From the author]: The book is the first and only one
+ in Italian at this moment [18-Nov-1991]. Although it
+ contains an introductory chapter for the beginner, its
+ main purpose is to give the reader advanced information
+ on {\LaTeX} (and partially on {\TeX}) in order to
+ prepare sophisticated macros, style files, and to make
+ a clever use of fonts. Here is a reduced table of
+ contents (translated to English): Chapter 1 -
+ Introduction \\
+ \hphantom{Chapter }2 - Introductory \LaTeX{} \\
+ \hphantom{Chapter }3 - General commands for text mode
+ \\
+ \hphantom{Chapter }4 - Mathematical commands \\
+ \hphantom{Chapter }5 - Environments \\
+ \hphantom{Chapter }6 - Figures and tables \\
+ \hphantom{Chapter }7 - Macros \\
+ \hphantom{Chapter }8 - Typical documents and style
+ files \\
+ \hphantom{Chapter }9 - Fonts \\
+ Appendix A - \TeX{} Users Group \\
+ \hphantom{Appendix }B - Keyboards \\
+ \hphantom{Appendix }C - Font tables \\
+ \hphantom{Appendix }D - Hyphenation patterns for
+ Italian \\
+ Bibliography \\
+ Index \\
+ The publisher received camera-ready pages that were
+ prepared by the author with a 300-dpi laser printer.
+ The page style dimensions were suitably enlarged while
+ the photo plates were reduced so as to minimize the
+ granulosity of the signs. In practice the book was
+ prepared with 12pt option and reduced by the
+ photografic ratio of 0.8 so that the final real font
+ size is 9.6pt. The whole book was prepared with the
+ standard Computer Roman fonts on purpose in order to
+ show the potential user what he can get with a standard
+ \TeX{}/\LaTeX{} kit. The simple pictures were prepared
+ with the ``picture'' environment. The cover and the
+ title page were designed by a graphic expert of the
+ publishing company.",
+ acknowledgement = ack-cb,
+}
+
+@Book{Beccari:1991:TLS,
+ author = "Claudio Beccari",
+ title = "La tesi di laurea scientifica\emdash Con note per la
+ composizione in {\LaTeX}\emdash disco {MS-DOS} da
+ 5.25in contenente macroistruzioni di stile",
+ publisher = pub-EUH,
+ address = pub-EUH:adr,
+ pages = "vii + 116",
+ year = "1991",
+ ISBN = "88-203-1932-2",
+ ISBN-13 = "978-88-203-1932-8",
+ bibdate = "Sat Feb 10 08:48:04 1996",
+ note = "The book was typeset by the author and printed with a
+ laser printer having a resolution of 300 dpi. The pages
+ were then photographically reduced by a factor of 0.8
+ to the final size.. The fonts used are those of the
+ standard {\TeX\slash \LaTeX} set, that is Computer
+ Modern, with a default normal size of 12pt that the
+ photographic reduction made equivalent to approximately
+ 10pt. The book is a set of instructions for the
+ preparation of the thesis (Master and PhD levels)
+ according to the Italian State Universities
+ regulations; it deals mostly with literary style but it
+ also includes extensive tables of scientific symbols
+ and nomenclature and many references to Standards
+ regulations. The final chapter deal with the
+ typesetting of the thesis with a {\LaTeX} style,
+ TOPTESI, whose source is recorded in a floppy disk that
+ comes with the book.",
+}
+
+@Article{Becker:1987:AWP,
+ author = "Joseph D. Becker",
+ title = "{Arabic} word processing",
+ journal = j-CACM,
+ volume = "30",
+ number = "7",
+ pages = "600--610",
+ month = jul,
+ year = "1987",
+ CODEN = "CACMA2",
+ ISSN = "0001-0782",
+ bibdate = "Wed Jan 04 08:20:20 1995",
+ acknowledgement = ack-nhfb,
+ keywords = "algorithms; design; human factors",
+ review = "ACM CR 8902-0084",
+ subject = "H.4.1 Information Systems, INFORMATION SYSTEMS
+ APPLICATIONS, Office Automation, Word processing \\ J.5
+ Computer Applications, ARTS AND HUMANITIES, Linguistics
+ \\ I.7.1 Computing Methodologies, TEXT PROCESSING, Text
+ Editing, Languages",
+}
+
+@Article{Becker:1989:TAD,
+ author = "Zeev Becker and Daniel Berry",
+ title = "{{\tt triroff}}, an adaptation of the
+ device-independent {{\tt troff}} for formatting
+ tri-directional text",
+ journal = j-EPODD,
+ volume = "2",
+ number = "3",
+ pages = "119--142",
+ month = oct,
+ year = "1989",
+ CODEN = "EPODE",
+ ISSN = "0894-3982",
+ bibdate = "Tue Mar 1 12:45:15 1994",
+}
+
+@Book{Beckmann:1977:HP,
+ author = "{Petr} Beckmann",
+ title = "A History of $\pi$",
+ publisher = pub-GOLEM,
+ address = pub-GOLEM:adr,
+ edition = "Fourth",
+ pages = "202",
+ year = "1977",
+ ISBN = "0-911762-18-3",
+ ISBN-13 = "978-0-911762-18-1",
+ LCCN = "QA484 .B4 1977",
+ bibdate = "Thu Sep 08 11:17:17 1994",
+ note = "This book chronicles the story of the ultimate version
+ number of {\TeX}.",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Beebe:1987:TDD,
+ author = "Nelson H. F. Beebe",
+ title = "A {\TeX DVI Driver Family} --- ({Revision}~2.07)",
+ address = "University of Utah, Salt Lake City, UT 84112, USA",
+ month = apr,
+ year = "1987",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Beesley:2004:TDA,
+ author = "Kenneth R. Beesley",
+ title = "Typesetting the {Deseret} Alphabet with {\LaTeX} and
+ {\MF}",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "68--111",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Bennett:1991:BP,
+ editor = "Paul A. Bennett",
+ title = "Books and Printing",
+ publisher = pub-BIEL,
+ address = pub-BIEL:adr,
+ pages = "417",
+ year = "1991",
+ ISBN = "0-913720-72-0",
+ ISBN-13 = "978-0-913720-72-1",
+ LCCN = "Z116.A3 B58 1991",
+ bibdate = "Sat Sep 10 12:52:39 1994",
+ note = "first published in 1951",
+ acknowledgement = ack-mc,
+ subtitle = "A Treasury for Typophiles",
+}
+
+@Article{Bentley:1986:GLT,
+ author = "Jon L. Bentley and Brian W. Kernighan",
+ title = "{GRAP} --- a language for typesetting graphs",
+ journal = j-CACM,
+ volume = "29",
+ number = "8",
+ pages = "782--792",
+ month = aug,
+ year = "1986",
+ CODEN = "CACMA2",
+ ISSN = "0001-0782",
+ bibdate = "Wed Jan 04 08:20:03 1995",
+ acknowledgement = ack-nhfb,
+ keywords = "languages",
+ subject = "I.3.4 Computing Methodologies, COMPUTER GRAPHICS,
+ Graphics Utilities, Picture description languages \\
+ I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Languages",
+}
+
+@Article{Bentley:1986:LP,
+ author = "Jon Bentley",
+ title = "Literate Programming",
+ journal = j-CACM,
+ volume = "29",
+ number = "5",
+ pages = "364--369",
+ year = "1986",
+ CODEN = "CACMA2",
+ ISSN = "0001-0782",
+}
+
+@Article{Bentley:1986:PPD,
+ author = "J. L. Bentley",
+ title = "Programming Pearls: Document Design",
+ journal = j-CACM,
+ volume = "29",
+ number = "9",
+ pages = "832--839",
+ month = sep,
+ year = "1986",
+ CODEN = "CACMA2",
+ ISSN = "0001-0782",
+ bibdate = "Sat Aug 27 17:15:11 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Bentley:1987:CPP,
+ author = "J. L. Bentley and L. W. Jelinski and B. W. Kernighan",
+ title = "{CHEM} --- {A} Program for Phototypesetting Chemical
+ Structure Diagrams",
+ journal = j-COMP-CHEM,
+ volume = "11",
+ number = "4",
+ pages = "281--297",
+ year = "1987",
+ ISSN = "0097-8485",
+ bibdate = "Sat Aug 27 16:57:14 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Bentley:1988:DLT,
+ author = "J. L. Bentley",
+ title = "dformat -- {A} Language for Typesetting Data Formats",
+ type = "Comp. Sci. Tech. Rep. No.",
+ number = "142",
+ institution = inst-ATT-BELL,
+ address = inst-ATT-BELL:adr,
+ month = apr,
+ year = "1988",
+ bibdate = "Sat Aug 27 17:13:19 1994",
+ note = "142",
+ acknowledgement = ack-nhfb,
+ keywords = "CSTR OBS",
+}
+
+@Article{Bentley:1988:TPI,
+ author = "J. L. Bentley and B. W. Kernighan",
+ title = "Tools for Printing Indexes",
+ journal = j-EPODD,
+ volume = "1",
+ number = "1",
+ pages = "3--18",
+ month = apr,
+ year = "1988",
+ CODEN = "EPODE",
+ ISSN = "0894-3982",
+}
+
+@Article{Bentley:1990:GLT,
+ author = "J. L. Bentley and B. W. Kernighan",
+ title = "{GRAP} --- {A} Language for Typesetting Graphs.
+ Tutorial and User Manual",
+ journal = "Unix Research System Papers",
+ volume = "II",
+ pages = "109--146",
+ year = "1990",
+ bibdate = "Sat Feb 10 16:06:28 1996",
+}
+
+@Article{Bentley:1991:SAA,
+ author = "Jon L. Bentley and Brian W. Kernighan",
+ title = "A System for Algorithm Animation",
+ journal = j-COMP-SYS,
+ volume = "4",
+ number = "1",
+ pages = "5--30",
+ month = "Winter",
+ year = "1991",
+ CODEN = "CMSYE2",
+ ISSN = "0895-6340",
+ bibdate = "Thu Sep 01 01:07:13 1994",
+ abstract = "An algorithm or a program can be animated by a movie
+ that graphically represents its dynamic execution. Such
+ animations are useful for developing new programs, for
+ debugging, and for explaining how programs work. This
+ paper describes ANIM, a basic system for algorithm
+ animation. The output is crude, but ANIM is easy to
+ use; a novice user can animate a program in an hour or
+ two. ANIM currently produces movies with the X window
+ system, among others; it also renders movies into
+ stills that can be included in TROFF or {\TeX}
+ documents.",
+ acknowledgement = ack-nhfb,
+ affiliation = "AT and T Bell Labs., Princeton, NH, USA",
+ classification = "C6130B (Graphics techniques)",
+ keywords = "Algorithm animation; ANIM; Dynamic execution; Movie;
+ Program animation; Stills; TeX documents; TROFF
+ documents; X window system",
+ thesaurus = "Computer animation",
+}
+
+@Book{Bianco:1992:TGU,
+ author = "Fiorella Bianco",
+ title = "{\TeX}\emdash Guida all'uso su personal computer
+ (Guide for the use on personal computers)",
+ publisher = pub-PITAGORA,
+ address = pub-PITAGORA:adr,
+ pages = "ix + 157",
+ year = "1992",
+ ISBN = "88-371-0583-5",
+ ISBN-13 = "978-88-371-0583-9",
+ bibdate = "Tue Mar 1 11:55:51 1994",
+ note = "Prepared with Plain {\TeX} and book macros written by
+ the author. Final copy produced on a 300-dpi laser
+ printer at magnification 1.2, then reduced for
+ printing.",
+}
+
+@InProceedings{Bien:1985:TRC,
+ author = "Janusz S. Bie{\'n} and Hanna
+ Ko{\-}{\l}o{\-}dziej{\-}ska",
+ title = "{\TeX} for {Riad Computers}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "133--140",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:28:48 1994",
+ acknowledgement = ack-hk,
+ author-l = lang-pl,
+}
+
+@Article{Bien:1988:PLT,
+ author = "Janusz S. Bie{\'n}",
+ title = "{Polish} Language and {\TeX}",
+ journal = j-TEXLINE,
+ volume = "8",
+ pages = "2",
+ year = "1988",
+ acknowledgement = ack-hk,
+ author-l = lang-pl,
+}
+
+@Article{Bien:1990:CTJ,
+ author = "Janusz S. Bie{\'n}",
+ title = "Co to jest {\TeX}? (What is {\TeX}?)",
+ journal = j-WM,
+ volume = "29",
+ number = "1",
+ pages = "132--156",
+ year = "1990",
+ bibdate = "Thu Jun 23 18:23:05 1994",
+ note = "In Polish.",
+ author-l = lang-pl,
+ title-l = lang-pl,
+}
+
+@Article{Bigelow:1983:DT,
+ author = "Charles Bigelow and Donald Day",
+ title = "Digital Typography",
+ journal = j-SA,
+ volume = "249",
+ number = "2",
+ pages = "106--119",
+ month = aug,
+ year = "1983",
+}
+
+@InProceedings{Bigelow:1986:DLI,
+ author = "Charles Bigelow and Kris Holmes",
+ title = "The Design of {Lucida}: an Integrated Family of Types
+ for Electronic Literacy",
+ crossref = "vanVliet:1986:TPD",
+ pages = "1--17",
+ year = "1986",
+ bibdate = "Tue Mar 1 12:45:43 1994",
+ acknowledgement = ack-kb,
+}
+
+@TechReport{Billawala:1989:MPS,
+ author = "Neenie Billawala",
+ title = "Metamarks: Preliminary studies for a {Pandora}'s Box
+ of Shapes",
+ number = "{STAN-CS-89-1256}",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ month = may,
+ year = "1989",
+ bibdate = "Tue Mar 1 12:45:52 1994",
+}
+
+@Article{Binding:1993:ETS,
+ author = "Angelika Binding",
+ title = "{Einsatz von {\TeX} beim Springer-Verlag}",
+ journal = j-MDMV,
+ volume = "19",
+ pages = "19--22",
+ year = "1993",
+ bibdate = "Tue Dec 14 10:40:35 1993",
+ acknowledgement = ack-ps,
+}
+
+@Book{Black:1990:TDP,
+ author = "Alison Black",
+ title = "Typefaces for desktop publishing; a user guide",
+ publisher = pub-ADTP,
+ address = pub-ADTP:adr,
+ pages = "106",
+ year = "1990",
+ ISBN = "1-85454-841-7",
+ ISBN-13 = "978-1-85454-841-2",
+ LCCN = "Z253.3.B53 1990",
+ bibdate = "Tue Jul 26 09:19:20 1994",
+ acknowledgement = ack-fm # " and " # ack-mc,
+ review = j-TEXLINE # " 13, pp. 10--12",
+}
+
+@Book{Borceux:1990:LPT,
+ author = "Francis Borceux",
+ title = "{\LaTeX}\emdash{}la perfection dans le traitement du
+ texte",
+ publisher = pub-CIAOCO,
+ address = pub-CIAOCO:adr,
+ year = "1990",
+ ISBN = "2-87085-194-4",
+ ISBN-13 = "978-2-87085-194-4",
+ bibdate = "Wed Dec 15 08:46:29 1993",
+}
+
+@Book{Borde:1992:TE,
+ author = "Arvind Borde",
+ title = "{\TeX} by Example",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "xiv + 169",
+ year = "1992",
+ ISBN = "0-12-117650-9",
+ ISBN-13 = "978-0-12-117650-1",
+ LCCN = "Z253.4.T47 B67 1992",
+ bibdate = "Tue Mar 1 11:56:22 1994",
+ note = "This book was designed by the author, with some
+ assistance from the production department of Academic
+ Press, Boston. The covers were done by the publisher.
+ It was typeset by the author using Plain {\TeX} plus
+ specially written macros. The code for all macros used
+ for the book are reproduced in it so that the book
+ itself contains all the information---page layout
+ specifications, fonts used, and so on---about its own
+ typesetting. Over half the book consists of {\TeX}
+ input and output shown side-by-side, providing an
+ explicit example of how a part of the book was typeset.
+ The Academic Press logo on page iii, the
+ cataloging-in-publication data on page iv, and the
+ diagrams on page 33 were pasted in place by the
+ production department of Academic Press. The diagrams
+ were drawn using {\LaTeX}. Sample printouts of pages
+ were made on various laser printers. When everything
+ seemed satisfactory, the dvi files were copied onto IBM
+ diskettes and were mailed to Academic Press, and from
+ them to the American Mathematical Society. The final
+ copy was produced by the A.M.S. using an APS micro-5
+ phototypesetter. All fonts used in the book are from
+ the Computer Modern family. Parts of the covers of the
+ book, inside and outside, were done in {\TeX} by the
+ author (the code for this is not included in the book).
+ The outside cover was designed by Camille Pecoul of
+ Academic Press and produced at Allison Associates in
+ Boston. The font used for the title (on the covers) is
+ Meridien. The background pattern was obtained by
+ shooting a handmade marble paper as a black-and-white
+ halftone and then overprinting with the Pantone
+ Matching System (PMS). The placement of material on the
+ cover was done by hand by Ms. Pecoul using a mechanical
+ board. The drop shadow effect was done at Allison
+ Associates.",
+ acknowledgement = ack-ab,
+}
+
+@Book{Borde:1993:MTE,
+ author = "Arvind Borde",
+ title = "Mathematical {\TeX} by Example",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "xii + 352",
+ year = "1993",
+ ISBN = "0-12-117645-2",
+ ISBN-13 = "978-0-12-117645-7",
+ LCCN = "Z253.4.T47 B67 1993",
+ bibdate = "Wed Dec 15 08:46:21 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Borde:1993:UGL,
+ author = "Arvind Borde and Tomas Rokicki",
+ title = "A User's Guide for {\TeX}Help; The On-Line {\TeX}
+ Handbook",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "v + 28",
+ year = "1993",
+ ISBN = "0-12-117640-1",
+ ISBN-13 = "978-0-12-117640-2",
+ bibdate = "Sat Sep 25 13:57:28 1993",
+ note = "This small booklet documents the {\TeX}Help program
+ for IBM PC and compatible microcomputers.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Borkowski:1992:LPP,
+ author = "Kazimierz M. Borkowski",
+ title = "{{\LaTeX}}. Profesjonalny sk{\l}ad publikacji",
+ publisher = pub-MARSZALEK,
+ address = pub-MARSZALEK:adr,
+ pages = "88",
+ year = "1992",
+ bibdate = "Wed Jun 22 18:21:04 2005",
+ bibsource = "alpha.bn.org.pl:210/INNOPAC",
+ acknowledgement = ack-md,
+ address-l = lang-pl,
+ author-dates = "(1948-- )",
+ author-l = lang-pl,
+ language = "Polish",
+ publisher-l = lang-pl,
+ title-l = lang-pl,
+}
+
+@Book{Borkowski:1997:LPS,
+ author = "Kazimierz Maria Borkowski",
+ title = "{{\LaTeX}} --- profesjonalny sk{\l}ad publikacji",
+ publisher = pub-MARSZALEK,
+ address = pub-MARSZALEK:adr,
+ pages = "88",
+ year = "1997",
+ ISBN = "83-7174-023-9, 83-85263-64-0",
+ ISBN-13 = "978-83-7174-023-7, 978-83-85263-64-7",
+ bibdate = "Wed Jun 22 18:29:48 MDT 2005",
+ bibsource = "alpha.bn.org.pl:210/INNOPAC",
+ acknowledgement = ack-nhfb,
+ author-dates = "(1948-- )",
+ language = "Polish",
+ subject = "LATEX; podr{\k{e}}cznik",
+}
+
+@Book{Borkowski:2001:LPS,
+ author = "Kazimierz Maria Borkowski",
+ title = "{{\LaTeX}}: profesjonalny sk{\l}ad publikacji",
+ publisher = pub-MARSZALEK,
+ address = pub-MARSZALEK:adr,
+ pages = "88",
+ year = "2001",
+ ISBN = "83-7322-004-6",
+ ISBN-13 = "978-83-7322-004-1",
+ bibdate = "Wed Jun 22 18:19:42 MDT 2005",
+ bibsource = "alpha.bn.org.pl:210/INNOPAC",
+ acknowledgement = ack-nhfb,
+ author-dates = "(1948-- )",
+ language = "Polish",
+ subject = "LATEX; podr{\k{e}}cznik",
+}
+
+@Book{Boston:1986:STT,
+ author = "Bruce O. Boston",
+ title = "{STET!} Tricks of the Trade for Writers and Editors",
+ publisher = pub-EEI,
+ address = pub-EEI:adr,
+ pages = "310",
+ year = "1986",
+ ISBN = "0-935012-07-9",
+ ISBN-13 = "978-0-935012-07-1",
+ LCCN = "PN162 .S741 1986",
+ bibdate = "Fri Jul 22 08:47:44 1994",
+ price = "US\$15.95",
+ acknowledgement = ack-jpl,
+ annote = "A collection of articles from {\em The Editorial Eye},
+ the newsletter on publications standards and practices.
+ Covers editing, writing, proof-reading, and
+ publications management (mostly writing, editing, and
+ proofing).",
+}
+
+@Booklet{Botway:1985:LCS,
+ author = "Lloyd Botway and Chris Biemesderfer",
+ title = "{\LaTeX} Command Summary ({\TeX} 1.3, {\LaTeX} 2.08)",
+ howpublished = "Prepared for the Space Telescope Institute, Baltimore,
+ MD; reprinted with permission and distributed by TUG",
+ year = "1985",
+ bibdate = "Tue Mar 1 11:57:04 1994",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Bouma:1988:DP,
+ author = "Louis G. Bouma and Jeroen Bruijning and Johannes C.
+ {van Vliet}",
+ title = "Document processing",
+ crossref = "Veer:1988:HCI",
+ pages = "144--169",
+ year = "1988",
+ bibdate = "Thu Jul 21 23:40:26 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Brandt:1989:CAC,
+ editor = "Josef Brandt and Ivar K. Ugi",
+ title = "Computer Applications in Chemical Research and
+ Education: {A} Collection of Papers Based on Lectures
+ that were Presented at the {VII}th International
+ Conference on Computers in Chemical Research and
+ Education at Garmisch-Partenkirchen, {DE}",
+ publisher = pub-AHV,
+ address = pub-AHV:adr,
+ edition = "1",
+ pages = "xiii + 449",
+ year = "1989",
+ ISBN = "3-7785-1804-6",
+ ISBN-13 = "978-3-7785-1804-5",
+ LCCN = "QD39.3.E46 I56 1985",
+ bibdate = "Fri Jul 22 08:49:47 1994",
+ price = "DM128.00",
+ series = "Computeranwendung in der Chemie",
+ acknowledgement = ack-rw,
+}
+
+@Book{Braswell:1989:IP,
+ author = "Frank Merritt Braswell",
+ title = "Inside {\POSTSCRIPT}",
+ publisher = pub-PEACHPIT,
+ address = pub-PEACHPIT:adr,
+ year = "1989",
+ ISBN = "0-938151-10-X",
+ ISBN-13 = "978-0-938151-10-4",
+ LCCN = "QA76.73.P67 B73 1989",
+ bibdate = "Tue Dec 14 23:35:41 1993",
+ price = "US\$37.50",
+}
+
+@Book{Bringhurst:1992:ETS,
+ author = "Robert Bringhurst",
+ title = "The elements of typographic style",
+ publisher = pub-HARTLEY-MARKS,
+ address = pub-HARTLEY-MARKS:adr,
+ pages = "254",
+ year = "1992",
+ ISBN = "0-88179-110-5 (hardback), 0-88179-033-8 (paperback)",
+ ISBN-13 = "978-0-88179-110-5 (hardback), 978-0-88179-033-7
+ (paperback)",
+ LCCN = "Z246 .B74 1992",
+ bibdate = "Tue Aug 31 08:00:51 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Bringhurst:1996:ETS,
+ author = "Robert Bringhurst",
+ title = "The elements of typographic style",
+ publisher = pub-HARTLEY-MARKS,
+ address = pub-HARTLEY-MARKS:adr,
+ edition = "Second",
+ pages = "350",
+ year = "1996",
+ ISBN = "0-88179-133-4 (hardback), 0-88179-132-6 (paperback)",
+ ISBN-13 = "978-0-88179-133-4 (hardback), 978-0-88179-132-7
+ (paperback)",
+ LCCN = "Z246 .B74 1996",
+ bibdate = "Tue Aug 31 08:00:51 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Brooks:1991:LTV,
+ author = "Kenneth P. Brooks",
+ title = "Lilac: {A} Two-View Document Editor",
+ journal = j-COMPUTER,
+ volume = "24",
+ number = "6",
+ pages = "7--19",
+ month = jun,
+ year = "1991",
+ CODEN = "CPTRB",
+ ISSN = "0018-9162",
+ bibdate = "Tue Mar 1 11:57:20 1994",
+}
+
+@Book{Brown:1989:IPT,
+ author = "Alex Brown",
+ title = "In Print: Text and Type",
+ publisher = pub-WGP,
+ address = pub-WGP:adr,
+ pages = "191",
+ year = "1989",
+ ISBN = "0-8230-2544-6",
+ ISBN-13 = "978-0-8230-2544-2",
+ LCCN = "Z250.B868 1989",
+ bibdate = "Wed Aug 10 10:10:49 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Brown:1994:PTT,
+ editor = "Vicki Brown",
+ title = "Prime Time {\TeX}cetera",
+ publisher = pub-PRIME-TIME-FREEWARE,
+ address = pub-PRIME-TIME-FREEWARE:adr,
+ pages = "96",
+ year = "1994",
+ ISBN = "1-881957-10-1",
+ ISBN-13 = "978-1-881957-10-2",
+ bibdate = "Wed Aug 10 10:52:33 1994",
+ note = "Includes CD-ROM.",
+ price = "US\$60.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Brueggeman-Klein:1989:DTN,
+ author = "A. Br{\"{u}}ggeman-Klein and D. Wood",
+ title = "Drawing Trees Nicely with {\TeX}",
+ journal = j-EPODD,
+ volume = "2",
+ number = "2",
+ pages = "101--115",
+ month = jul,
+ year = "1989",
+ CODEN = "EPODE",
+ ISSN = "0894-3982",
+}
+
+@Article{Bruggemann-Klein:1995:PR,
+ author = "Anne Br{\"u}ggemann-Klein and Rolf Klein and Stefan
+ Wohlfeil",
+ title = "Pagination Reconsidered",
+ journal = j-EPODD,
+ volume = "8",
+ number = "2/3",
+ pages = "139--152",
+ month = jun # "\slash " # sep,
+ year = "1995",
+ CODEN = "EPODEU",
+ ISSN = "0894-3982",
+ bibdate = "Fri Jul 11 07:26:02 1997",
+}
+
+@TechReport{Bruggemann-Klein:1996:PR,
+ author = "Anne Br{\"u}ggemann-Klein and Rolf Klein and Stefan
+ Wohlfeil",
+ title = "Pagination Reconsidered",
+ type = "Technical Report",
+ number = "205",
+ institution = "Fernuniversit{\"a}t Hagen",
+ address = "Germany",
+ year = "1996",
+ bibdate = "Tue Feb 09 08:28:57 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Bruggemann-Klein:1998:PCD,
+ author = "Anne Br{\"u}ggemann-Klein and Rolf Klein and Stefan
+ Wohlfeil",
+ title = "On the Pagination of Complex Documents",
+ type = "Technical Report",
+ number = "234",
+ institution = "Fernuniversit{\"a}t Hagen",
+ address = "Germany",
+ day = "27",
+ month = jul,
+ year = "1998",
+ bibdate = "Tue Feb 09 08:28:57 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Bryan:1988:SAG,
+ author = "Martin Bryan",
+ title = "{SGML}\emdash{}An Author's Guide to the Standard
+ Generalized Markup Language",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xvii + 364",
+ year = "1988",
+ ISBN = "0-201-17535-5",
+ ISBN-13 = "978-0-201-17535-6",
+ LCCN = "QA76.73.S44 B79 1988",
+ bibdate = "Tue Dec 14 23:35:58 1993",
+ acknowledgement = ack-nhfb # " and " # ack-fm,
+ annote = "Complete description of SGML including example DTDs.",
+ keywords = "SGML, DTD, document representation",
+}
+
+@Book{Bryan:1997:DTS,
+ author = "Marvin Bryan",
+ title = "Digital typography sourcebook",
+ publisher = pub-WILEY,
+ address = pub-WILEY:adr,
+ pages = "xxiv + 384",
+ year = "1996",
+ ISBN = "0-471-14811-3",
+ ISBN-13 = "978-0-471-14811-1",
+ LCCN = "Z250.7 .B79 1996",
+ bibdate = "Sun Jun 29 15:37:57 2003",
+ note = "Includes CD-ROM.",
+ acknowledgement = ack-nhfb,
+ annote = "Some catalogs list year as 1997.",
+ tableofcontents = "Why Type Matters. \\
+ The Kinds of Typefaces. \\
+ The Anatomy of Characters. \\
+ Old Style Typefaces. \\
+ Transitional Typefaces. \\
+ Modern Typefaces. \\
+ Slab Serif Typefaces. \\
+ Other Serif Typefaces. \\
+ Sans-Serif Typefaces. \\
+ Script Typefaces. \\
+ Blackletter and Uncial Typefaces. \\
+ Display and Novelty Typefaces. \\
+ Typeface Utilities and Special Effects. \\
+ Creating Your Own Characters and Typefaces. \\
+ Using Type in Layouts. \\
+ Building a Library. \\
+ The Type Specimens. \\
+ Appendix. \\
+ Index.",
+}
+
+@Book{Buerger:1990:LES,
+ author = "David J. Buerger",
+ title = "{\LaTeX} for Engineers and Scientists",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xvi + 198",
+ year = "1990",
+ ISBN = "0-07-008845-4",
+ ISBN-13 = "978-0-07-008845-0",
+ LCCN = "Z253.4.L38 B84 1990",
+ bibdate = "Tue Dec 14 22:43:21 1993",
+}
+
+@Book{Butcher:1981:CEC,
+ author = "Judith Butcher",
+ title = "Copy editing: the Cambridge handbook",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ edition = "Second",
+ year = "1981",
+ ISBN = "0-521-23868-4, 0-521-25638-0",
+ ISBN-13 = "978-0-521-23868-7, 978-0-521-25638-4",
+ LCCN = "PN162 .B86 1981",
+ bibdate = "Fri Jul 22 08:50:18 1994",
+ price = "UK\pounds22",
+ acknowledgement = ack-fm,
+ annote = "The standard English work on copy editing (CHe)",
+ inprint = "yes",
+}
+
+@Book{Buxton:1988:MLL,
+ author = "H. W. Buxton",
+ title = "Memoir of the life and labours of the late {Charles
+ Babbage Esq. F.R.S.}",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xix + 401",
+ year = "1988",
+ ISBN = "0-262-02269-9",
+ ISBN-13 = "978-0-262-02269-9",
+ LCCN = "QA29.B2 B891 1988",
+ bibdate = "Fri Dec 18 11:11:12 1998",
+ note = "From {\em Computing Reviews\/}: ``Charles Babbage was
+ a nineteenth-century polymath who initially studied
+ mathematics at Cambridge and subsequently pursued
+ interests in fields as diverse as philosophy, political
+ economy, and mechanical computing. While attempting to
+ realize a machine for calculating and printing
+ error-free mathematical tables, he visited factories to
+ learn metalworking techniques, invented a system of
+ mechanical notation to represent the states of the
+ machine, and devised a method for correct typesetting.
+ As the editor of this series notes, the scope of
+ Babbage's work makes him a difficult subject to
+ understand in our modern age of specialized
+ scholarship.''",
+ price = "US\$50",
+ series = "Reprint series for the history of computing, vol. 13",
+ acknowledgement = ack-nhfb,
+ review = "ACM CR 8903-0095",
+ subject = "A.0 General Literature, GENERAL, Charles Babbage \\
+ K.2 Computing Milieux, HISTORY OF COMPUTING, Charles
+ Babbage",
+}
+
+@Booklet{Bzyl:1993:TT,
+ author = "W{\l}odek Bzyl",
+ title = "{\TeX}. {\TeX}??",
+ howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu",
+ address = "Bachotek",
+ year = "1993",
+ bibdate = "Thu Jun 23 18:23:18 1994",
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ address-l = lang-pl,
+ author-l = lang-pl,
+ howpublished-l = lang-pl,
+ title-l = lang-pl,
+}
+
+@InProceedings{Bzyl:2004:MXC,
+ author = "W{\l}odzimierz Bzyl and Tomasz Przechlewski",
+ title = "Migrating to {XML}: The Case of the {GUST Bulletin}
+ Archive",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "169--178",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Canzii:1985:SSD,
+ author = "G. Canzii and G. {Degli Antoni} and S. Mussi and G.
+ Rossi",
+ title = "{SDDS: Scientific Document Delivery System}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "15--25",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:26:07 1994",
+ acknowledgement = ack-hk,
+}
+
+@Article{Casti:1991:VTP,
+ author = "John L. Casti",
+ title = "{V\TeX} Typesetting Package",
+ journal = j-NAMS,
+ volume = "38",
+ number = "2",
+ pages = "105--109",
+ month = feb,
+ year = "1991",
+ ISSN = "0002-9920",
+}
+
+@Article{Casti:1993:BFT,
+ author = "John L. Casti",
+ title = "Bitmap-free {\TeX}",
+ journal = j-NAMS,
+ volume = "40",
+ number = "5",
+ pages = "464--469",
+ month = may # "/" # jun,
+ year = "1993",
+ ISSN = "0002-9920",
+ bibdate = "Mon May 10 12:29:15 1993",
+ note = "A review of {Y\&Y}'s {DVIWindo} and {DVIPSONE}, and
+ comments on outline fonts for {\TeX}.",
+}
+
+@InProceedings{Cerofolini:1985:LCL,
+ author = "Luigi Cerofolini",
+ title = "A Low Cost Laser Beam Printer Controller",
+ crossref = "Lucarella:1985:PFE",
+ pages = "191--195",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:28:37 1994",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Chan:1988:JAC,
+ author = "Kai Ming Chan and Kam Pui Chow and Wai Man Lo",
+ title = "{JACM}---just another {Chinese Metafont}",
+ crossref = "ICCPCOL:1988:ICC",
+ pages = "311--315",
+ year = "1988",
+ bibdate = "Mon Oct 24 12:44:52 MDT 1994",
+ abstract = "An interactive Chinese font design system, JACM (just
+ another Chinese metafont), is reported. JACM consists
+ of two components: the font generator (FG) and the user
+ interface (UI). The FG is a metafont system together
+ with a set of predefined strokes, radicals and
+ subcharacter. The UI provides an easy to use front end
+ for the designer to communicate with the FG. The design
+ of the UI is based on the hierarchical structure of
+ Chinese characters. (10 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Comput. Sci., Hong Kong Univ., Hong Kong",
+ classification = "C1250B (Character recognition); C6130D (Document
+ processing techniques); C6180 (User interfaces)",
+ confdate = "29 Aug.--1 Sept. 1988",
+ conflocation = "Toronto, Ontario, Canada",
+ confsponsor = "Chinese Language Comput. Soc.; Chinese Canadian Inf.
+ Processing Professionals; Philips Electron",
+ keywords = "Chinese characters; FG; Font generator; Front end;
+ Hierarchical structure; Interactive Chinese font design
+ system; JACM; Just another Chinese metafont; Metafont
+ system; Predefined strokes; Radicals; Subcharacter;
+ User interface",
+ language = "English",
+ pubcountry = "Canada",
+ thesaurus = "Character recognition; Character sets; Interactive
+ systems; User interfaces; Word processing",
+}
+
+@Book{Chassell:1999:TGD,
+ author = "Robert J. Chassell and Richard M. Stallman",
+ title = "TeXinfo: The {GNU} Documentation Format (for Texinfo
+ version 4.0, 28 September 1999)",
+ publisher = pub-FSF,
+ address = pub-FSF:adr,
+ pages = "x + 244",
+ year = "1999",
+ ISBN = "1-882114-67-1",
+ ISBN-13 = "978-1-882114-67-2",
+ LCCN = "",
+ bibdate = "Wed Sep 20 10:17:03 2000",
+ price = "US\$25.00",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Chen:1987:AIP,
+ author = "Pehong Chen and Michael A. Harrison",
+ title = "Automating Index Preparation",
+ type = "Technical Report",
+ number = "87/347",
+ institution = "Computer Science Division, University of California",
+ address = "Berkeley, CA, USA",
+ month = mar,
+ year = "1987",
+ note = "This is an expanded version of \cite{Chen:1988:IPP}.",
+}
+
+@Article{Chen:1988:IPP,
+ author = "Pehong Chen and Michael A. Harrison",
+ title = "Index Preparation and Processing",
+ journal = j-SPE,
+ volume = "19",
+ number = "9",
+ pages = "897--915",
+ month = sep,
+ year = "1988",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ note = "The {\LaTeX} text of this paper is included in the
+ {\tt makeindex} software distribution.",
+}
+
+@TechReport{Cheswick:1990:PI,
+ author = "Bill Cheswick",
+ title = "A Permuted Index for {\TeX} and {\LaTeX}",
+ type = "Computing Science Technical Report",
+ number = "145",
+ institution = inst-ATT-BELL,
+ address = inst-ATT-BELL:adr,
+ month = feb,
+ year = "1990",
+ bibdate = "Tue Mar 1 12:47:28 1994",
+ note = "Also published by TUG as {\TeX}niques No.~14.",
+}
+
+@InProceedings{Cho:2004:TCL,
+ author = "Jin-Hwan Cho and Haruhiko Okumura",
+ title = "Typesetting {CJK} Languages with {$\Omega$}",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "139--148",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Christian:1987:UTP,
+ author = "Kaare Christian",
+ title = "The {UNIX} text processing system",
+ publisher = pub-WILEY,
+ address = pub-WILEY:adr,
+ pages = "xii + 250",
+ year = "1987",
+ ISBN = "0-471-85581-2",
+ ISBN-13 = "978-0-471-85581-1",
+ LCCN = "QA76.76.O63 C47 1987",
+ bibdate = "Mon Jul 25 11:51:08 1994",
+ price = "US\$24.95",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; languages",
+ review = "ACM CR 8806-0406",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation \\ I.7.1 Computing Methodologies,
+ TEXT PROCESSING, Text Editing \\ D.4.0 Software,
+ OPERATING SYSTEMS, General, UNIX \\ D.4.9 Software,
+ OPERATING SYSTEMS, Systems Programs and Utilities",
+}
+
+@Article{Church:1992:UWT,
+ author = "P. T. Church",
+ title = "Using Workshops to Teach {\TeX}",
+ journal = j-NAMS,
+ volume = "39",
+ number = "8",
+ pages = "842",
+ month = oct,
+ year = "1992",
+ ISSN = "0002-9920",
+ note = "{\AmSTeX} input for two workshop handouts may be
+ obtained by anonymous ftp from {\tt syr.edu} in the
+ directory {\tt /math/papers}.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{Clark:1987:T,
+ editor = "Malcolm Clark",
+ key = "TEXLINE",
+ title = j-TEXLINE,
+ address = "Warwick, UK",
+ year = "1987" # "\unskip--",
+ ISSN = "0961-3978",
+ bibdate = "Sat Feb 10 14:55:29 1996",
+ note = "This is an informal newsletter of the {\TeX}
+ community.",
+}
+
+@Book{Clark:1992:PTP,
+ author = "Malcolm Clark",
+ title = "A Plain {\TeX} Primer",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ pages = "481",
+ year = "1992",
+ ISBN = "0-19-853784-0 (hardback), 0-19-853724-7 (softback)",
+ ISBN-13 = "978-0-19-853784-7 (hardback), 978-0-19-853724-3
+ (softback)",
+ LCCN = "Z253.4.T47 C46 1992",
+ bibdate = "Tue Dec 14 23:36:18 1993",
+ acknowledgement = ack-mc,
+}
+
+@Book{Collier:1991:CRD,
+ author = "David Collier",
+ title = "Collier's Rules for Desktop Design and Typography",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "v + 135",
+ year = "1991",
+ ISBN = "0-201-54416-4",
+ ISBN-13 = "978-0-201-54416-9",
+ LCCN = "Z286.D47 C65 1991",
+ bibdate = "Wed Aug 10 11:29:00 1994",
+ price = "US\$14.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Misc{comp.text.tex:1989:CTT,
+ key = "comp.text.tex",
+ title = "comp.text.tex",
+ year = "1989" # "\unskip--",
+ note = "This is an unmoderated Usenet discussion list about
+ {\TeX}.",
+}
+
+@Article{Copeland:2001:CB,
+ author = "Jeffrey Copeland and Jeffrey Haemer",
+ title = "Commonplace Book",
+ journal = j-SW-EXPERT,
+ volume = "12",
+ number = "5",
+ pages = "34--39",
+ month = may,
+ year = "2001",
+ bibdate = "Fri May 11 07:10:36 2001",
+ note = "Discusses book indexing with \TeX{} and {\tt perl}.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Cornell:1986:CHS,
+ author = "Gary Cornell",
+ title = "Chiwriter: Horstman Software Group",
+ journal = j-MATHINTEL,
+ volume = "8",
+ number = "2",
+ pages = "64--65",
+ year = "1986",
+ bibdate = "Fri Mar 12 09:41:19 1993",
+ acknowledgement = ack-ps,
+}
+
+@Article{Cosar:1991:TIG,
+ author = "A. Cosar and B. Ozguc",
+ title = "A text, image, and graphics editor",
+ journal = j-COMPUTERS-AND-GRAPHICS,
+ volume = "15",
+ number = "1",
+ pages = "57--66",
+ month = "",
+ year = "1991",
+ CODEN = "COGRD",
+ ISSN = "0097-8493",
+ bibdate = "Thu Sep 01 01:08:27 1994",
+ abstract = "A system for the manipulation of text, image, and
+ graphics items is presented. There are many products
+ that manipulate text, image, or graphics data
+ independently, but most of these systems are unable to
+ manipulate them in a unified document. With the
+ introduction of Smalltalk. Star, Lisa, Macintosh, and
+ {\TeX} it has become possible to mix text and graphics
+ data in a single document. The ODA/ODIF standard has
+ also been developed for the preparation, processing and
+ interchange of text as used in office documents. The
+ presented system is based on similar ideas but it
+ allows the documents to be created using relational
+ geometry as well. Any change in a given data item
+ causes the relational expressions existing in a
+ document to be reevaluated and this makes the system an
+ interactive WYSIWYG document editor. Currently the
+ system is used for documenting various instances of
+ animations generated by an animation package developed
+ at Bilkent University. (28 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Comput. Eng. and Inf. Sci., Bilkent Univ.,
+ Ankara, Turkey",
+ classification = "C6130B (Graphics techniques)",
+ keywords = "Animation package; Bilkent University; Graphics
+ editor; Image editor; Interactive WYSIWYG document
+ editor; ODA/ODIF standard; Relational expressions;
+ Relational geometry; Text editor; Unified document",
+ thesaurus = "Computer graphics; Text editing",
+}
+
+@Book{Craig:1971:DT,
+ author = "James Craig",
+ title = "Designing with Type",
+ publisher = pub-WGP,
+ address = pub-WGP:adr,
+ pages = "175",
+ year = "1971",
+ ISBN = "0-8230-1320-0",
+ ISBN-13 = "978-0-8230-1320-3",
+ LCCN = "70-159564",
+ bibdate = "Wed Jul 6 13:57:38 1994",
+ acknowledgement = ack-nhfb,
+ comments = "Spiralbound. Seventh printing, 1978.",
+ libnote = "Not yet in my library.",
+}
+
+@Article{Crawford:1987:CSW,
+ author = "Walt Crawford",
+ title = "Common sense Wordworking {III}: desktop publishing and
+ desktop typesetting",
+ journal = j-LIB-HI-TECH,
+ volume = "5",
+ number = "1",
+ pages = "43--52",
+ month = "Spring",
+ year = "1987",
+ ISSN = "0737-8831",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation; human factors",
+ subject = "J.7 Computer Applications, COMPUTERS IN OTHER SYSTEMS,
+ Publishing",
+}
+
+@Article{Crawford:1987:DTL,
+ author = "Walt Crawford",
+ title = "Desktop typesetting and the {LITA} newsletter",
+ journal = j-INFO-TECH-LIB,
+ volume = "6",
+ number = "2",
+ pages = "89--96",
+ month = jun,
+ year = "1987",
+ ISSN = "0730-9295",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "human factors; management",
+ subject = "J.7 Computer Applications, COMPUTERS IN OTHER SYSTEMS,
+ Publishing \\ H.3.6 Information Systems, INFORMATION
+ STORAGE AND RETRIEVAL, Library Automation \\ K.7.2
+ Computing Milieux, THE COMPUTING PROFESSION,
+ Organizations",
+}
+
+@Book{Dair:1967:DT,
+ author = "Carl Dair",
+ title = "Design with Type",
+ publisher = pub-UTP,
+ address = pub-UTP:adr,
+ pages = "vi + 162",
+ year = "1967",
+ ISBN = "0-8020-1426-7 (hardcover), 0-8020-6519-8 (paperback)",
+ ISBN-13 = "978-0-8020-1426-9 (hardcover), 978-0-8020-6519-3
+ (paperback)",
+ LCCN = "Z246 D35 1967",
+ bibdate = "Fri Jul 22 08:54:08 1994",
+ acknowledgement = ack-fm,
+ annote = "A good survey of traditional typography with many
+ useful rules of thumb. (RRu)",
+ history = "Paperback reprint 1985",
+}
+
+@Misc{DANTE:1989:TK,
+ key = "DANTE",
+ title = "Die {\TeX}nische {Kom{\"o}die}",
+ year = "1989" # "\unskip--",
+ bibdate = "Tue Mar 1 11:59:14 1994",
+ note = "Journal of DANTE (Deutschsprachige Anwendervereinigung
+ {\TeX} e.V.); Group of German-speaking {\TeX{}
+ Users}.",
+}
+
+@Article{Darling:1993:F,
+ author = "R. W. R. Darling",
+ title = "{FrameMaker} 3.0",
+ journal = j-NAMS,
+ volume = "40",
+ number = "2",
+ pages = "150--152",
+ month = feb,
+ year = "1993",
+ ISSN = "0002-9920",
+ bibdate = "Sat Sep 10 12:57:01 1994",
+ acknowledgement = ack-ps,
+}
+
+@Article{Day:1983:TMM,
+ author = "R. A. Day",
+ title = "Typesetting mathematics on multi-access systems",
+ journal = j-SPE,
+ volume = "13",
+ number = "2",
+ pages = "131--138",
+ month = feb,
+ year = "1983",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Mon Jul 25 12:25:44 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation",
+ review = "ACM CR 8402-0128",
+ subject = "I.7.2.B Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Format and notation \\ I.7.2 C.2
+ Computer Systems Organization, COMPUTER-COMMUNICATION
+ NETWORKS, Network Architecture and Design \\ I.7
+ Computing Methodologies, TEXT PROCESSING, Document
+ Preparation",
+}
+
+@Article{Deach:1992:OFH,
+ author = "Stephen Deach",
+ title = "Outline font hints and rasterization: {A} technology
+ primer",
+ journal = j-SEYBOLD,
+ volume = "6",
+ number = "7",
+ pages = "21--31",
+ month = mar # " 9",
+ year = "1992",
+ CODEN = "SRDFE",
+ ISSN = "0889-9762",
+ bibdate = "Tue Mar 1 11:59:50 1994",
+ note = "This paper is followed by a dissent from Adobe (Terry
+ O'Donnell), and a response from the author (p. 32). A
+ sidebar (historical note, p. 25) contains a short
+ description of {\MF} and cites {\MF} as a forerunner of
+ the hinting mechanism used in TrueType.",
+ acknowledgement = ack-bnb,
+}
+
+@TechReport{deBruin:1988:PML,
+ author = "R. de Bruin and C. G. {van der Laan} and J. R. Luyten
+ and H. F. Vogt",
+ title = "Publiceren met {\LaTeX}",
+ type = "CWI Syllabus",
+ number = "19",
+ institution = inst-CWI,
+ address = inst-CWI:adr,
+ year = "1988",
+ ISBN = "90-6196-357-5",
+ ISBN-13 = "978-90-6196-357-8",
+ bibdate = "Tue Mar 1 12:47:03 1994",
+ note = "In Dutch; copious examples.",
+}
+
+@InProceedings{DeLaBeaujardiere:1988:WDI,
+ author = "Jean-M. {De La Beaujardiere}",
+ title = "Well-established document interchange formats",
+ crossref = "vanVliet:1988:DMT",
+ pages = "83--94",
+ year = "1988",
+ bibdate = "Fri Dec 18 11:11:43 1998",
+ series = "Cambridge series on electronic publishing",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation; performance; standardization",
+ review = "ACM CR 8909-0687",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Format and notation \\ C.2.0
+ Computer Systems Organization, COMPUTER-COMMUNICATION
+ NETWORKS, General, Data communications \\ C.2.2
+ Computer Systems Organization, COMPUTER-COMMUNICATION
+ NETWORKS, Network Protocols, ODA \\ I.7.2 Computing
+ Methodologies, TEXT PROCESSING, Document Preparation,
+ SGML \\ C.2.2 Computer Systems Organization,
+ COMPUTER-COMMUNICATION NETWORKS, Network Protocols \\
+ C.2.2 Computer Systems Organization,
+ COMPUTER-COMMUNICATION NETWORKS, Network Protocols",
+}
+
+@Book{Delpech:1997:TDL,
+ author = "Jean-Pierre Delpech and Marc-Andre Figueres and Nicole
+ Mari",
+ title = "Techniques du {\LaTeX}",
+ publisher = pub-EYROLLES,
+ address = pub-EYROLLES:adr,
+ pages = "128",
+ year = "1997",
+ ISBN = "2-212-02609-9",
+ ISBN-13 = "978-2-212-02609-2",
+ LCCN = "????",
+ bibdate = "Sat Mar 7 18:25:51 MST 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{DeMillo:1991:USA,
+ author = "Richard A. DeMillo and Aditya P. Mathur",
+ title = "On the Use of Software Artifacts to Evaluate the
+ Effectiveness of Mutation Analysis for Detecting Errors
+ in Production Software",
+ type = "Technical Report",
+ number = "SERC-TR-92-P",
+ institution = "Software Engineering Research Center",
+ address = "Purdue University, W. Lafayette, IN 47907, USA",
+ year = "1991",
+ bibdate = "Tue Mar 1 12:48:47 1994",
+}
+
+@Article{Demmig:1989:PBP,
+ author = "S. Demmig",
+ title = "Printing books on the {PC} or the fantastic
+ possibilities of {\TeX}",
+ journal = j-MIKROCOMP-Z,
+ volume = "7",
+ pages = "60--66",
+ month = jul,
+ year = "1989",
+ CODEN = "MDMZD",
+ ISSN = "0720-4442",
+ bibdate = "Wed Aug 31 00:54:39 MDT 1994",
+ abstract = "TeX is a printing composition system of the highest
+ quality, particularly well suited for mathematical and
+ generally technical manuscripts. Its flexibility and
+ portability are unequalled. It was developed at the
+ Stanford University and has ever since been used
+ whenever great accuracy and efficiency were required.
+ The operational principle is explained and an example
+ of its product is shown. (5 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C5550 (Printers, plotters and other hard-copy output
+ devices)",
+ keywords = "Mathematical manuscripts; Operational principle;
+ Portability; Printing composition system; Technical
+ manuscripts; TeX",
+ language = "German",
+ thesaurus = "Printers",
+}
+
+@Book{Denton:1992:GVC,
+ author = "Craig Denton",
+ title = "Graphics for visual communication",
+ publisher = pub-WCB,
+ address = pub-WCB:adr,
+ pages = "xv + 383",
+ year = "1992",
+ ISBN = "0-697-08540-6",
+ ISBN-13 = "978-0-697-08540-5",
+ LCCN = "P93.5.D46 1992",
+ bibdate = "Thu Mar 19 09:23:02 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Department:1990:MPP,
+ author = "{AMS Composition Services Department}",
+ title = "From Manuscript to Published Paper: How Does it
+ Happen? Part 2",
+ journal = j-NAMS,
+ volume = "37",
+ number = "8",
+ pages = "1027--1028",
+ month = oct,
+ year = "1990",
+ ISSN = "0002-9920",
+}
+
+@Book{DeRose:1994:MHW,
+ author = "Steven J. DeRose and David G. Durand",
+ title = "Making Hypermedia Work",
+ publisher = pub-KLUWER,
+ address = pub-KLUWER:adr,
+ pages = "xxii + 384",
+ year = "1994",
+ ISBN = "0-7923-9432-1",
+ ISBN-13 = "978-0-7923-9432-7",
+ LCCN = "QA76.76.I59 D47 1994",
+ bibdate = "Sat Sep 10 12:43:32 1994",
+ price = "UK\pounds 51.00, US\$68.00",
+ acknowledgement = ack-hg,
+ annote = "Harry Gaylord comments: ``Much nonsense and hype has
+ been written about hypertext. Much software has been
+ written to produce hypertext documents which are high
+ on pzaz and whistles and bangs, but requires
+ painstaking work on the part of the writer. Revising
+ the documents often means that they have to be
+ time-consumingly debugged in obscure ways before they
+ can be used again. Documents cannot be used in any
+ other system except the one they were written in. More
+ importantly often the documents have to be broken up
+ first into structures which are not inherent to the
+ document. A library card catalogue contains cards, a
+ newspaper or a novel doesn't. To force a novel into
+ cards violates the very structure of the document.
+ Other so-called hypertext systems are organised very
+ simply and do what they claim to do very well, but
+ documents produced in them will have to be
+ substantially revised when more facilities are
+ required. To create order out of this, ISO
+ JTC1/SC18/WG8 created a group to draw up a standard for
+ hypertext. The result of this work is ISO 10744:1992
+ HyTime. About the same time, the Text Encoding
+ Initiative appointed a hypertext committee of four
+ members. Its chair was DeRose and the members include
+ Durand, Ed Fox, and Eve Wilson. The committee has
+ proposed important revisions and extensions to HyTime,
+ and the TEI Guidelines include all the query facilities
+ of HyTime plus other extensions. If these extensions
+ are found useful in the wider community, they will be
+ incorporated in the next revision of HyTime. This is
+ the first book to appear on HyTime. Eliot Kimber is
+ preparing one which is scheduled to appear in August,
+ and Charles Goldfarb is working on another which is
+ being modeled on the SGML Handbook in that it will
+ include the commented standard itself. This book is
+ divided into three parts. Part 1 is called Introducing
+ HyTime. This is the most general and provides an
+ excellent starting point for anyone who needs to know
+ what HyTime is, what its relation to SGML is, what its
+ modules are, and why anyone who is producing or using
+ electronic documents needs SGML and/or HyTime products.
+ For many this will be enough to convince them that they
+ should hand the book on to their software purchasers
+ and implementors to get to work. Part 2 is entitled
+ Basic HyTime. The chapters include Basic Measurement,
+ Hyperlinks, Locating Data Objects, The HyTime Query
+ Language, and Modifying a DTD for HyTime. Many hours of
+ my time would have been saved if I had received this
+ section when I received the draft of the standard
+ itself. When one reads this part carefully, one has a
+ clear idea of most of the details involved in HyTime.
+ One of my strongest criticisms of HyTime is the obscure
+ short names. They could have been clear if the
+ committee had not decided to limit name lengths to less
+ than 8 letters as was specified in SGML Reference
+ Syntax. As it is only insiders in the work on the
+ standard itself can understand what they actually refer
+ to. Part 3 is entitled Intermediate HyTime. Here are
+ the extra detailed treatments of aspects of HyTime
+ which implementors need to know. Appendixes include the
+ HyTime Meta-DTD with its corrections and Graphic
+ Notations. The book is concluded with a bibliography,
+ glossary, and index. If I understand the authors, the
+ highest level of hypertext which can be reached at the
+ moment is Intermediate, not Advanced. The field is too
+ young. They are, of course, right in this. It is no
+ accident that these authors are part of that Brown
+ group which has spread out to Boston now. It has been
+ the major center for producing systems for structuring
+ and linking highly complex documents and have built
+ extensive experience since the 1960's. The didactic
+ arrangement is impressive. Basic issues are discussed
+ clearly first and nuances are added later when they are
+ needed by the reader. It is not often that in a very
+ complex subject the authors so clearly have understood
+ what is forest and what is trees, and have been such
+ good guides to the uninitiated and initiated alike.
+ With this book I have a proper coursebook for my
+ students this year. If you want to know about
+ electronic documents which are usable in more than one
+ system and future-oriented, then you should buy this
+ book without waiting for anything else to appear. It
+ provides an excellent introduction for the general
+ reader, and thorough treatment for those who need
+ it.''",
+}
+
+@InCollection{Desarmenien:1984:DOM,
+ author = "Jacques D{\'e}sarm{\'e}nien",
+ booktitle = "How to run {\TeX} in {French}",
+ title = "La division par ordinateur des mots fran\c cais avec
+ le logiciel {\TeX}",
+ publisher = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ pages = "19--42",
+ year = "1984",
+ bibdate = "Sat Mar 12 18:15:30 1994",
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Desarmenien:1984:HRT,
+ author = "Jacques D{\'e}sarm{\'e}nien",
+ title = "How to run {\TeX} in {French}",
+ number = "STAN-CS-84-1013",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ month = aug,
+ year = "1984",
+ bibdate = "Sat Feb 10 14:55:27 1996",
+}
+
+@InProceedings{Desarmenien:1985:UTF,
+ author = "Jacques D{\'e}sarm{\'e}nien",
+ title = "The {Use} of {\TeX} in {French}: {Hyphenation} and
+ {Typography}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "41--59",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:28:32 1994",
+ acknowledgement = ack-hk,
+}
+
+@Book{Desgraupes:1999:MGP,
+ author = "Bernard Desgraupes",
+ title = "{Metafont}: Guide pratique",
+ publisher = "Vuibert",
+ address = "Paris, France",
+ pages = "267",
+ year = "1999",
+ ISBN = "2-7117-8642-0",
+ ISBN-13 = "978-2-7117-8642-8",
+ LCCN = "????",
+ bibdate = "Thu Jul 31 14:46:44 2003",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Detig:1997:LW,
+ author = "Christine Detig",
+ title = "{Der \LaTeXe{}-Wegweiser}",
+ publisher = pub-ITPG,
+ address = pub-ITPG:adr,
+ pages = "xiv + 236",
+ year = "1997",
+ ISBN = "3-8266-0256-0",
+ ISBN-13 = "978-3-8266-0256-6",
+ LCCN = "",
+ bibdate = "Sat Mar 07 09:00:51 1998",
+ price = "DM 29,80",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Dickey:1987:TAU,
+ author = "Leroy J. Dickey",
+ title = "Typesetting {APL} using {TROFF}",
+ crossref = "Haliburton:1987:ATC",
+ pages = "494--497",
+ year = "1987",
+ bibdate = "Wed Jul 27 11:05:31 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation; languages",
+ subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language
+ Classifications, APL \\ J.7 Computer Applications,
+ COMPUTERS IN OTHER SYSTEMS, Publishing \\ I.7.m
+ Computing Methodologies, TEXT PROCESSING,
+ Miscellaneous",
+}
+
+@Book{Dietsche:1994:LLS,
+ author = "Luzia Dietsche and Joachim Lammarsch",
+ title = "{\LaTeX} zum Loslegen: ein Soforthelfer f{\"u}r den
+ Alltag \toenglish {\LaTeX}, ready to start: Instant
+ help for everyday \endtoenglish",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "x + 116",
+ year = "1994",
+ ISBN = "3-540-56545-0",
+ ISBN-13 = "978-3-540-56545-1",
+ bibdate = "Thu Dec 29 10:44:23 1994",
+ price = "DM39.00",
+ acknowledgement = ack-rz,
+}
+
+@Book{Diller:1993:LLL,
+ author = "Antoni Diller",
+ title = "{\LaTeX} Line by Line: Tips and Techniques for
+ Document Processing",
+ publisher = pub-W,
+ address = pub-W:adr,
+ pages = "xiii + 291",
+ year = "1993",
+ ISBN = "0-471-93471-2 (softcover)",
+ ISBN-13 = "978-0-471-93471-4 (softcover)",
+ LCCN = "Z253.4.L38 D55 1993",
+ note = "Optionally accompanied by disk with examples, ISBN
+ 0-471-93797-5.",
+ price = "US\$29.95",
+ series = "Wiley Professional Computing",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Diller:1999:LLL,
+ author = "Antoni Diller",
+ title = "{\LaTeX} Line by Line: Tips and Techniques for
+ Document Processing",
+ publisher = pub-W,
+ address = pub-W:adr,
+ edition = "Second",
+ pages = "xv + 311",
+ year = "1999",
+ ISBN = "0-471-97918-X (softcover)",
+ ISBN-13 = "978-0-471-97918-0 (softcover)",
+ LCCN = "Z253.4.L38 D55 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Dol:1994:TG,
+ author = "Wietse Dol and Erik Frambach and Siep Kroonenberg and
+ Maarten H. van der Vlerk",
+ title = "{\TeX} and {4\TeX} Guide",
+ organization = org-NTG,
+ address = org-NTG:adr,
+ year = "1994",
+ bibdate = "Wed Aug 10 15:38:28 1994",
+ note = "The CD-ROM provides a complete runnable installation
+ of {\TeX} and {\MF} for the IBM PC.",
+ price = "US\$35.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Dol:1999:W,
+ author = "Wietse Dol and Erik Frambach",
+ title = "{4\TeX} for {Windows}",
+ publisher = "Dutch-language oriented \TeX{} Users Group (NTG)",
+ address = "Amsterdam, The Netherlands",
+ pages = "xx + 531",
+ month = jun,
+ year = "1999",
+ ISBN = "90-76669-01-5",
+ ISBN-13 = "978-90-76669-01-4",
+ LCCN = "????",
+ bibdate = "Tue Aug 31 07:56:55 1999",
+ price = "US\$25",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Doob:1989:TTA,
+ author = "Michael Doob",
+ title = "{\TeX} and Typesetting\emdash An Author's View",
+ journal = j-NAMS,
+ volume = "36",
+ number = "9",
+ pages = "1203--1204",
+ month = nov,
+ year = "1989",
+ ISSN = "0002-9920",
+ bibdate = "Tue Mar 1 11:34:03 1994",
+}
+
+@Article{Doob:1990:TSC,
+ author = "Michael Doob",
+ title = "{\TeX} and the Single {CPU}",
+ journal = j-NAMS,
+ volume = "37",
+ number = "3",
+ pages = "270--273",
+ month = mar,
+ year = "1990",
+ ISSN = "0002-9920",
+}
+
+@Book{Doob:1993:TSS,
+ author = "Michael Doob",
+ title = "{\TeX}: Starting from Square 1",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "114",
+ year = "1993",
+ ISBN = "0-387-56441-1",
+ ISBN-13 = "978-0-387-56441-8",
+ LCCN = "Z253.4.T47 D66 1993",
+ bibdate = "Wed Aug 10 14:02:27 1994",
+ price = "US\$25.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Doob:2000:PVS,
+ author = "Michael Doob",
+ title = "To proto vima sto {\TeX}",
+ publisher = "Paratiritis Editions",
+ address = "Thessaloniki, Greece",
+ pages = "viii + 144",
+ year = "2000",
+ ISBN = "960-374-081-0",
+ ISBN-13 = "978-960-374-081-0",
+ bibdate = "Wed Oct 18 07:08:44 2000",
+ note = "Translation into Greek by Dimitrios Filippou.",
+ acknowledgement = ack-df,
+ annote = "A Greek translation and enhancement of Michael Doob's
+ {\em {\TeX} starting from square one}.",
+}
+
+@Book{Dreyfus:1989:AXF,
+ editor = "John Dreyfus and Knut Erichson",
+ title = "{ABC-XYZapf}: Fifty Years in Alphabet Design:
+ Professional and personal contributions selected for
+ Hermann Zapf",
+ publisher = pub-WWS,
+ address = pub-WWS:adr,
+ pages = "251",
+ year = "1989",
+ ISBN = "3-922715-35-4",
+ ISBN-13 = "978-3-922715-35-1",
+ LCCN = "Z250.A2 Z358 1989",
+ bibdate = "Sun Jul 10 01:13:44 1994",
+}
+
+@Book{Drucker:1995:ALL,
+ author = "Johanna Drucker",
+ title = "The Alphabetic Labyrinth: The Letters in History and
+ Imagination",
+ publisher = pub-NORTON,
+ address = pub-NORTON:adr,
+ pages = "328",
+ year = "1995",
+ ISBN = "0-500-01608-9",
+ ISBN-13 = "978-0-500-01608-4",
+ LCCN = "P211 .D78 1995 AAL",
+ bibdate = "Fri Jun 23 17:23:50 1995",
+ price = "US\$45.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Duan:1989:IPS,
+ author = "G. Duan and R. A. Morris",
+ title = "The Importance of Phase in the Spectra of Digital
+ Type",
+ journal = j-EPODD,
+ volume = "2",
+ number = "1",
+ pages = "47--60",
+ month = apr,
+ year = "1989",
+ CODEN = "EPODE",
+ ISSN = "0894-3982",
+}
+
+@Book{Dyl:1994:KTS,
+ author = "Dariusz Dyl",
+ title = "Komputerowy sk{\l}ad tekstu w systemie {\LaTeX}.
+ Przewodnik po komendach i {\'s}rodowiskach wraz z
+ przyk{\l}adami.",
+ publisher = pub-MARSZALEK,
+ address = pub-MARSZALEK:adr,
+ edition = "1.",
+ year = "1994",
+ bibdate = "Thu Jun 23 18:23:22 1994",
+ note = "sk{\l}adano w systemie {\LaTeX} (styl book11pt) przy
+ u{\.z}yciu programu Vector{\TeX} ver. 2.24",
+ acknowledgement = ack-md,
+ address-l = lang-pl,
+ author-l = lang-pl,
+ note-1 = "In Polish.",
+ note-l = lang-pl,
+ publisher-l = lang-pl,
+ title-l = lang-pl,
+}
+
+@Book{Eckersley:1994:GTT,
+ author = "Richard Eckersley and Richard Angstadt and Charles M.
+ Ellertson and Richard Hendel and Naomi B. Pascal and
+ Anita Walker Scott",
+ title = "Glossary of Typesetting Terms",
+ publisher = pub-U-CHICAGO-PRESS,
+ address = pub-U-CHICAGO-PRESS:adr,
+ pages = "xi + 169",
+ year = "1994",
+ ISBN = "0-226-18371-8",
+ ISBN-13 = "978-0-226-18371-8",
+ bibdate = "Wed Jan 4 10:03:02 1995",
+ price = "US\$20.00",
+ series = "Chicago Guides to Writing, Editing, and Publishing",
+ acknowledgement = ack-bnb,
+}
+
+@InProceedings{Eddahibi:2004:AMD,
+ author = "Mostafa Banouni and Mohamed Elyaakoubi and Azzeddine
+ Lazrek",
+ title = "{Arabic} Mathematical e-Documents",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "158--168",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+ remark = "A production error resulted in the printed article
+ incorrectly listing the authors as ``Mustapha Eddahibi,
+ Azzeddine Lazrek, and Khalid Sami''.",
+}
+
+@InProceedings{Eddahibi:2004:DAM,
+ author = "Mustapha Eddahibi and Azzeddine Lazrek and Khalid
+ Sami",
+ title = "Dynamic {Arabic} Mathematical Fonts",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "149--157",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Ehrenfeucht:1994:CFT,
+ author = "A. Ehrenfeucht and P. ten Pas and G. Rozenberg",
+ title = "Context-free text grammars",
+ journal = j-ACTA-INFO,
+ volume = "31",
+ number = "2",
+ pages = "161--206",
+ month = "??",
+ year = "1994",
+ CODEN = "AINFA",
+ ISSN = "0001-5903",
+ bibdate = "Sat Nov 12 21:49:17 1994",
+ note = "From Joachim Schrod: This paper describes ``the basic
+ theory behind text grammars needed for document
+ structure specification''.",
+ acknowledgement = ack-js,
+}
+
+@InProceedings{Eickel:1990:LLS,
+ author = "J{\"u}rgen Eickel",
+ title = "Logical and layout structures of documents",
+ crossref = "Nadrchal:1990:MMI",
+ pages = "201--208",
+ year = "1990",
+ bibdate = "Tue Mar 1 12:49:13 1994",
+ note = "Invited paper.",
+ acknowledgement = ack-rw,
+}
+
+@Article{Eijkhout:1990:WT,
+ author = "Victor Eijkhout and Nico Poppelier",
+ title = "Wat is {\TeX}",
+ journal = j-TWIO,
+ volume = "8",
+ number = "2",
+ pages = "44--48",
+ year = "1990",
+ notes = "In Dutch.",
+}
+
+@Book{Eijkhout:1992:TTT,
+ author = "Victor Eijkhout",
+ title = "{\TeX} by Topic, {A} {\TeX}nician's Reference",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "vii + 307",
+ year = "1992",
+ ISBN = "0-201-56882-9",
+ ISBN-13 = "978-0-201-56882-0",
+ LCCN = "Z253.4.T47 E38 1992",
+ bibdate = "Tue Dec 14 22:47:52 1993",
+}
+
+@Book{Emerson:1987:TTU,
+ author = "Sandra L. Emerson and Karen Paulsell",
+ title = "troff Typesetting for {UNIX} systems",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "xx + 359",
+ year = "1987",
+ ISBN = "0-13-930959-4",
+ ISBN-13 = "978-0-13-930959-5",
+ LCCN = "Z253.4.U53 E45 1987",
+ bibdate = "Wed Aug 10 11:26:52 1994",
+ price = "US\$29.95",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation; performance",
+ review = "ACM CR 8712-0981",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, troff \\ D.4.0 Software,
+ OPERATING SYSTEMS, General, UNIX",
+}
+
+@Unpublished{English:1987:UMO,
+ author = "Paul M. English",
+ title = "Using {\MF} for Original Font Design",
+ institution = "University of Massachusetts at Boston",
+ address = "Boston, MA, USA",
+ month = aug,
+ year = "1987",
+}
+
+@Misc{EPODD:1988:EPO,
+ key = "EPODD",
+ title = j-EPODD,
+ howpublished = pub-W,
+ year = "1988" # "\unskip--",
+ ISSN = "0894-3982",
+ note = "This journal accepts papers in \TeX{} form.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Evgrafov:1993:TRN,
+ author = "Marat Evgrafov and Leonid Evgrafov",
+ title = "{\TeX}: Rukovodstvo po naboru i redaktirovaniiu
+ mathematicheskikh textov \toenglish {Manual} on typing
+ and editing of mathematical texts \endtoenglish",
+ publisher = pub-PHISMATHLIT,
+ address = pub-PHISMATHLIT:adr,
+ pages = "80",
+ year = "1993",
+ ISBN = "5-02-015116-5",
+ ISBN-13 = "978-5-02-015116-1",
+ bibdate = "Wed Jan 04 08:16:13 1995",
+ note = "The first Russian book about {\TeX} that was written
+ by Russians. First press run: 7000 copies.",
+ acknowledgement = ack-ps,
+}
+
+@Article{Fateman:1987:TOM,
+ author = "Richard J. Fateman",
+ title = "{\TeX} output from {MACSYMA}-like systems",
+ journal = j-SIGSAM,
+ volume = "21",
+ number = "4",
+ pages = "1--5",
+ month = nov,
+ year = "1987",
+ CODEN = "SIGSBZ",
+ ISSN = "0163-5824",
+ bibdate = "Sat Aug 13 17:21:21 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; theory",
+ subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS
+ AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and
+ Problems, MACSYMA \\ I.1.3 Computing Methodologies,
+ ALGEBRAIC MANIPULATION, Languages and Systems,
+ MACSYMA",
+}
+
+@Book{Felici:1987:DPS,
+ author = "James Felici and Ted Nace",
+ title = "Desktop publishing skills: a primer for typesetting
+ with computer and laser printer",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "vii + 180",
+ month = aug,
+ year = "1987",
+ ISBN = "0-201-11537-9",
+ ISBN-13 = "978-0-201-11537-6",
+ LCCN = "Z286.D47 F44 1987",
+ bibdate = "Mon Jul 25 11:24:24 1994",
+ price = "UK\pounds20, US\$19.95",
+ abstract = "Until now, books on desktop publishing have focused on
+ available hardware and software and have neglected the
+ more lasting skills needed to use these tools
+ effectively. This book has been written in response to
+ this need. It provides, in one place, a coherent and
+ accessible introduction to the principles, processes,
+ and techniques of publishing that must be understood
+ before your document production with computers and
+ laser printers can realize its full potential. \par
+ Desktop Publishing Skills introduces publishing basics,
+ such as typesetting, design, and page make-up. It is
+ independent of any specific computer or laser printer,
+ making it a more generic and permanent resource for
+ study or reference. What's more, since the entire book
+ was produced by the authors using the technologies and
+ methods described in the book, you will be able to pick
+ up additional ideas on the effective use of desktop
+ publishing by just looking at the book itself.",
+ acknowledgement = ack-fm,
+ annote = "The book is a good primer for people who wish to get
+ involved with `inhouse' publishing. While it addresses
+ people interested in Desktop Publishing, the focus is
+ on typesetting quality. Typesetting fundamentals are
+ explained and it is discussed why they are necessary.
+ This is done from the point of view of the professional
+ looking at the desktop publishing world.\par A well
+ written book, worth reading for laymans who are
+ interested in document processing.\par \TeX{} is one of
+ the few mentioned typesetting programs but although the
+ quality of its output is acknowledged the authors seem
+ to be unaware of the underlying algorithmic concepts
+ (e.g., paragraph builder) that are superior to the
+ concepts they describe as the `standard'. (FMi)\par
+ From the \TeX{}line review: I have no hesitation in
+ recommending this book to anyone with any interest in
+ getting more out of computerised typesetting. (CHe)",
+ bibliography = "yes",
+ glossary = "yes",
+ history = "Reprint with corrections",
+ index = "yes",
+ inprint = "yes",
+ keywords = "design, electronic publishing, computerized
+ typesetting, printing laser use in, self-publishing",
+ printermarks = "no",
+ review = "ACM CR 8802-0072 and " # j-TEXLINE # " number 7,
+ February 1988",
+ subject = "J.7 Computer Applications, COMPUTERS IN OTHER SYSTEMS,
+ Publishing \\ B.4.2 Hardware, INPUT/OUTPUT AND DATA
+ COMMUNICATIONS, Input/Output Devices, Data terminals
+ and printers \\ H.4.1 Information Systems, INFORMATION
+ SYSTEMS APPLICATIONS, Office Automation, Equipment",
+}
+
+@Article{Filgueiras:1998:ISM,
+ author = "Miguel Filgueiras",
+ title = "Implementing a Symbolic Music Processing System",
+ journal = j-SPE,
+ volume = "28",
+ number = "5",
+ pages = "493--512",
+ month = may,
+ year = "1998",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Thu Jul 29 15:11:46 MDT 1999",
+ bibsource = "http://www3.interscience.wiley.comjournalfinder.html",
+ URL = "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=1793;
+ http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=1793&PLACEBO=IE.pdf",
+ acknowledgement = ack-nhfb,
+ annote = "Describes the ScEX system for music typesetting with
+ \TeX.",
+}
+
+@InProceedings{Filippou:2004:HPA,
+ author = "Dimitrios Filippou",
+ title = "Hyphenation Patterns for Ancient and Modern {Greek}",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "59--67",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Finston:2003:URM,
+ author = "Laurence D. Finston",
+ title = "{3DLDF} user and reference manual: $3$-dimensional
+ drawing with {\MP} output",
+ organization = "????",
+ address = "????",
+ pages = "ix + 269",
+ year = "2003",
+ bibdate = "Tue Jul 12 10:58:15 2005",
+ note = "Manual edition 1.0 for 3DLDF version 1.0 September
+ 2003.",
+ URL = "http://dante.ctan.org/CTAN/graphics/3DLDF/3DLDF.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Finston:2004:URM,
+ author = "Laurence D. Finston",
+ title = "{3DLDF} user and reference manual: $3$-dimensional
+ drawing with {\MP} output",
+ organization = "????",
+ address = "????",
+ pages = "x + 296",
+ year = "2004",
+ bibdate = "Tue Jul 12 10:58:15 2005",
+ note = "Manual edition 1.1.5.1 for 3DLDF version 1.1.5.1
+ January 2004.",
+ URL = "http://dante.ctan.org/CTAN/graphics/3DLDF/3DLDF.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Firmage:1993:AA,
+ author = "Richard A. Firmage",
+ title = "The Alphabet Abecedarium: Some Notes on Letters",
+ publisher = pub-GODINE,
+ address = pub-GODINE:adr,
+ pages = "xi + 307",
+ year = "1993",
+ ISBN = "0-87923-987-5",
+ ISBN-13 = "978-0-87923-987-9",
+ LCCN = "P211 .F6 1993",
+ bibdate = "Wed Aug 10 09:58:07 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Fisher:1991:IAI,
+ author = "A. J. Fisher",
+ title = "Incremental algorithms for interactive text
+ formatting",
+ journal = j-J-SYST-SOFTW,
+ volume = "16",
+ number = "1",
+ pages = "3--16",
+ month = sep,
+ year = "1991",
+ CODEN = "JSSOD",
+ ISSN = "0164-1212",
+ bibdate = "Thu Sep 01 01:09:16 1994",
+ abstract = "The paper presents algorithms which transform a piece
+ of text by formatting it according to instructions
+ embedded in the text. In contrast to earlier
+ algorithms, the algorithms described perform their task
+ incrementally. Changes in the unformatted document are
+ compiled into corresponding changes in the formatted
+ text. By these means, it is possible to build a very
+ fast interactive text formatter. A text formatting
+ system called ALPHA is presented which uses the
+ algorithms described. ALPHA is a window-based system
+ which combines the power of a document description
+ language in the style of {\TeX} or TROFF with the
+ convenience and responsiveness of an interactive
+ WYSIWYG system. In addition to their intended use in
+ text formatting systems, the algorithms are applicable
+ to the incremental compilation of programming languages
+ and the editing of structured text. (20 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Comput. Sci., York Univ., UK",
+ classification = "C6130D (Document processing techniques); C6180 (User
+ interfaces)",
+ keywords = "ALPHA; Document description language; Formatted text;
+ Incremental compilation; Interactive text formatter;
+ Interactive text formatting; Programming languages;
+ TeX; TROFF; Unformatted document; Window-based system;
+ WYSIWYG system",
+ thesaurus = "Text editing; User interfaces; Word processing",
+}
+
+@InProceedings{Flipo:1992:HPA,
+ author = "Daniel Flipo and Laurent Siebenmann",
+ title = "Hyphenation in presence of accents and diacritics. An
+ easy and low-cost solution",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "87--96",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Foata:1984:SLT,
+ author = "Dominique Foata and Jean-Jacques Pansiot and Yves
+ Roy",
+ title = "{STRATEC}\emdash un logiciel traitement de textes
+ math\'ematiques en amont de {\TeX} (ver.0.93)",
+ address = "Laboratoire de Typographie Informatique,
+ Universit{\'e} Louis Pasteur, Strasbourg, France",
+ year = "1984",
+ bibdate = "Sat Feb 10 14:49:32 1996",
+}
+
+@InProceedings{Foata:1985:SRK,
+ author = "Dominique Foata and Jean-Jacques Pansiot and Yves
+ Roy",
+ title = "{STRATEC} and a {Rationalized Keyboard} for {Inputting
+ \TeX}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "105--116",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:28:25 1994",
+ acknowledgement = ack-hk,
+}
+
+@Article{Fox:1997:QLO,
+ author = "Jim Fox",
+ title = "{Q}\&{AIX}: {\LaTeX}, the Old and the New",
+ journal = j-SUNEXPERT,
+ volume = "8",
+ number = "11",
+ pages = "72, 74",
+ month = nov,
+ year = "1997",
+ ISSN = "1053-9239",
+ bibdate = "Mon Nov 24 17:00:57 1997",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Fox:1998:QLL,
+ author = "Jim Fox",
+ title = "{Q}\&{AIX}: Life with {\LaTeX}",
+ journal = j-SUNEXPERT,
+ volume = "9",
+ number = "4",
+ pages = "53--54, 56",
+ month = apr,
+ year = "1998",
+ ISSN = "1053-9239",
+ bibdate = "Thu Apr 16 18:47:04 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Foxley:1987:MLT,
+ author = "Eric Foxley",
+ title = "Music---a language for typesetting music scores",
+ journal = j-SPE,
+ volume = "17",
+ number = "8",
+ pages = "485--502",
+ month = aug,
+ year = "1987",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "algorithms; design; languages; performance",
+ subject = "J.5 Computer Applications, ARTS AND HUMANITIES, Music
+ \\ I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Format and notation \\ D.3.2
+ Software, PROGRAMMING LANGUAGES, Language
+ Classifications, Macro and assembly languages \\ I.7.2
+ Computing Methodologies, TEXT PROCESSING, Document
+ Preparation \\ J.5 Computer Applications, ARTS AND
+ HUMANITIES \\ D.3.3 Software, PROGRAMMING LANGUAGES,
+ Language Constructs, Modules, packages \\ D.3.2
+ Software, PROGRAMMING LANGUAGES, Language
+ Classifications, Applicative languages \\ D.2.2
+ Software, SOFTWARE ENGINEERING, Tools and Techniques,
+ User interfaces",
+}
+
+@TechReport{Fuchs:1982:OFC,
+ author = "David R. Fuchs and Donald E. Knuth",
+ title = "Optimal Font Caching",
+ number = "STAN-CS-82-901",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ year = "1982",
+ bibdate = "Sat Feb 10 14:55:25 1996",
+}
+
+@Article{Fuchs:1985:OPF,
+ author = "D. R. Fuchs and D. E. Knuth",
+ title = "Optimal prepaging and font caching",
+ journal = j-TOPLAS,
+ volume = "7",
+ number = "1",
+ pages = "62--79",
+ month = jan,
+ year = "1985",
+ CODEN = "ATPSDT",
+ ISSN = "0164-0925",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "algorithms; measurement; performance",
+ review = "ACM CR 8602-0122",
+ subject = "D.4.2 Software, OPERATING SYSTEMS, Storage Management,
+ Allocation/deallocation strategies \\ D.4.2 Software,
+ OPERATING SYSTEMS, Storage Management, Secondary
+ storage devices \\ D.4.2 Software, OPERATING SYSTEMS,
+ Storage Management, Virtual memory \\ E.2 Data, DATA
+ STORAGE REPRESENTATIONS, Linked representations \\
+ I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Photocomposition",
+}
+
+@Book{Fujita:1993:CBG,
+ author = "Shinsaku Fujita",
+ title = "{\LaTeX} for Chemists and Biochemists. {A} Guide for
+ Preparing Papers with Personal Computers [in
+ Japanese]",
+ publisher = "Tokyo Kagaku Dozin",
+ address = "Tokyo, Japan",
+ pages = "xiv + 305",
+ year = "1993",
+ ISBN = "4-8079-0386-1",
+ ISBN-13 = "978-4-8079-0386-3",
+ LCCN = "",
+ bibdate = "Mon Dec 30 06:29:35 1996",
+ note = "Includes diskette with macros and styles for about
+ thirty scientific journals.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Fujita:1994:TSF,
+ author = "Shinsaku Fujita",
+ title = "Typesetting Structural Formulae with the Text
+ Formatter {\TeX\slash \LaTeX}",
+ journal = j-COMPCHEM,
+ volume = "18",
+ number = "2",
+ institution = "Ashigara Research Labs Fuji Photo Film Company",
+ pages = "109--116",
+ year = "1994",
+ bibdate = "Sat Feb 10 08:48:07 1996",
+ acknowledgement = ack-mb,
+}
+
+@Article{Furuta:1982:DFSa,
+ author = "Richard Furuta and Jeffrey Scofield and Alan Shaw",
+ title = "Document formatting systems: survey, concepts, and
+ issues",
+ journal = j-COMP-SURVEYS,
+ volume = "14",
+ number = "3",
+ pages = "417--472",
+ month = sep,
+ year = "1982",
+ bibdate = "Thu Jul 21 19:37:03 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@InCollection{Furuta:1982:DFSb,
+ author = "Richard Furuta and Jeffrey Scofield and Alan Shaw",
+ title = "Document formatting systems: survey, concepts, and
+ issues",
+ crossref = "Nievergelt:1982:DPS",
+ chapter = "??",
+ pages = "133--220",
+ year = "1982",
+ bibdate = "Mon Aug 22 14:24:58 1994",
+ acknowledgement = ack-nhfb,
+ review = "ACM CR 40525",
+ subject = "H.4.1 Information Systems, INFORMATION SYSTEMS
+ APPLICATIONS, Office Automation, Word processing \\
+ I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Format and notation \\ I.7.2
+ Computing Methodologies, TEXT PROCESSING, Document
+ Preparation, Languages \\ I.7 Computing Methodologies,
+ TEXT PROCESSING, Miscellaneous \\ K.2 Computing
+ Milieux, HISTORY OF COMPUTING, Software",
+}
+
+@Article{Furuta:1985:RTT,
+ author = "Richard Furuta and Pierre A. MacKay",
+ title = "Two {\TeX} Implementations for the {IBM PC}",
+ journal = j-DDJ,
+ volume = "10",
+ number = "9",
+ pages = "80--89, 91",
+ month = sep,
+ year = "1985",
+ CODEN = "DDJOEB",
+ ISSN = "1044-789X",
+ bibdate = "Tue Sep 03 08:53:55 1996",
+ bibsource = "http://www.ddj.com/index/author/index.htm",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Gallego:1992:LPP,
+ author = "Francisco Orteg{\'o}n Gallego",
+ title = "{\LaTeX}, primeros pasos",
+ publisher = pub-MASSON-SA,
+ address = pub-MASSON-SA:adr,
+ pages = "xix + 168",
+ year = "1992",
+ ISBN = "84-311-0649-2",
+ ISBN-13 = "978-84-311-0649-2",
+ bibdate = "Sun Dec 27 17:42:34 1992",
+ series = "Manuales de Inform{\'a}tica Masson",
+}
+
+@Book{Garvey:1982:NEM,
+ author = "Daniel E. Garvey and William L. Rivers",
+ title = "Newswriting for the Electronic Media: Principles,
+ Examples, Applications",
+ publisher = pub-WPC,
+ address = pub-WPC:adr,
+ pages = "xiii + 250",
+ year = "1982",
+ ISBN = "0-534-01069-5",
+ ISBN-13 = "978-0-534-01069-0",
+ LCCN = "PN4784.B75 .G3",
+ bibdate = "Fri Jul 22 08:56:11 1994",
+ note = "Exercises, appendices, index, pp. 250.",
+ acknowledgement = ack-jpl,
+ annote = "College level text.",
+}
+
+@Book{Gehani:1986:DFT,
+ author = "Narain Gehani",
+ title = "Document formatting and typesetting on the {UNIX}
+ system",
+ publisher = pub-SILICON,
+ address = pub-SILICON:adr,
+ pages = "xv + 364",
+ year = "1986",
+ ISBN = "0-9615336-0-9",
+ ISBN-13 = "978-0-9615336-0-1",
+ LCCN = "Z52.5.U54 G43 1986",
+ bibdate = "Mon Jul 25 11:54:48 1994",
+ price = "US\$33.95",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; languages",
+ review = "ACM CR 8607-0584",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Format and notation \\ I.7.2
+ Computing Methodologies, TEXT PROCESSING, Document
+ Preparation, Languages \\ D.4.0 Software, OPERATING
+ SYSTEMS, General, UNIX",
+}
+
+@Book{Gehani:1987:DFT,
+ author = "Narain Gehani",
+ title = "Document Formatting and Typesetting on the {UNIX}
+ System",
+ publisher = pub-SILICON,
+ address = pub-SILICON:adr,
+ edition = "Second",
+ pages = "xix + 310 (or xv + 377)",
+ year = "1987",
+ ISBN = "0-13-938325-5, 0-9615336-2-5",
+ ISBN-13 = "978-0-13-938325-0, 978-0-9615336-2-5",
+ LCCN = "QA76.73.A35 G437 1987",
+ bibdate = "Tue Dec 14 23:36:50 1993",
+}
+
+@Book{Gehani:1988:DFT,
+ author = "Narain Gehani and Steven Lally",
+ title = "Document formatting and typesetting on the {UNIX}
+ system. Vol. 2: grap, mv, ms, and troff",
+ publisher = pub-SILICON,
+ address = pub-SILICON:adr,
+ pages = "304",
+ year = "1988",
+ ISBN = "0-9615336-3-3",
+ ISBN-13 = "978-0-9615336-3-2",
+ LCCN = "????",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ price = "US\$30.95",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; languages",
+ review = "ACM CR 8907-0444",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation \\ D.4.0 Software, OPERATING
+ SYSTEMS, General, UNIX \\ I.7.2 Computing
+ Methodologies, TEXT PROCESSING, Document Preparation,
+ troff",
+}
+
+@MastersThesis{Gella:1995:CTL,
+ author = "Kamal VenkataSatya Gella",
+ title = "A compiler to translate {\LaTeX} document to
+ hypertext",
+ type = "Thesis (M.S.)",
+ school = "University of South Carolina",
+ address = "Columbia, SC, USA",
+ pages = "iv + 40",
+ year = "1995",
+ bibdate = "Sat Mar 7 18:25:51 MST 1998",
+ acknowledgement = ack-nhfb,
+ keywords = "Compilers (Computer programs); Hypertext systems",
+}
+
+@Article{GeyerSchulz:1993:TAL,
+ author = "A. Geyer-Schulz and J. Matulka and G. Neumann",
+ title = "Typesetting {APL} with {\LaTeX}--the {APL} front end
+ {APL2TEX}",
+ journal = j-APL-QUOTE-QUAD,
+ volume = "23",
+ number = "3",
+ pages = "22--27",
+ month = mar,
+ year = "1993",
+ CODEN = "APLQD",
+ ISSN = "0163-6006",
+ bibdate = "Thu Sep 01 01:27:41 1994",
+ abstract = "An APL publishing system is presented for {\LaTeX}
+ which supports typesetting of APL publications and
+ documents in a mixed hardware, multiple vendor APL
+ environment. It requires minimal maintenance and is in
+ the public domain. The system has two components, the
+ {\LaTeX} document style option apl.sty and the APL2TEX
+ front end. The option apl.sty provides the full symbol
+ sets of the APL dialects APL2/370, APL2/PC, Dyalog APL,
+ I-APL, Sharp APL, and APL.68000 Levels I and II. All
+ APL symbols are constructed with the symbols of the
+ standard {\LaTeX} font family. No special fonts are
+ needed. The APL2TEX front end is a workspace containing
+ a preprocessor for converting APL objects to {\LaTeX}
+ logical document elements. APL2TEX is currently
+ available for APL2/370, APL2/PC, Dyalog APL and
+ APL.68000 Levels I and II. (15 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Bus. Adm., Vienna Univ. of Econ., Austria",
+ classification = "C6130 (Data handling techniques); C6140D (High level
+ languages); C6180 (User interfaces); C7230 (Publishing
+ and reproduction)",
+ keywords = "APL 68000; APL dialects; APL publications; APL
+ publishing system; APL typesetting; APL2/370; APL2/PC;
+ APL2TEX front end; Document style option; Dyalog APL;
+ Font family; Full symbol sets; I-APL; LaTeX; Logical
+ document elements; Multiple vendor APL environment;
+ Public domain; Sharp APL; Workspace",
+ thesaurus = "APL; Character sets; Computer controlled typesetting;
+ User interfaces",
+}
+
+@TechReport{Ghosh:1983:ATD,
+ author = "Pijush K. Ghosh",
+ title = "An {Approach} to {Type Design} and {Text}
+ {Composition} in {Indian Scripts} (with a preface by
+ Donald {E}. Knuth)",
+ number = "STAN-CS-83-965",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ year = "1983",
+ bibdate = "Sat Feb 10 14:50:27 1996",
+}
+
+@TechReport{Ghosh:1983:FAL,
+ author = "Pijush K. Ghosh and Charles A. Bigelow",
+ title = "A {Formal Approach} to {Lettershape Description} for
+ {Type Design}",
+ number = "STAN-CS-83-966",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ year = "1983",
+ bibdate = "Sat Feb 10 14:50:24 1996",
+}
+
+@Article{Ghosh:1984:BDI,
+ author = "P. K. Ghosh",
+ title = "Basic design issues in a multi-lingual type font
+ design and typesetting workstation",
+ journal = j-J-INST-ELEC-TELECOMM-ENG,
+ volume = "30",
+ number = "6",
+ pages = "196--202",
+ month = nov,
+ year = "1984",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; languages",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Languages \\ J.5 Computer
+ Applications, ARTS AND HUMANITIES, Linguistics \\ I.7
+ Computing Methodologies, TEXT PROCESSING, Document
+ Preparation",
+}
+
+@Book{Gibaldi:1996:MHW,
+ author = "Joseph Gibaldi",
+ title = "{MLA} Handbook for Writers of Research Papers",
+ publisher = pub-MLAA,
+ address = pub-MLAA:adr,
+ edition = "Fourth",
+ pages = "xviii + 293",
+ year = "1996",
+ ISBN = "0-87352-565-5",
+ ISBN-13 = "978-0-87352-565-7",
+ LCCN = "LB2369.G53 1995",
+ bibdate = "Sat Sep 28 17:22:14 1996",
+ price = "US\$16.75",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Gilchrist:1989:TTP,
+ author = "Martin Gilchrist",
+ title = "{\TeX} and Typesetting\emdash {A} Publisher's View",
+ journal = j-NAMS,
+ volume = "36",
+ number = "9",
+ pages = "1199--1201",
+ month = nov,
+ year = "1989",
+ ISSN = "0002-9920",
+ bibdate = "Tue Mar 1 11:34:21 1994",
+}
+
+@Article{GilmourBryson:1982:TPC,
+ author = "A. Gilmour-Bryson",
+ title = "Text preparation for computer typesetting",
+ journal = j-ALLC-BULL,
+ volume = "10",
+ number = "2",
+ pages = "40--47",
+ year = "1982",
+ ISSN = "0951-1474",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; human factors",
+ subject = "I.7 Computing Methodologies, TEXT PROCESSING, Document
+ Preparation",
+}
+
+@InProceedings{Goncalves:2004:FRM,
+ author = "Luis Nobre Gon{\c{c}}alves",
+ title = "{\FEATPOST} and a Review of $3${D} {\MP} Packages",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "112--124",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Gonczarowski:1989:ICP,
+ author = "Jakob Gonczarowski and On G. Paradise",
+ title = "{InScript}\emdash{}a {C}-like preprocessor for
+ {\POSTSCRIPT}",
+ journal = j-EPODD,
+ volume = "2",
+ number = "3",
+ pages = "157--167",
+ month = oct,
+ year = "1989",
+ CODEN = "EPODE",
+ ISSN = "0894-3982",
+}
+
+@Book{Goossens:1994:LB,
+ author = "Michel Goossens and Frank Mittelbach and Alexander
+ Samarin",
+ title = "{Der {\LaTeX}-Begleiter}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ pages = "xxxiii + 554",
+ year = "1994",
+ ISBN = "3-89319-646-3, 3-8273-1689-8",
+ ISBN-13 = "978-3-89319-646-3, 978-3-8273-1689-9",
+ LCCN = "????",
+ bibdate = "Fri Nov 24 12:04:53 2000",
+ price = "DM 79,90; ATS 583,00; CHF 73,00",
+ acknowledgement = ack-nhfb,
+ annote = "Reprinted in 1995, 1996, 1997, 1998, and 1999. A
+ second ISBN was assigned, although the book has not yet
+ been revised.",
+}
+
+@Book{Goossens:1994:LCa,
+ author = "Michel Goossens and Frank Mittelbach and Alexander
+ Samarin",
+ title = "The {\LaTeX} Companion",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxi + 528",
+ year = "1994",
+ ISBN = "0-201-54199-8",
+ ISBN-13 = "978-0-201-54199-1",
+ LCCN = "Z253.4.L38 G66 1994",
+ bibdate = "Thu Jun 03 09:31:37 1999",
+ price = "US\$34.25",
+ series = "Tools and Techniques for Computer Typesetting",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Goossens:1994:LCb,
+ author = "Michel Goossens and Frank Mittelbach and Alexander
+ Samarin",
+ title = "The {\LaTeX} Companion",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xxi + 530",
+ year = "1994",
+ ISBN = "0-201-54199-8",
+ ISBN-13 = "978-0-201-54199-1",
+ LCCN = "Z253.4.L38 G66 1994",
+ bibdate = "Wed Nov 16 12:41:07 1994",
+ price = "US\$34.25",
+ series = "Tools and Techniques for Computer Typesetting",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Goossens:1997:LGC,
+ author = "Michel Goossens and Sebastian Rahtz and Frank
+ Mittelbach",
+ title = "The {\LaTeX} Graphics Companion: Illustrating
+ Documents with {\TeX} and {PostScript}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxi + 554",
+ year = "1997",
+ ISBN = "0-201-85469-4",
+ ISBN-13 = "978-0-201-85469-5",
+ LCCN = "Z253.4.L38G663 1997",
+ bibdate = "Fri Jul 11 07:51:47 1997",
+ price = "US\$39.75",
+ series = "Tools and Techniques for Computer Typesetting",
+ acknowledgement = ack-nhfb,
+ keywords = "Computerized typesetting; LaTeX (Computer file);
+ Mathematics printing -- Computer programs; PostScript
+ (Computer program language); Scientific illustration --
+ Computer programs; Technical publishing -- Computer
+ programs.",
+}
+
+@Book{Goossens:1999:LWC,
+ author = "Michel Goossens and Sebastian Rahtz",
+ title = "The {\LaTeX} {Web} companion: integrating {\TeX},
+ {HTML}, and {XML}",
+ publisher = pub-AW-LONGMAN,
+ address = pub-AW-LONGMAN:adr,
+ pages = "xxii + 522",
+ year = "1999",
+ ISBN = "0-201-43311-7",
+ ISBN-13 = "978-0-201-43311-1",
+ LCCN = "QA76.76.H94G66 1999",
+ bibdate = "Thu Jun 03 09:32:08 1999",
+ note = "With Eitan M. Gurari and Ross Moore and Robert S.
+ Sutor.",
+ price = "US\$36.95",
+ series = "Tools and Techniques for Computer Typesetting",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Gourlay:1986:LMP,
+ author = "John S. Gourlay",
+ title = "A language for music printing",
+ journal = j-SPE,
+ volume = "29",
+ number = "5",
+ pages = "388--401",
+ month = may,
+ year = "1986",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Thu Jul 21 22:21:39 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Graetzer:1993:A,
+ author = "George Gr{\"a}tzer",
+ title = "{\AmSLaTeX}",
+ journal = j-NAMS,
+ volume = "40",
+ number = "2",
+ pages = "148--150",
+ month = feb,
+ year = "1993",
+ ISSN = "0002-9920",
+ bibdate = "Fri Aug 19 11:28:07 1994",
+ acknowledgement = ack-ps,
+}
+
+@Article{Graetzer:1993:ATI,
+ author = "George Gr{\"a}tzer",
+ title = "Advances in {\TeX} Implementations. {I}. {\POSTSCRIPT}
+ Fonts",
+ journal = j-NAMS,
+ volume = "40",
+ number = "7",
+ pages = "834--838",
+ month = sep,
+ year = "1993",
+ ISSN = "0002-9920",
+ bibdate = "Tue Dec 14 10:45:27 1993",
+ acknowledgement = ack-ps,
+}
+
+@Book{Graetzer:1993:MTS,
+ author = "George Gr{\"a}tzer",
+ title = "Math into {\TeX}: {A} Simplified Introduction Using
+ {\AmSLaTeX}",
+ publisher = pub-SV # " and " # pub-BIRKHAUSER,
+ address = pub-SV:adr # " and " # pub-BIRKHAUSER:adr,
+ pages = "xxix + 294",
+ year = "1993",
+ ISBN = "0-8176-3637-4, 3-7643-3637-4",
+ ISBN-13 = "978-0-8176-3637-1, 978-3-7643-3637-0",
+ LCCN = "Z253.4.A65G7 1993",
+ bibdate = "Fri Aug 19 11:28:39 1994",
+ price = "US\$34, SFr 52, DM 57",
+}
+
+@Article{Graetzer:1994:ATIa,
+ author = "George Gr{\"a}tzer",
+ title = "Advances in {\TeX} Implementations. {II}. Integrated
+ Environments",
+ journal = j-NAMS,
+ volume = "41",
+ number = "2",
+ pages = "106--111",
+ month = feb,
+ year = "1994",
+ ISSN = "0002-9920",
+ bibdate = "Thu Dec 29 10:52:37 1994",
+ acknowledgement = ack-ps,
+}
+
+@Article{Graetzer:1994:ATIb,
+ author = "George Gr{\"a}tzer",
+ title = "Advances in {\TeX} Implementations. {III}. {A} New
+ Version of {\LaTeX}, Finally",
+ journal = j-NAMS,
+ volume = "41",
+ number = "6",
+ pages = "611--615",
+ month = jul # "\slash{} " # aug,
+ year = "1994",
+ ISSN = "0002-9920",
+ bibdate = "Thu Dec 29 10:45:21 1994",
+ acknowledgement = ack-ps,
+}
+
+@Book{Graetzer:1996:MI,
+ author = "George Gr{\"a}tzer",
+ title = "Math into {\LaTeX}: an introduction to {\LaTeXe} and
+ {\AMSLaTeX} 1.2",
+ publisher = pub-BIRKHAUSER,
+ address = pub-BIRKHAUSER:adr,
+ pages = "xxvii + 451",
+ year = "1996",
+ ISBN = "0-8176-3805-9, 3-7643-3805-9",
+ ISBN-13 = "978-0-8176-3805-4, 978-3-7643-3805-3",
+ LCCN = "Z253.4.A65G69 199",
+ bibdate = "Sat Mar 07 18:36:33 1998",
+ price = "US\$49.50",
+ acknowledgement = ack-nhfb,
+ keywords = "AMS-LaTeX (Ficher d'ordinateur); AMS-LaTeX;
+ Composition automatique (Industries graphiques);
+ Computerized typesetting; Mathematics printing --
+ Computer programs; Mathematiques -- Impression --
+ Logiciels.",
+}
+
+@Book{Graetzer:1999:FSL,
+ author = "George Gr{\"a}tzer",
+ title = "First steps in {\LaTeX}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xx + 131",
+ year = "1999",
+ ISBN = "0-8176-4132-7, 3-7643-4132-7",
+ ISBN-13 = "978-0-8176-4132-0, 978-3-7643-4132-9",
+ LCCN = "Z253.4.L38 G74 1999",
+ bibdate = "Wed Jan 31 05:59:06 2001",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Graetzer:2000:ML,
+ author = "George Gr{\"a}tzer",
+ title = "Math into {\LaTeX}",
+ publisher = pub-BIRKHAUSER # " and " # pub-SV,
+ address = pub-BIRKHAUSER:adr # " and " # pub-SV:adr,
+ edition = "Third",
+ pages = "xxv + 584",
+ year = "2000",
+ ISBN = "0-8176-4131-9, 3-7643-4131-9",
+ ISBN-13 = "978-0-8176-4131-3, 978-3-7643-4131-2",
+ LCCN = "Z253.4.L38 G745 2000",
+ bibdate = "Thu Aug 23 10:53:02 2001",
+ price = "US\$49.95",
+ acknowledgement = ack-nhfb,
+ keywords = "AMS-LaTeX; AMS-LaTeX (Ficher d'ordinateur);
+ Composition automatique (Industries graphiques);
+ Computerized typesetting; Mathematics printing --
+ Computer programs; Mathematiques -- Impression --
+ Logiciels",
+}
+
+@Book{Granet:1995:OL,
+ author = "Vincent Granet and Jean-Pierre Regourd",
+ title = "Objectif {\LaTeX}",
+ publisher = pub-MASSON,
+ address = pub-MASSON:adr,
+ pages = "303",
+ year = "1995",
+ ISBN = "2-225-84993-5",
+ ISBN-13 = "978-2-225-84993-0",
+ LCCN = "????",
+ bibdate = "Sat Mar 7 18:25:51 MST 1998",
+ series = "Objectif, 1240-1013",
+ acknowledgement = ack-nhfb,
+ keywords = "{\LaTeX} (syst{\`e}me informatique)",
+}
+
+@Article{Griffee:1988:ITF,
+ author = "Alan W. Griffee and Cherrelyn A. Casey",
+ title = "An introduction to typographic fonts and digital font
+ resources",
+ journal = j-IBM-SYS-J,
+ volume = "27",
+ number = "2",
+ pages = "206",
+ year = "1988",
+ CODEN = "IBMSA7",
+ ISSN = "0018-8670",
+ bibdate = "Sun Mar 27 18:29:22 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Griffiths:1997:LL,
+ author = "David F. (Francis) Griffiths and Desmond J. Higham",
+ title = "Learning {\LaTeX}",
+ publisher = pub-SIAM,
+ address = pub-SIAM:adr,
+ pages = "x + 84",
+ year = "1997",
+ ISBN = "0-89871-383-8",
+ ISBN-13 = "978-0-89871-383-1",
+ LCCN = "Z253.4.L38G75 1997",
+ bibdate = "Sat Mar 07 09:32:22 1998",
+ acknowledgement = ack-nhfb,
+ keywords = "Computerized typesetting; LaTeX (Computer file);
+ Mathematics printing -- Data processing.",
+}
+
+@InProceedings{Guntermann:1985:GDL,
+ author = "Klaus Guntermann",
+ title = "{GENDRIV} --- a driver for low cost devices using
+ built-in fonts",
+ crossref = "Lucarella:1985:PFE",
+ pages = "197--204",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:28:19 1994",
+ acknowledgement = ack-hk,
+}
+
+@Book{Gunther:1996:EL,
+ author = "Karsten G{\"u}nther",
+ title = "Einf{\"u}hrung in {\LaTeXe}: Lehrbuch und Referenz",
+ publisher = pub-DPUNKT-VERLAG,
+ address = pub-DPUNKT-VERLAG:adr,
+ pages = "xxxiv + 522",
+ year = "1996",
+ ISBN = "3-920993-36-5",
+ ISBN-13 = "978-3-920993-36-2",
+ LCCN = "",
+ bibdate = "Sat Mar 07 09:03:53 1998",
+ price = "DM 68,00; ATS 496,00; CHF 60,00",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Guoan:1982:USM,
+ author = "Gu Guoan and John Hobby",
+ title = "Using {String Matching} to {Compress Chinese}
+ {Characters}",
+ type = "Report",
+ number = "STAN-CS-82-914",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1982",
+ bibdate = "Sat Feb 10 14:50:40 1996",
+ acknowledgement = ack-hk,
+}
+
+@Book{Gurari:1994:TLD,
+ author = "Eitan M. Gurari",
+ title = "{\TeX} and {\LaTeX}: Drawing and Literate
+ Programming",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xiv + 310",
+ year = "1994",
+ ISBN = "0-07-025208-4 (book), 0-07-911616-7 (book +
+ diskette)",
+ ISBN-13 = "978-0-07-025208-0 (book), 978-0-07-911616-1 (book +
+ diskette)",
+ LCCN = "Z253.4.T47G87 1994",
+ bibdate = "Tue Mar 1 12:50:41 1994",
+ price = "US\$34.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Gurari:1994:WT,
+ author = "Eitan M. Gurari",
+ title = "Writing with {\TeX}",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xiv + 249",
+ year = "1994",
+ ISBN = "0-07-025207-6",
+ ISBN-13 = "978-0-07-025207-3",
+ LCCN = "Z253.4.T47 G87 1994",
+ bibdate = "Wed Sep 29 17:55:14 1993",
+ price = "US\$29.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Misc{GUTenberg:1988:CG,
+ key = "CahiersGUTenberg",
+ title = "Cahiers {GUTenberg}",
+ year = "1988" # "\unskip--",
+ note = "Journal of Groupe des Utilisateurs de {\TeX}
+ Francophones (group of French-speaking {\TeX} Users).",
+}
+
+@Article{Haarslev:1990:FVO,
+ author = "V. Haarslev and R. Moller",
+ title = "A framework for visualizing object-oriented systems",
+ journal = j-SIGPLAN,
+ volume = "25",
+ number = "10",
+ pages = "237--244",
+ month = oct,
+ year = "1990",
+ CODEN = "SINOD",
+ ISSN = "0362-1340",
+ bibdate = "Sat Sep 17 11:19:53 1994",
+ note = "OOPSLA ECOOP '90 Conference on Object-Oriented
+ Programming: Systems, Languages, and Applications.",
+ abstract = "A new approach to visualizing program systems within
+ the object-oriented paradigm is described. This
+ approach is based on a {\TeX} like notation which has
+ been extended and generalized for specifying graphical
+ layout of arbitrary objects. The CLOS meta-level
+ architecture is used to associate visualization and
+ application objects. The authors propose several useful
+ techniques such as indirect values, slot and method
+ demons and instance-specific meta-objects. The
+ techniques require no modifications to the systems
+ which are selected for visualization. They demonstrate
+ the feasibility of the approach using application
+ domains such as CLOS debugging and constraint systems.
+ (29 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Xerox Palo Alto Res. Center, CA, USA",
+ classification = "C6110B (Software engineering techniques); C6130B
+ (Graphics techniques); C6180 (User interfaces)",
+ confdate = "21--25 Oct. 1990",
+ conflocation = "Ottawa, Ont., Canada",
+ confsponsor = "ACM",
+ keywords = "Application domains; Application objects; Arbitrary
+ objects; CLOS debugging; CLOS meta-level architecture;
+ Constraint systems; Graphical layout; Indirect values;
+ Instance-specific meta-objects; Method demons;
+ Object-oriented paradigm; Object-oriented systems;
+ Slot; TeX like notation; Visualization",
+ thesaurus = "Computer graphics; Formal specification;
+ Object-oriented programming; Visual programming",
+}
+
+@Article{Haarslev:1992:VGL,
+ author = "V. Haarslev and R. Moller",
+ title = "Visualization and graphical layout in object-oriented
+ systems",
+ journal = j-J-VIS-LANG-COMPUTING,
+ volume = "3",
+ number = "1",
+ pages = "1--23",
+ month = mar,
+ year = "1992",
+ CODEN = "JVLCE",
+ ISSN = "1045-926X",
+ bibdate = "Thu Sep 01 01:21:18 1994",
+ abstract = "The paper describes two aspects of visualizing program
+ systems within the object-oriented paradigm: layout
+ specifications for graphical objects and associations
+ of visualization and application objects. The layout
+ approach is based on a notation similar to the {\TeX}
+ text formatting language. It has been extended and
+ generalized for specifying graphical layout of user
+ interfaces and arbitrary objects. The simplest scheme
+ offers specifications similar to {\TeX}'s box-and-glue
+ metaphor. Size and position of virtual boxes and glue
+ can be specified by simple constraints. The authors
+ show how the CLOS (Common Lisp Object System)
+ meta-level architecture can be exploited to associate
+ visualization and application objects. They show how
+ several useful techniques such as indirect values, slot
+ and method demons, and instance-specific meta-objects
+ can be implemented using CLOS. These visualization
+ techniques require no source code modifications of
+ application systems. They demonstrate the feasibility
+ of this approach using application domains such as CLOS
+ debugging and constraint systems. (34 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Comput. Sci., Hamburg Univ., Germany",
+ classification = "C6110J (Object-oriented programming); C6180 (User
+ interfaces)",
+ keywords = "Application objects; Box-and-glue metaphor; CLOS;
+ Graphical layout; Graphical objects; Layout
+ specifications; Method demons; Object-oriented systems;
+ TeX format; TeX text formatting language; User
+ interfaces; Virtual boxes; Visualizing program
+ systems",
+ language = "English",
+ pubcountry = "UK",
+ thesaurus = "Object-oriented programming; Visual programming",
+}
+
+@Book{Hafner:1997:TLL,
+ author = "Thomas Hafner",
+ title = "{\TeX} und {\LaTeX} leicht gemacht: universelles
+ Satzsystem f{\"u}r jeden Computer",
+ publisher = pub-PFLAUM,
+ address = pub-PFLAUM:adr,
+ pages = "108",
+ year = "1997",
+ ISBN = "3-7905-1505-1",
+ ISBN-13 = "978-3-7905-1505-3",
+ LCCN = "????",
+ bibdate = "Sat Mar 07 09:25:32 1998",
+ price = "DM 22,80",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hahn:1991:LER,
+ author = "Jane Hahn",
+ title = "{\LaTeX} for Everyone\emdash {A} Reference Guide and
+ Tutorial for Typesetting Documents Using a Computer",
+ publisher = pub-PTI,
+ address = pub-PTI:adr,
+ pages = "xi + 346",
+ year = "1991",
+ ISBN = "0-9631044-0-3",
+ ISBN-13 = "978-0-9631044-0-3",
+ LCCN = "Z253.4.L38 H34 1991",
+ bibdate = "Fri Jan 21 15:24:47 1994",
+ price = "US\$19.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hahn:1993:LER,
+ author = "Jane Hahn",
+ title = "{\LaTeX} for Everyone\emdash {A} Reference Guide and
+ Tutorial for Typesetting Documents Using a Computer",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ edition = "Second",
+ pages = "xi + 346",
+ year = "1993",
+ ISBN = "0-13-605908-2",
+ ISBN-13 = "978-0-13-605908-0",
+ LCCN = "Z253.4.L38 H35 1993",
+ bibdate = "Fri Jan 21 15:24:41 1994",
+ price = "US\$19.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Hammerlindl:2004:ASB,
+ author = "Andy Hammerlindl and John Bowman and Tom Prince",
+ title = "{{\tt Asymptote}}: a script-based vector graphics
+ language",
+ organization = "Faculty of Science, University of Alberta",
+ address = "Edmonton, AB, Canada",
+ year = "2004",
+ bibdate = "Tue Jul 12 11:15:03 2005",
+ note = "{\tt Asymptote} is a powerful script-based vector
+ graphics language for technical drawing, inspired by
+ \MP{} but with an improved C++-like syntax.
+ {\tt Asymptote} provides for figures the same
+ high-quality level of typesetting that \LaTeX{} does
+ for scientific text.",
+ URL = "http://asymptote.sourceforge.net/",
+ acknowledgement = ack-nhfb,
+}
+
+@PhdThesis{Han:2000:MTE,
+ author = "{\noopsort{Han}H{\`a}n Th\^e{\kern-.05em}\llap{\raise
+ 0.5ex\hbox{\'{\relax}}} Th{\`a}nh}",
+ title = "Micro-typographic extensions to the {{\TeX}}
+ typesetting system",
+ type = "{Ph.D.} Dissertation",
+ school = "Faculty of Informatics, Masaryk University",
+ address = "Brno, Czech Republic",
+ pages = "118",
+ month = oct,
+ year = "2000",
+ bibdate = "Sat Jul 23 19:14:20 2005",
+ URL = "http://www.pragma-ade.com/pdftex/thesis.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Haralambous:1992:TLO,
+ author = "Yannis Haralambous",
+ title = "{\TeX} et les Langues Orientales",
+ journal = "????",
+ volume = "??",
+ pages = "??--??",
+ year = "1992",
+ bibdate = "Tue Jul 08 19:07:25 2003",
+ acknowledgement = ack-nhfb,
+ language = "French",
+ xxnote = "Cited in \cite{Haralambous:TB16-4-418}, but not found
+ in major European library catalogs. Where was it
+ published??",
+}
+
+@InProceedings{Haralambous:1992:TRT,
+ author = "Yannis Haralambous",
+ title = "Towards the revival of traditional {Arabic} typography
+ \ldots{} through {\TeX}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "293--305",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ note = "Invited talk.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Haralambous:1993:PPF,
+ author = "Y. Haralambous",
+ title = "Parametrization of {PostScript} Fonts through
+ {METAFONT}: an Alternative to {Adobe Multiple Master}
+ Fonts",
+ journal = j-EPODD,
+ volume = "6",
+ number = "3",
+ pages = "145--158",
+ month = sep,
+ year = "1993",
+ CODEN = "EPODEU",
+ ISSN = "0894-3982",
+ bibdate = "Sat Dec 21 15:45:22 MST 1996",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Haralambous:1994:STB,
+ author = "Yannis Haralambous",
+ title = "Un syst{\`e}me tex berb{\`e}re",
+ journal = "Etudes et documents berb{\`e}res",
+ volume = "11",
+ pages = "43--53",
+ year = "1994",
+ bibdate = "Tue Jul 08 19:07:25 2003",
+ acknowledgement = ack-nhfb,
+ keywords = "tex (logiciel) -- tifinagh",
+ language = "French",
+}
+
+@Book{Haralambous:2004:FCG,
+ author = "Yannis Haralambous",
+ title = "Fontes \& codages: Glyphes et caract{\`e}res {\`a}
+ l'{\`e}re du num{\'e}rique",
+ publisher = pub-ORA-FRANCE,
+ address = pub-ORA-FRANCE:adr,
+ pages = "xx + 990",
+ year = "2004",
+ EAN = "978-2-84177-273-5",
+ ISBN = "2-84177-273-X",
+ ISBN-13 = "978-2-84177-273-5",
+ LCCN = "????",
+ bibdate = "Fri May 20 06:49:11 2005",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hardy:1995:DMSa,
+ author = "Darel W. Hardy and Carol L. Walker",
+ title = "Doing mathematics with {Scientific WorkPlace}",
+ publisher = pub-BROOKS-COLE,
+ address = pub-BROOKS-COLE:adr,
+ pages = "xviii + 291",
+ year = "1995",
+ ISBN = "0-534-25284-2",
+ ISBN-13 = "978-0-534-25284-7",
+ LCCN = "QA76.95 .H37 1995",
+ bibdate = "Mon Mar 02 08:53:06 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hardy:1995:DMSb,
+ author = "Darel W. Hardy and Carol L. Walker",
+ title = "Doing mathematics with {Scientific WorkPlace}",
+ publisher = pub-BROOKS-COLE,
+ address = pub-BROOKS-COLE:adr,
+ edition = "Revised",
+ pages = "xix + 340",
+ year = "1995",
+ ISBN = "0-534-34049-0",
+ ISBN-13 = "978-0-534-34049-0",
+ LCCN = "QA76.95 .H37 1995b",
+ bibdate = "Mon Mar 02 08:53:06 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Harrison:1989:IBP,
+ author = "M. A. Harrison and E. V. Munson",
+ title = "On integrated bibliography processing",
+ journal = j-EPODD,
+ volume = "2",
+ number = "4",
+ pages = "193--209",
+ month = dec,
+ year = "1989",
+ CODEN = "EPODE",
+ ISSN = "0894-3982",
+ bibdate = "Thu Sep 01 00:35:12 1994",
+ abstract = "Bibliography processing systems are important to the
+ production of scholarly and technical documents. While
+ the existing systems are a significant aid to authors,
+ their designs are not sufficient to handle the demands
+ that have arisen with their continued use. These
+ demands include larger bibliography databases, sharing
+ of databases among multiple authors, integration with
+ document editors, and the desire for new features. The
+ paper examines these issues as they are reflected in
+ three enhancements to the bibliography processing
+ facilities of the GNU Emacs BIBTEX-Mode and TEX-mode
+ integrated editing environment. The added features were
+ a reference annotation facility, support of forms-based
+ queries for automatic citation, and an enhanced
+ reference inspection facility supporting WYSIWYG
+ display of references. The design and implementation of
+ the three features are discussed in detail. Their
+ relationship to other bibliography processing tools is
+ discussed. (28 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Div. of Comput. Sci., California Univ., Berkeley, CA,
+ USA",
+ classification = "C7106 (Word processing); C7230 (Publishing and
+ reproduction)",
+ keywords = "Automatic citation; Bibliography databases; Document
+ editors; Electronic publishing; GNU Emacs BIBTEX-Mode;
+ Integrated bibliography processing; Integrated editing
+ environment; Multiple authors; Reference annotation
+ facility; Reference inspection facility; Technical
+ documents; TEX-mode; WYSIWYG display",
+ thesaurus = "Electronic publishing; Word processing",
+}
+
+@Book{Harrower:1992:NDH,
+ author = "Tim Harrower",
+ title = "The Newspaper Designer's Handbook",
+ publisher = pub-WCB,
+ address = pub-WCB:adr,
+ pages = "180",
+ year = "1992",
+ ISBN = "0-697-13382-6",
+ ISBN-13 = "978-0-697-13382-3",
+ LCCN = "Z253.5 .H27 1992",
+ bibdate = "Fri Aug 19 15:40:40 1994",
+ acknowledgement = ack-fm,
+ keywords = "layout, design, typography, newspaper",
+}
+
+@Book{Hart:1991:HRC,
+ author = "Horace Hart",
+ title = "{Hart}'s Rules; For Compositors and Readers at the
+ {University Press, Oxford}",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ edition = "39th",
+ pages = "182",
+ year = "1991",
+ ISBN = "0-19-212983-X",
+ ISBN-13 = "978-0-19-212983-3",
+ LCCN = "Z254 .H37 1983",
+ price = "UK\pounds8",
+ abstract = "In printing and publishing houses Hart is a household
+ word. First printed in 1893, specifically for
+ Compositors and readers at the University Press,
+ Oxford, and first published (in its 15th edition) in
+ 1904, this little book of Rules has become
+ indispensable to all professionals, and widely useful
+ to others concerned with the business of putting words
+ into print --- which includes such matters as
+ alternative spellings, punctuation, capitalization,
+ italicization, abbreviations, and many other details.",
+ acknowledgement = ack-fm,
+ annote = "This book and the Oxford Dictionary for Writers and
+ Editors together give the house style of OUP at its
+ best. (CHe)",
+ bibliography = "yes",
+ glossary = "no",
+ history = "Originally compiled by Horace Hart, MA Printer to the
+ University, 1883--1915. First edition, 1893. Fifteenth
+ edition (the first for general sale), 1904.
+ Thirty-eighth edition 1978. Thirty-ninth edition 1983,
+ reprinted 1989 with corrections.",
+ index = "yes",
+ inprint = "yes",
+ keywords = "typesetting",
+ printermarks = "yes",
+}
+
+@Article{Hartz:1993:M,
+ author = "David Hartz",
+ title = "{MathType 3.0}",
+ journal = j-NAMS,
+ volume = "40",
+ number = "5",
+ pages = "469--470",
+ month = may # "/" # jun,
+ year = "1993",
+ ISSN = "0002-9920",
+ bibdate = "Thu May 07 18:35:28 1998",
+ note = "Review of a Macintosh equation editor front-end to
+ \TeX{} and various word processors.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Hayashi:1987:TTH,
+ author = "T. Hayashi",
+ title = "Transporting {\TeX} into the {HITAC VOS3}
+ environment",
+ journal = j-SPE,
+ volume = "17",
+ number = "1",
+ pages = "17--28",
+ month = jan,
+ year = "1987",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Thu Jul 21 22:26:53 1994",
+}
+
+@Article{Hayes:1996:SM,
+ author = "Brian Hayes",
+ title = "Speaking of mathematics",
+ journal = j-AMSCI,
+ volume = "84",
+ number = "2",
+ pages = "110--113",
+ month = mar # "\slash " # apr,
+ year = "1996",
+ bibdate = "Sun Mar 10 1996",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Hayward:1977:SA,
+ author = "Stan Hayward",
+ title = "Scriptwriting for Animation",
+ publisher = pub-HHP,
+ address = pub-HHP:adr,
+ pages = "160",
+ year = "1977",
+ ISBN = "0-8038-6741-7",
+ ISBN-13 = "978-0-8038-6741-3",
+ LCCN = "TR 897.5 H335s, PN1996 .H37 1977",
+ bibdate = "Fri Aug 19 15:42:37 1994",
+ acknowledgement = ack-jpl,
+ annote = "A practical guide.",
+}
+
+@TechReport{Hegron:1984:AGR,
+ author = "G{\'e}rard H{\'e}gron",
+ title = "Algorithmes de g{\'e}n{\-\'e\-}ra{\-}tion de
+ caract\`eres",
+ type = "Publication interne",
+ number = "244",
+ institution = pub-IRISA,
+ address = pub-IRISA:adr,
+ year = "1984",
+ bibdate = "Sat Sep 10 12:57:15 1994",
+ acknowledgement = ack-hk,
+}
+
+@Book{Heilmann:1996:LVK,
+ author = "Axel Heilmann",
+ title = "{\LaTeX}-Vademecum: ein Kompaktf{\"u}hrer f{\"u}r
+ Einsteiger und Fortgeschrittene",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xix + 281",
+ year = "1996",
+ ISBN = "3-540-60522-3",
+ ISBN-13 = "978-3-540-60522-5",
+ LCCN = "",
+ bibdate = "Sat Mar 07 09:39:36 1998",
+ price = "DM 38,00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Heinemann:1988:XPS,
+ editor = "Sue Heinemann and Virginia Croft",
+ title = "{Xerox} Publishing Standards: {A} Manual of Style and
+ Design",
+ publisher = pub-WGP,
+ address = pub-WGP:adr,
+ year = "1988",
+ ISBN = "0-8230-5964-2",
+ ISBN-13 = "978-0-8230-5964-5",
+ LCCN = "Z286.L68 X47 1988",
+ bibdate = "Fri Jul 22 08:59:00 1994",
+ price = "US\$35.00",
+ acknowledgement = ack-fm,
+}
+
+@Book{Hersch:1993:VTA,
+ author = "Roger D. Hersch",
+ title = "Visual and Technical Aspects of Type",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "204",
+ year = "1993",
+ ISBN = "0-521-44026-2",
+ ISBN-13 = "978-0-521-44026-4",
+ LCCN = "Z250.7 .V62 1993",
+ bibdate = "Wed Aug 10 10:48:53 1994",
+ price = "US\$59.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Hersch:1995:PTG,
+ author = "Roger D. Hersch and Claude B{\'e}trisey and Justin Bur
+ and Andr{\'e} G{\"u}rtler",
+ title = "Perceptually Tuned Generation of Grayscale Fonts",
+ journal = j-IEEE-CGA,
+ volume = "15",
+ number = "6",
+ pages = "78--90",
+ month = nov,
+ year = "1995",
+ CODEN = "ICGADZ",
+ ISSN = "0272-1716",
+ bibdate = "Sat Nov 04 18:09:09 1995",
+}
+
+@TechReport{Hershey:1969:FIP,
+ author = "Allen V. Hershey",
+ title = "{FORTRAN IV} Programming for Cartography and
+ Typography",
+ number = "TR-2339",
+ institution = inst-USNWL,
+ address = inst-USNWL:adr,
+ month = sep,
+ year = "1969",
+ bibdate = "Sat Sep 10 12:51:28 1994",
+}
+
+@TechReport{Hershey:1970:PRF,
+ author = "Allen V. Hershey",
+ title = "Preparation of Reports with the {FORTRAN} Typographic
+ System",
+ number = "TN-K/27-70",
+ institution = inst-USNWL,
+ address = inst-USNWL:adr,
+ month = sep,
+ year = "1970",
+ bibdate = "Sat Sep 10 12:51:26 1994",
+}
+
+@Article{Hershey:1972:CSS,
+ author = "Allen V. Hershey",
+ title = "A Computer System for Scientific Typography",
+ journal = j-CGIP,
+ volume = "1",
+ pages = "373--385",
+ year = "1972",
+ ISSN = "0734-189X",
+}
+
+@TechReport{Hershey:1981:ACT,
+ author = "Allen V. Hershey",
+ title = "Advanced Computer Typography",
+ number = "NPS012-81-005",
+ institution = inst-USNPS,
+ address = inst-USNPS:adr,
+ month = dec,
+ year = "1981",
+ bibdate = "Sat Sep 10 12:51:23 1994",
+}
+
+@InProceedings{Hickey:1989:UST,
+ author = "T. B. Hickey",
+ booktitle = "National Online Meeting proceedings--1989, New York,
+ May 9--11, 1989",
+ title = "Using {SGML} and {\TeX} for an interactive chemical
+ encyclopedia",
+ publisher = pub-LEARNED-INF,
+ address = pub-LEARNED-INF:adr,
+ pages = "187--195",
+ month = "",
+ year = "1989",
+ ISBN = "0-938734-34-2",
+ ISBN-13 = "978-0-938734-34-5",
+ LCCN = "QA76.55 .N37 1989",
+ bibdate = "Sat Sep 17 11:19:57 1994",
+ abstract = "Outlines the process of converting an ASCII encoded
+ encyclopedia (the Kirk-Othmer encyclopedia of chemical
+ technology) into Standard Generalized Markup Language
+ (SGML) for formatting and full-text indexing. The ASCII
+ text was modified as needed, then parsed and converted
+ into SGML. Graphics were scanned from the original
+ pages and coordinated with the text by a graphics
+ control file generated from the ASCII text. Production
+ of the full-text index and {\TeX} file from the SGML,
+ was straightforward, except for tables. Some of the
+ problems of formatting tables are described along with
+ the solutions. (7 Refs.)",
+ acknowledgement = ack-nhfb,
+ bookpages = "xv + 506",
+ classification = "A0130L (Collections of physical data, tables);
+ C6130B (Graphics techniques); C6130D (Document
+ processing techniques); C7250 (Information storage and
+ retrieval)",
+ confdate = "9--11 May 1989",
+ conflocation = "New York, NY, USA",
+ confsponsor = "Learned Inf",
+ keywords = "ASCII encoded encyclopedia; ASCII text; Formatting;
+ Full-text indexing; Graphics control file; Interactive
+ chemical encyclopedia; Kirk-Othmer encyclopedia of
+ chemical technology; SGML; Standard Generalized Markup
+ Language; TEX file",
+ thesaurus = "Collections of physical data; Computer graphics;
+ Information retrieval systems; Word processing",
+}
+
+@Book{Higham:1993:HWM,
+ author = "Nicholas J. Higham",
+ title = "Handbook of Writing for the Mathematical Sciences",
+ publisher = pub-SIAM,
+ address = pub-SIAM:adr,
+ pages = "xii + 241",
+ month = jun,
+ year = "1993",
+ ISBN = "0-89871-314-5",
+ ISBN-13 = "978-0-89871-314-5",
+ LCCN = "QA42.H54 1993",
+ bibdate = "Tue Mar 1 12:03:19 1994",
+ note = "[From the publisher]: Having trouble with your latest
+ math paper? Giving a presentation that you just can't
+ pull together? Struggling with your thesis or trying to
+ get your first article published in a technical
+ journal? Handbook of Writing for the Mathematical
+ Sciences is the book for you! This handy volume
+ provides information on virtually every issue you will
+ face when writing a technical paper or talk, from
+ choosing the right journal to handling your references.
+ You'll also get an overview of the entire publication
+ process--invaluable for anyone hoping to publish in a
+ technical journal. To write a truly impressive paper,
+ you'll need to understand the anatomy of a research
+ paper and the steps involved in revising a draft. This
+ book offers discussions of these fundamental topics,
+ along with illustrative and provocative examples. Also
+ included are chapters on standard English usage, using
+ computers for writing and research, and writing
+ technical material when English is a foreign language.
+ This handbook provides much-needed advice on handling
+ the basic ingredients of a research paper, like
+ definitions, theorems, examples, and equations. In
+ addition, appendices provide essential reference
+ material, including summaries of \LaTeX{} symbols and
+ Emacs commands, addresses of mathematical societies,
+ and a list of papers that have won expository writing
+ prizes. This book is ideal for graduate students and
+ teachers. Among its special features: \begin{itemize}
+ \item Detail and extensive use of examples make it an
+ excellent teaching tool \item Discusses \TeX{} and
+ other software tools for preparing publications \item
+ Thorough treatment, with examples, of how to write
+ slides (transparencies) for a mathematical talk. \item
+ Comprehensive index and extensive bibliography make it
+ an excellent reference \item Readable for everyone in
+ the field--from undergraduates to seasoned
+ professionals \end{itemize} Contents \\
+ Preface; \\
+ Chapter 1: General Principles; \\
+ Chapter 2: Writer's Tools and Recommended Reading; \\
+ Chapter 3: Mathematical Writing; \\
+ Chapter 4: English Usage; \\
+ Chapter 5: When English is a Foreign Language; \\
+ Chapter 6: Writing a Paper; \\
+ Chapter 7: Revising a Draft; \\
+ Chapter 8: Publishing a Paper; \\
+ Chapter 9: Writing a Talk; \\
+ Chapter 10: Computer Aids for Writing and Research; \\
+ Appendix A: The Greek Alphabet; \\
+ Appendix B: Summary of \TeX{} and \LaTeX{} Symbols; \\
+ Appendix C: GNU Emacs--The Sixty+ Most Useful Commands;
+ \\
+ Appendix D: Mathematical Organizations in the UK and
+ USA; \\
+ Appendix E: Winners of Prizes for Expository Writing;
+ \\
+ Appendix F: Glossary; \\
+ Bibliography; \\
+ Index.\\
+ About the Author:\\
+ Nicholas J. Higham is a Reader in Mathematics at the
+ University of Manchester, UK. He is the author of more
+ than 40 publications and is a member of the editorial
+ board of the SIAM Journal on Matrix Analysis and
+ Applications.",
+ price = "US\$21.50",
+ acknowledgement = ack-njh,
+}
+
+@Article{Hirschberg:1987:NAF,
+ author = "D. S. Hirschberg and L. L. Larmore",
+ title = "New Applications of Failure Functions",
+ journal = j-J-ACM,
+ volume = "34",
+ number = "3",
+ pages = "616--625",
+ month = jul,
+ year = "1987",
+ CODEN = "JACOAH",
+ ISSN = "0004-5411",
+ bibdate = "Sat Apr 28 09:27:41 2001",
+ bibsource = "Compendex database;
+ ftp://ftp.ira.uka.de/pub/bibliography/Misc/IMMD_IV.bib",
+ URL = "http://www.acm.org/pubs/toc/Abstracts/0004-5411/28875.html",
+ abstract = "Presented are several algorithms whose operations are
+ governed by a principle of failure functions. When
+ searching for an extremal value within a sequence, it
+ suffices to consider only the subsequence of items each
+ of which is the first possible improvement of its
+ predecessor. These algorithms are more efficient than
+ their more traditional counterparts.",
+ acknowledgement = ack-nhfb,
+ affiliationaddress = "Univ of California at Irvine, Irvine, CA, USA",
+ annote = "This paper discusses line-breaking and page-breaking
+ algorithms at length, proving the correctness of an
+ improvement on the Knuth/Plass line-breaking algorithm
+ used in the \TeX{} typesetting system.",
+ classification = "723; 921",
+ journalabr = "J Assoc Comput Mach",
+ keywords = "algorithms; computer programming --- Algorithms; data
+ processing; Data Structures; extremal value; failure
+ functions; mathematical programming, dynamic; search
+ methods; theory; verification",
+ subject = "{\bf E.1}: Data, DATA STRUCTURES, Arrays. {\bf E.1}:
+ Data, DATA STRUCTURES, Lists. {\bf F.2.2}: Theory of
+ Computation, ANALYSIS OF ALGORITHMS AND PROBLEM
+ COMPLEXITY, Nonnumerical Algorithms and Problems,
+ Computations on discrete structures.",
+}
+
+@TechReport{Hobby:1983:CMF,
+ author = "John Hobby and Gu Guoan",
+ title = "A {Chinese Meta-Font}",
+ type = "Report",
+ number = "STAN-CS-83-974",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1983",
+ bibdate = "Sat Feb 10 14:51:21 1996",
+ acknowledgement = ack-hk,
+}
+
+@PhdThesis{Hobby:1986:DBT,
+ author = "John Douglas Hobby",
+ title = "Digitized Brush Trajectories",
+ type = "{Ph.D.} dissertation",
+ school = "Department of Computer Science, Stanford University",
+ address = "Stanford, CA, USA",
+ pages = "151",
+ month = jun,
+ year = "1986",
+ bibdate = "Wed May 25 08:06:33 2005",
+ note = "Also published as report STAN-CS-1070 (1985).",
+ URL = "http://wwwlib.umi.com/dissertations/fullcit/8602484",
+ abstract = "We consider the problem of finding a discrete set of
+ pixels that approximates the envelope of a convex brush
+ shape with respect to a given trajectory. Let the
+ digitization of a planar region be the set of pixels
+ whose centers lie inside of it. We develop mathematical
+ models for the width of digitized brush strokes, and we
+ give a class of polygonal brush shapes such that the
+ width of their envelope with respect to a given
+ trajectory is accurately reflected by the digitization
+ of the envelope. Polygonal brush shapes also have the
+ advantage that it is usually much easier to compute the
+ digitization of the envelope with respect to a given
+ trajectory. We present fast algorithms for
+ approximating a given brush shape with an appropriate
+ polygon so that the digitization of the envelope of the
+ modified brush will have more accurate and uniform
+ width than the digitization of the exact envelope
+ would. We also present an algorithm for finding a set
+ of pixels that represents the envelope of a dynamically
+ changing brush while preserving accurate and uniform
+ stroke width. This algorithm finds a polygonal path
+ with simple rational slopes that is digitally
+ equivalent to the given trajectory. Other possible
+ applications of this polygonal representation include
+ smoothing digitized curves, data compression, and curve
+ fitting.",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Hobby:1992:IM,
+ author = "John D. Hobby",
+ title = "Introduction to {\MP}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "21--36",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ note = "Invited talk.",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Hobby:1995:DGM,
+ author = "John D. Hobby",
+ title = "Drawing Graphs with {\MP}",
+ organization = "AT\&T Bell Laboratories",
+ address = "Murray Hill, NJ, USA",
+ pages = "18",
+ year = "1995",
+ bibdate = "Tue Jul 12 11:58:06 2005",
+ URL = "http://ctan.tug.org/tex-archive/macros/latex/contrib/pdfslide/mpgraph.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Hobby:1997:MS,
+ author = "John D. Hobby",
+ title = "The {\MP} System",
+ organization = "????",
+ address = "????",
+ year = "1997",
+ day = "30",
+ month = dec,
+ URL = "file:///texlive-2004-11/texmf-dist/doc/metapost/base/mpintro.pdf",
+ acknowledgement = ack-nhfb,
+ bibdate = "Tue Jul 12 11:38:32 2005",
+}
+
+@Article{Hobby:2001:MDS,
+ author = "John D. Hobby",
+ title = "{\MP} le dessin sous {\TeX}: manuels de l'utilisateur
+ pour {\MF} et graph",
+ journal = j-GUTENBERG,
+ volume = "41",
+ number = "??",
+ pages = "175",
+ year = "2001",
+ ISSN = "1140-9304",
+ bibdate = "Tue Jul 12 10:54:03 2005",
+ note = "French translation by Pierre Fournier et Jean-C{\^o}me
+ Charpentier.",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Hobby:2004:UMM,
+ author = "John D. Hobby",
+ title = "A User's Manual for {{\MP}}",
+ organization = "????",
+ address = "????",
+ pages = "i + 85",
+ year = "2004",
+ bibdate = "Tue Jul 12 11:48:44 2005",
+ URL = "file:///texlive-2004-11/texmf-dist/doc/metapost/base/mpman.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Hoenig:1992:WTM,
+ author = "Alan Hoenig",
+ title = "When {\TeX} and {\MF} work together",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "1--20",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ note = "Invited talk.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hoenig:1998:TUL,
+ author = "Alan Hoenig",
+ title = "{\TeX} Unbound: {\LaTeX} and {\TeX} Strategies for
+ Fonts, Graphics, \& More",
+ publisher = pub-OUP,
+ address = pub-OUP:adr,
+ pages = "ix + 580",
+ year = "1998",
+ ISBN = "0-19-509686-X (paperback), 0-19-509685-1 (hardcover)",
+ ISBN-13 = "978-0-19-509686-6 (paperback), 978-0-19-509685-9
+ (hardcover)",
+ LCCN = "Z253.4.L38H64 1997",
+ bibdate = "Wed Apr 29 14:32:29 1998",
+ price = "US\$60.00 (hardcover), US\$35.00 (paperback)",
+ URL = "http://www.oup-usa.org/gcdocs/gc_0195096851.html",
+ acknowledgement = ack-nhfb,
+ keywords = "Computer fonts; Computer graphics; Computerized
+ typesetting; Mathematics printing -- Computer programs;
+ METAFONT; Technical publishing -- Computer programs;
+ {\LaTeX} (Computer file); {\TeX} (Computer file)",
+}
+
+@Article{Hohti:1988:TAT,
+ author = "Aarno Hohti",
+ title = "Typesetting {APL} with {\TeX}",
+ journal = j-SIGAPL,
+ volume = "18",
+ number = "3",
+ pages = "13--16",
+ month = mar,
+ year = "1988",
+ bibdate = "Mon Jul 25 11:28:24 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation; languages",
+ subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language
+ Classifications, APL \\ I.7.m Computing Methodologies,
+ TEXT PROCESSING, Miscellaneous \\ J.7 Computer
+ Applications, COMPUTERS IN OTHER SYSTEMS, Publishing",
+}
+
+@InProceedings{Holecek:2004:APG,
+ author = "Jan Hole{\v{c}}ek and Petr Sojka",
+ title = "Animations in {\pdfTeX}-Generated {PDF}: {A} New
+ Method for Directly Embedding Animation into {PDF}",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "179--191",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Holzgang:1987:UPP,
+ author = "David A. Holzgang",
+ title = "Understanding {\POSTSCRIPT} Programming",
+ publisher = pub-SYBEX,
+ address = pub-SYBEX:adr,
+ pages = "xxxii + 459",
+ year = "1987",
+ ISBN = "0-89588-396-1",
+ ISBN-13 = "978-0-89588-396-4",
+ LCCN = "QA76.73.P67 H65 1987",
+ bibdate = "Wed Dec 15 09:15:51 1993",
+}
+
+@Book{Holzgang:1989:PPR,
+ author = "David A. Holzgang",
+ title = "{\POSTSCRIPT} Programmer's Reference Guide",
+ publisher = pub-SF,
+ address = pub-SF:adr,
+ pages = "x + 486",
+ year = "1989",
+ ISBN = "0-673-38574-4",
+ ISBN-13 = "978-0-673-38574-1",
+ LCCN = "QA76.73.P67 H64 1989",
+ bibdate = "Wed Dec 15 09:15:12 1993",
+}
+
+@InProceedings{Hoover:1992:KSS,
+ author = "Anita Z. Hoover",
+ title = "The key to successful support: knowing your {\TeX} and
+ {\LaTeX} users",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "71--85",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ note = "Invited talk.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Hopkins:1990:RA,
+ author = "T. Hopkins and D. Morse",
+ title = "Remark on algorithm 620",
+ journal = j-TOMS,
+ volume = "16",
+ number = "4",
+ pages = "401--403",
+ month = dec,
+ year = "1990",
+ CODEN = "ACMSC",
+ ISSN = "0098-3500",
+ bibdate = "Thu Sep 01 00:49:22 1994",
+ abstract = "The authors report on an enhanced version of the
+ database originally reported in `Algorithm 620:
+ references and keywords for collected algorithms from
+ ACM', J. R. Rice and R. J. Hanson, ACM Trans Math.
+ Soft. vol. 10, no. 4, p. 359-360 (1984). In this new
+ version they have included all the information
+ necessary to generate full bibliographic references.
+ Extra information includes the author's name (including
+ any accents), the page range of the original reference
+ (rather than just the starting page), the month and
+ year of publication and an abbreviated journal name.
+ The programming language used to code the algorithm is
+ also given. Any mathematical notation used within the
+ algorithm title and accents in the author's name have
+ been defined using {\TeX}. Following the practice used
+ with Bib{\TeX}, all letters within the title that need
+ to remain capitalized in a printed version of the
+ reference (e.g. Fortran, Bessel) are enclosed in
+ braces. (3 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Kent Univ., UK",
+ classification = "C4100 (Numerical analysis); C7250C (Bibliographic
+ systems); C7310 (Mathematics)",
+ keywords = "Abbreviated journal name; Algorithm title;
+ Bibliographic references; BibTeX; Mathematical
+ notation; TeX",
+ thesaurus = "Bibliographic systems; Mathematics computing;
+ Numerical methods",
+}
+
+@Article{Howland:1986:TAU,
+ author = "John E. Howland",
+ title = "Typesetting {APL} using a Macintosh",
+ journal = j-SIGAPL,
+ volume = "16",
+ number = "4",
+ pages = "301--305",
+ year = "1986",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; languages",
+ subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language
+ Classifications, APL \\ J.7 Computer Applications,
+ COMPUTERS IN OTHER SYSTEMS, Publishing \\ I.7.2
+ Computing Methodologies, TEXT PROCESSING, Document
+ Preparation",
+}
+
+@InProceedings{Hufflen:2004:MBL,
+ author = "Jean-Michel Hufflen",
+ title = "Ml{\BibTeX}: Beyond {\LaTeX}",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "203--215",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Huggins:1988:EHM,
+ author = "K. Cleo R. Huggins",
+ title = "{Egyptian} Hieroglyphs for Modern Printing Devices",
+ number = "STAN-CS-89-1251",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ month = jun,
+ year = "1988",
+ bibdate = "Sat Feb 10 14:55:22 1996",
+}
+
+@Book{Hunter:1995:GSS,
+ author = "Roger Hunter and Susan Anne Bagby",
+ title = "Getting started with {Scientific Word} and {Scientific
+ WorkPlace for Windows}: professional and student
+ editions",
+ publisher = pub-BROOKS-COLE,
+ address = pub-BROOKS-COLE:adr,
+ pages = "vi + 121",
+ year = "1995",
+ ISBN = "0-534-34097-0",
+ ISBN-13 = "978-0-534-34097-1",
+ LCCN = "Q183.9 .H86 1995",
+ bibdate = "Mon Mar 02 08:59:42 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hunter:1996:CDS,
+ author = "Roger Hunter and Susan Anne Bagby",
+ title = "Creating documents with {Scientific WorkPlace} and
+ {Scientific Word}",
+ publisher = pub-BROOKS-COLE,
+ address = pub-BROOKS-COLE:adr,
+ pages = "xxiv + 246",
+ year = "1996",
+ ISBN = "0-534-34369-4",
+ ISBN-13 = "978-0-534-34369-9",
+ LCCN = "Q183.9 .H84 1996",
+ bibdate = "Mon Mar 02 08:50:59 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hurlburt:1978:GMS,
+ author = "Allen Hurlburt",
+ title = "The grid: {A} modular system for the design and
+ production of newspapers, magazines, and books",
+ publisher = pub-VNR,
+ address = pub-VNR:adr,
+ pages = "96",
+ year = "1978",
+ ISBN = "0-442-23598-4",
+ ISBN-13 = "978-0-442-23598-7",
+ LCCN = "Z246 .H82",
+ bibdate = "Fri Jul 22 11:15:07 1994",
+ price = "US\$15.00",
+ acknowledgement = ack-fm,
+ annote = "Explains reasons for the use of grid systems in the
+ design of newspapers, magazines, and books. It contains
+ many examples, actual layouts and their underlying
+ grids. (FMi)\par A complete introduction to using grids
+ in newspaper, magazine, and book design. (RRu)",
+ keywords = "layout, design, typography, grids",
+}
+
+@Book{Ibrus:1992:VET,
+ author = "Hans Ibrus",
+ title = "{V\"aike Eesti {\TeX}iraamat}",
+ publisher = pub-KOMPUT,
+ address = pub-KOMPUT:adr,
+ pages = "144",
+ year = "1992",
+ bibdate = "Tue Jul 26 08:39:56 1994",
+ note = "In Estonian. Appendix A is a translation into Estonian
+ of \cite{Samuel:1983:FGT}.",
+ acknowledgement = ack-bnb,
+}
+
+@Manual{Ikarus:1983:ITD,
+ key = "Ikarus",
+ title = "{IKARUS} for Typefaces in Digital Form",
+ organization = "URW Unternehmensberatung Karow Rubow Weber GMBH",
+ address = "Hamburg, Germany",
+ year = "1983",
+ bibdate = "Sat Feb 10 16:16:21 1996",
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Incerpi:1986:GFT,
+ author = "Janet Incerpi and Francis Montagnac",
+ title = "Getting Faster {\TeX} Output. Using the {DVI}
+ Library",
+ type = "Rapports Techniques",
+ number = "71",
+ institution = pub-INRIA,
+ address = pub-INRIA:adr,
+ month = jul,
+ year = "1986",
+ bibdate = "Sat Feb 10 08:46:31 1996",
+ acknowledgement = ack-hk,
+}
+
+@InCollection{Incerpi:1986:UDL,
+ author = "Janet Incerpi and Francis Montagnac",
+ booktitle = "Getting Faster {\TeX} Output",
+ title = "Using the {DVI} Library",
+ publisher = pub-INRIA,
+ address = pub-INRIA:adr,
+ year = "1986",
+ bibdate = "Sat Feb 10 08:46:33 1996",
+ acknowledgement = ack-hk,
+}
+
+@Article{Ion:1988:TEU,
+ author = "P. D. F. Ion and B. D. R. Ion",
+ title = "{\TeX} and its uses for information presentation",
+ journal = "Bulletin of the American Society for Information
+ Science",
+ volume = "14",
+ number = "4",
+ pages = "21--22",
+ month = apr # "-" # may,
+ year = "1988",
+ CODEN = "BASIC",
+ ISSN = "0095-4403",
+ bibdate = "Tue Sep 06 17:52:00 1994",
+ abstract = "Desktop publishing is becoming a significant business.
+ Already on the market are several systems that are easy
+ to use and produce quite acceptable output; other
+ systems available are much harder to use, but provide
+ much greater flexibility and more sophisticated output.
+ The article focuses on the desktop publishing system
+ {\TeX}, suitable for the more advanced user. (0
+ Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C6130 (Data handling techniques); C7108 (Desktop
+ publishing)",
+ keywords = "Desktop publishing system; Document compiler;
+ Information presentation; TEX",
+ thesaurus = "Desktop publishing; Technical presentation; Text
+ editing",
+}
+
+@Article{Iseri:1989:GPP,
+ author = "M. Iseri and T. Ohno",
+ title = "General purpose page composition language---{\TeX}",
+ journal = "Journal of the Society of Instrument and Control
+ Engineers",
+ volume = "28",
+ number = "3",
+ pages = "213--217",
+ month = mar,
+ year = "1989",
+ CODEN = "KESEA",
+ ISSN = "0453-4662",
+ bibdate = "Wed Aug 31 00:54:39 MDT 1994",
+ abstract = "Introduces a page composition language for technical
+ document preparation called {\TeX} which was developed
+ by D. Knuth of Stanford University. Its development
+ background, characteristics, {\TeX} family and
+ functions are described using some examples. Among its
+ Japanese versions is `Japanese Language Micro{\TeX}' by
+ ASCII which was designed for use with the hardware
+ system consisting of NEC 9801 (MS/DOS) and Canon's
+ laser printer. The price of this software including a
+ printer driver is 132000 yen (where the driver costs
+ 34000 yen). The following matters are also discussed: a
+ simple processing example for preparing documents using
+ {\TeX}; various advantages in using {\TeX} (e.g. {\TeX}
+ is a PDS); wide choice in applicable computer models
+ from super computer to IBM-PC or NEC 9801 (due to its
+ device independent nature); and the specification and
+ the application example of Japanese language
+ Micro{\TeX}. (3 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C7108 (Desktop publishing); C7230 (Publishing and
+ reproduction)",
+ keywords = "Desktop publishing; General purpose page composition
+ language; Japanese Language MicroTEX; Japanese
+ versions; NEC 9801; Page composition language;
+ Technical document preparation; TeX",
+ language = "Japanese",
+ thesaurus = "Desktop publishing; Microcomputer applications; NEC
+ computers; Software packages",
+}
+
+@Article{Iseri:1990:PVD,
+ author = "M. Iseri",
+ title = "A publisher's view of {DTP}",
+ journal = j-J-INFO-PROC,
+ volume = "31",
+ number = "11",
+ pages = "1501--1507",
+ month = "",
+ year = "1990",
+ CODEN = "JOSHA",
+ ISSN = "0447-8053",
+ bibdate = "Thu Sep 01 00:54:51 1994",
+ abstract = "The author discusses: the Editor's Workbench; the
+ Writer's Workbench; PostScript; SGML; {\TeX};
+ Illustrator; and Linotronic. (7 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C7108 (Desktop publishing)",
+ keywords = "DTP; Editor's Workbench; Illustrator; Linotronic;
+ PostScript; Publisher's view; SGML; TEX; Writer's
+ Workbench",
+ language = "Japanese",
+ thesaurus = "Desktop publishing",
+}
+
+@Book{ITUG:2003:LRM,
+ author = "{The Indian {\TeX} Users Group}",
+ title = "The {\LaTeX} Reference Manual",
+ publisher = pub-GNU-PRESS,
+ address = pub-GNU-PRESS:adr,
+ pages = "250 (est.)",
+ year = "2003",
+ ISBN = "1-882114-70-1",
+ ISBN-13 = "978-1-882114-70-2",
+ LCCN = "????",
+ bibdate = "Wed Jun 11 16:16:53 2003",
+ price = "US\$40.00 (est.)",
+ URL = "http://www.gnupress.org/book15.html",
+ acknowledgement = ack-nhfb,
+}
+
+@Unpublished{Jackowski:1988:TPF,
+ author = "Bogus{\l}aw Jackowski and Tomasz Ho{\l}dys and Marek
+ Ry\'{cko}",
+ title = "With {\TeX} to the {Poles}: a few parochial remarks on
+ using {\TeX} by the non-{English}",
+ year = "1988",
+ bibdate = "Tue Mar 1 12:52:14 1994",
+ note = "Anima Ltd, Gda\'{nsk}",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Jackowski:1992:PTR,
+ author = "Boguslav Jackowski and Market Ry{\'c}ko",
+ title = "Polishing {\TeX}: from ready to use to handy in use",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "119--134",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Booklet{Jackowski:1993:MZP,
+ author = "Bogus{\l}aw Jackowski",
+ title = "Metafont: zastosowania praktyczne i niepraktyczne",
+ howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu",
+ address = "Bachotek",
+ year = "1993",
+ bibdate = "Thu Jun 23 18:19:41 1994",
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ address-l = lang-pl,
+ author-l = lang-pl,
+ howpublished-l = lang-pl,
+ title-l = lang-pl,
+}
+
+@Article{Jackson:1994:WHN,
+ author = "Allyn Jackson",
+ title = "{\em What's Happening\/}: New Publication Takes the
+ {AMS} in New Direction",
+ journal = j-NAMS,
+ volume = "41",
+ number = "6",
+ pages = "626--627",
+ month = jul # "\slash{}" # aug,
+ year = "1994",
+ ISSN = "0002-9920",
+ bibdate = "Thu Dec 29 10:54:00 1994",
+ acknowledgement = ack-ps,
+}
+
+@InProceedings{Janson:1986:TTP,
+ author = "B. J. Janson",
+ editor = "Constance U. Greaser and Ethel G. Langlois",
+ booktitle = "Seeking scholarly perspectives: Proc. of the Eighth
+ Annual Meeting of the Society for Scholarly
+ Publishing",
+ title = "Technical typesetting: {A} publisher's view",
+ publisher = pub-SOC-SCHOL-PUB,
+ address = pub-SOC-SCHOL-PUB:adr,
+ pages = "66--68",
+ year = "1986",
+ bibdate = "Tue Jul 26 09:18:32 1994",
+ price = "US\$15.00",
+ acknowledgement = ack-nhfb,
+ bookpages = "86",
+ procdate = "May 28--30, 1986",
+ procloc = "San Francisco, CA",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation \\ J.7 Computer Applications,
+ COMPUTERS IN OTHER SYSTEMS, Publishing",
+}
+
+@Book{Johnstone:1992:LC,
+ author = "Adrian Johnstone",
+ title = "{\LaTeX}, Concisely",
+ publisher = pub-ELLIS-HORWOOD,
+ address = pub-ELLIS-HORWOOD:adr,
+ pages = "xviii + 170",
+ year = "1992",
+ ISBN = "0-13-524539-7",
+ ISBN-13 = "978-0-13-524539-2",
+ LCCN = "Z253.4.L38 J64 1992",
+ bibdate = "Wed Jul 6 14:01:03 1994",
+ price = "US\$30.00",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Jurriens:1992:TE,
+ author = "Theo Jurriens",
+ title = "{\TeX} for everybody?",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "86--86",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Kanai:1991:TLE,
+ author = "J. Kanai",
+ editor = "A. Lichnerowicz",
+ booktitle = "Intelligent Text and Image Handling: Proceedings of a
+ Conference on Intelligent Text and Image Handling `RIAO
+ 91', Barcelona, Spain, 2--5 April 1991",
+ title = "Text line extraction and baseline detection",
+ publisher = pub-ELS,
+ address = pub-ELS:adr,
+ pages = "194--210",
+ month = apr,
+ year = "1991",
+ ISBN = "0-444-89361-X",
+ ISBN-13 = "978-0-444-89361-1",
+ LCCN = "QA76.9.T48 C66 199",
+ bibdate = "Sat Sep 17 11:20:14 1994",
+ abstract = "A hypothesis-driven analysis of text regions in
+ document images is presented. It is assumed that
+ document images are constructed by the {\TeX} imaging
+ model (the boxes and glue model) and the author
+ introduces the box representation of a printed symbol
+ called character prototype. The algorithm estimates the
+ location of an hbox (line of text) in a vbox (column of
+ text). This hypothesis is accepted if most connected
+ components in the hbox form character boxes. Character
+ prototypes are used to determine whether a box in an
+ hbox is a character box. The algorithm correctly
+ extracted an average of 96--99 percent of text-lines
+ from digitized text-columns written in English. The
+ character prototype scheme also accurately represented
+ the Japanese alphabet, Chinese characters, and Bengali
+ words, and text-lines were correctly extracted from
+ documents written in these languages. (12 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Electr., Comput. and Syst. Eng., Rensselaer
+ Polytech. Inst., Troy, NY, USA",
+ bookpages = "xiii + 999",
+ classification = "C5260B (Computer vision and picture processing);
+ C7230 (Publishing and reproduction); C7820
+ (Humanities)",
+ confdate = "2--5 April 1991",
+ conflocation = "Barcelona, Spain",
+ confsponsor = "Comm. Eur. Communities; Minist. Educ. Sci. Spain;
+ Univ. Autonoma Barcelona; et al",
+ keywords = "Bengali words; Box representation; Character boxes;
+ Character prototype; Chinese characters; Digitized
+ text-columns; Document images; English; Glue model;
+ Hypothesis-driven analysis; Japanese alphabet; Printed
+ symbol; TeX imaging model; Text-lines",
+ thesaurus = "Computer controlled typesetting; Computerised picture
+ processing; Linguistics; Word processing",
+}
+
+@Book{Karow:1986:DSS,
+ author = "Peter Karow",
+ title = "{Digitale Speicherung von Schriften}",
+ publisher = pub-URW,
+ address = pub-URW:adr,
+ pages = "331",
+ year = "1986",
+ ISBN = "3-926515-00-7",
+ ISBN-13 = "978-3-926515-00-1",
+ LCCN = "",
+ bibdate = "Sat Mar 07 09:12:29 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Karow:1987:DFT,
+ author = "Peter Karow",
+ title = "Digital Formats for Typefaces",
+ publisher = pub-URW,
+ address = pub-URW:adr,
+ pages = "400",
+ year = "1987",
+ ISBN = "3-926515-01-5",
+ ISBN-13 = "978-3-926515-01-8",
+ LCCN = "Z253.3 .K371 1987",
+ bibdate = "Fri Jul 22 09:01:47 1994",
+}
+
+@Book{Karow:1989:SND,
+ author = "Peter Karow",
+ title = "Shotai-no-dijitaru-fomatto",
+ publisher = pub-URW,
+ address = pub-URW:adr,
+ pages = "436",
+ year = "1989",
+ ISBN = "3-926515-00-7 (Hamburg), 4-946454-01-2 (Japan)",
+ ISBN-13 = "978-3-926515-00-1 (Hamburg), 978-4-946454-01-1
+ (Japan)",
+ LCCN = "????",
+ bibdate = "Sat Mar 07 09:14:13 1998",
+ note = "In Japanese.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Karow:1992:DSD,
+ author = "Peter Karow",
+ title = "{Digitale Schriften, Darstellung und Formate,
+ Geleitwort von Hermann Zapf (German) [Digital Fonts,
+ Representation and Formats, Forward by Hermann Zapf]}",
+ publisher = pub-SV # " and " # pub-URW,
+ address = pub-SV:adr # " and " # pub-URW:adr,
+ pages = "xiii + 457, with 230 illustrations",
+ year = "1992",
+ ISBN = "3-540-54917-X",
+ ISBN-13 = "978-3-540-54917-8",
+ LCCN = "????",
+ bibdate = "Fri Dec 18 11:12:49 1998",
+ acknowledgement = ack-bnb # " and " # ack-ps,
+}
+
+@Book{Karow:1992:S,
+ author = "Peter Karow",
+ title = "Schriftstatistik",
+ publisher = pub-URW,
+ address = pub-URW:adr,
+ pages = "347",
+ year = "1992",
+ ISBN = "3-926515-07-4",
+ ISBN-13 = "978-3-926515-07-0",
+ LCCN = "????",
+ bibdate = "Sat Mar 07 09:09:13 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Karow:1992:SMW,
+ author = "Peter Karow",
+ title = "Schrifttechnologie: Methoden und Werkzeuge",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xvi + 460",
+ year = "1992",
+ ISBN = "3-540-54918-8",
+ ISBN-13 = "978-3-540-54918-5",
+ LCCN = "????",
+ bibdate = "Sat Mar 07 09:11:08 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Karow:1994:DTD,
+ author = "Peter Karow",
+ title = "Digital Typefaces: Description and Formats",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xiii + 448",
+ year = "1994",
+ ISBN = "3-540-56509-4",
+ ISBN-13 = "978-3-540-56509-3",
+ LCCN = "Z250.7 .K37 1994",
+ bibdate = "Mon Sep 05 22:16:35 1994",
+ price = "US\$89.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Karow:1994:FTM,
+ author = "Peter Karow",
+ title = "Font Technology: Methods and Tools",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xvi + 457",
+ year = "1994",
+ ISBN = "0-387-57223-6 (New York), 3-540-57223-6 (Berlin)",
+ ISBN-13 = "978-0-387-57223-9 (New York), 978-3-540-57223-7
+ (Berlin)",
+ LCCN = "Z250.7.K3813 1994",
+ bibdate = "Sat Mar 07 09:06:40 1998",
+ note = "Foreword by Gerard Unger.",
+ price = "US\$79.00",
+ acknowledgement = ack-nhfb,
+ xxtitle = "Font Technology: Description and Tools",
+}
+
+@Book{Karow:1994:UEL,
+ author = "Peter Karow",
+ title = "{URW} EuroWorks: 500 Latin fonts for Europe",
+ publisher = pub-URW,
+ address = pub-URW:adr,
+ pages = "216",
+ year = "1994",
+ ISBN = "3-926515-11-2",
+ ISBN-13 = "978-3-926515-11-7",
+ LCCN = "????",
+ bibdate = "Sat Mar 07 09:07:20 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Katzenbeisser:1993:ET,
+ author = "Stefan Katzenbeisser",
+ title = "Einf{\"u}hrung in {\TeX}",
+ publisher = pub-OLDENBOURG,
+ address = pub-OLDENBOURG:adr,
+ edition = "Second",
+ pages = "108",
+ year = "1993",
+ ISBN = "3-486-22682-7",
+ ISBN-13 = "978-3-486-22682-9",
+ LCCN = "",
+ bibdate = "Sat Mar 07 09:19:20 1998",
+ price = "29,80 DM",
+ acknowledgement = ack-nhfb,
+ acknowledgement = ack-rz # " and " # ack-nhfb,
+ xxnote = "When did first edition appear?? Some libraries list
+ this as a second edition, and others as a first
+ edition.",
+}
+
+@Book{Katzenbeisser:1997:IDE,
+ author = "Stefan Katzenbeisser",
+ title = "{Von der Idee zum Dokument: Einf{\"u}hrung in {\TeX}
+ und {\LaTeX}}",
+ publisher = pub-OLDENBOURG,
+ address = pub-OLDENBOURG:adr,
+ edition = "Second",
+ pages = "222",
+ year = "1997",
+ ISBN = "3-486-24182-6",
+ ISBN-13 = "978-3-486-24182-2",
+ LCCN = "",
+ bibdate = "Sat Mar 07 09:23:09 1998",
+ price = "DM 68,00",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Keller:1985:TA,
+ author = "Arthur M. Keller",
+ title = "Typesetting by Authors",
+ crossref = "Lucarella:1985:PFE",
+ pages = "1--14",
+ year = "1985",
+ bibdate = "Sat Mar 07 09:18:50 1998",
+ acknowledgement = ack-hk,
+}
+
+@Book{Kellerman:1987:TPT,
+ author = "David Kellerman and Barry Smith",
+ title = "{\TeX{}TURES}: Professional Typesetting for the
+ Macintosh: User's Guide",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "123",
+ year = "1987",
+ ISBN = "0-201-17221-6",
+ ISBN-13 = "978-0-201-17221-8",
+ LCCN = "Z253.4.T47 U85 1987",
+ bibdate = "Mon Jul 25 12:05:51 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; languages",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation \\ J.7 Computer Applications,
+ COMPUTERS IN OTHER SYSTEMS, Publishing \\ I.7.1
+ Computing Methodologies, TEXT PROCESSING, Text
+ Editing",
+}
+
+@Article{Kendall:1985:IOC,
+ author = "M. Kendall and A. Reed",
+ title = "Introduction of an on-line computer typesetting
+ service",
+ journal = j-UNIV-COMP,
+ volume = "7",
+ number = "3",
+ pages = "134--138",
+ month = "Winter",
+ year = "1985",
+ CODEN = "UNCOE",
+ ISSN = "0265-4385",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "human factors",
+ subject = "I.7 Computing Methodologies, TEXT PROCESSING,
+ Miscellaneous \\ J.1 Computer Applications,
+ ADMINISTRATIVE DATA PROCESSING, Education \\ H.1.2
+ Information Systems, MODELS AND PRINCIPLES,
+ User/Machine Systems, Human factors",
+}
+
+@Article{Kernighan:1975:STM,
+ author = "Brian W. Kernighan and Lorinda L. Cherry",
+ title = "A System for Typesetting Mathematics",
+ journal = j-CACM,
+ volume = "18",
+ number = "3",
+ pages = "151--157",
+ year = "1975",
+ CODEN = "CACMA2",
+ ISSN = "0001-0782",
+ bibdate = "Sat Aug 27 16:52:49 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "cacm acm",
+}
+
+@Article{Kernighan:1978:DP,
+ author = "B. W. Kernighan and M. E. Lesk and J. F. {Ossanna,
+ Jr.}",
+ title = "Document preparation",
+ journal = j-BSTJ,
+ volume = "57",
+ number = "2",
+ pages = "2115--2135",
+ year = "1978",
+ bibdate = "Sat Aug 27 17:06:25 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Kernighan:1978:UTS,
+ author = "B. W. Kernighan and M. E. Lesk and J. F. Ossanna",
+ title = "{UNIX} Time-Sharing System: Document Preparation",
+ journal = j-BSTJ,
+ volume = "57",
+ number = "6",
+ pages = "2115--2135",
+ year = "1978",
+ bibdate = "Sat Aug 27 17:06:33 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "unix bstj",
+}
+
+@Article{Kernighan:1981:BRM,
+ author = "B. W. Kernighan",
+ title = "Book Review: ``{TEX} \& Metafont: New Directions in
+ Typesetting''",
+ journal = j-COMP-REV,
+ year = "1981",
+ bibdate = "Sat Aug 27 17:06:46 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Kernighan:1981:PLT,
+ author = "B. W. Kernighan",
+ title = "{PIC}: {A} Language for Typesetting Graphics",
+ crossref = "ACM:1981:ASS",
+ pages = "92--96",
+ year = "1981",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; languages",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Languages",
+}
+
+@InProceedings{Kernighan:1981:TMT,
+ author = "B. W. Kernighan",
+ booktitle = "IBM Conference on Text Processing",
+ title = "Typesetting Mathematics, Tables, and Diagrams",
+ publisher = "????",
+ address = "Bad Neuenahr, Germany",
+ month = sep,
+ year = "1981",
+ bibdate = "Thu Dec 29 11:12:02 1994",
+ note = "Reprinted in Oldenbourg Verlag, Munich, 1982",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Kernighan:1982:PLT,
+ author = "B. W. Kernighan",
+ title = "{PIC}: {A} Language for Typesetting Graphics",
+ journal = j-SPE,
+ volume = "12",
+ number = "1",
+ pages = "1--21",
+ month = jan,
+ year = "1982",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Tue Sep 06 21:37:43 1994",
+ acknowledgement = ack-nhfb,
+ subject = "I.3.4 Computing Methodologies, COMPUTER GRAPHICS,
+ Graphics Utilities, Picture description languages \\
+ I.7 Computing Methodologies, TEXT PROCESSING, Document
+ Preparation",
+}
+
+@InCollection{Kernighan:1982:UDP,
+ author = "B. W. Kernighan and M. E. Lesk",
+ title = "{UNIX} document preparation",
+ crossref = "Nievergelt:1982:DPS",
+ pages = "1--20",
+ year = "1982",
+ bibdate = "Mon Aug 22 14:25:07 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; languages",
+ review = "ACM CR 40430",
+ subject = "D.4.0 Software, OPERATING SYSTEMS, General, UNIX \\
+ I.7 Computing Methodologies, TEXT PROCESSING, Text
+ Editing \\ I.7 Computing Methodologies, TEXT
+ PROCESSING, Document Preparation",
+}
+
+@InProceedings{Kernighan:1984:UDP,
+ author = "B. W. Kernighan",
+ title = "The {Unix} Document Preparation Tools \emdash{ A}
+ Retrospective",
+ crossref = "Miller:1984:PPF",
+ year = "1984",
+ bibdate = "Sat Aug 27 17:00:38 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Kernighan:1985:RWU,
+ author = "B. W. Kernighan",
+ booktitle = "Proceedings of the European UNIX Users Group
+ Conference, September, Copenhagen, Denmark",
+ title = "Recent Work in {Unix} Document Preparation Tools",
+ publisher = pub-EUUG,
+ address = pub-EUUG:adr,
+ pages = "??--??",
+ month = sep,
+ year = "1985",
+ bibdate = "Sat Feb 10 15:31:09 1996",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Kernighan:1989:PMP,
+ author = "Brian W. Kernighan and Christopher J. Van Wyk",
+ title = "Page Makeup by Postprocessing Text Formatter Output",
+ journal = j-COMP-SYS,
+ volume = "2",
+ number = "2",
+ pages = "103--132",
+ month = "Spring",
+ year = "1989",
+ CODEN = "CMSYE2",
+ ISSN = "0895-6340",
+ bibdate = "Fri Sep 13 08:53:14 MDT 1996",
+ acknowledgement = ack-nhfb,
+ affiliation = "AT and T Bell Labs., Murray Hill, NJ, USA",
+ classification = "C6130 (Data handling techniques); C7108 (Desktop
+ publishing); C7230 (Publishing and reproduction)",
+ keywords = "Footnotes; Orphan lines; Page layouts; Page makeup;
+ Postprocessing; Postprocessor; TROFF text formation;
+ Widow lines",
+ thesaurus = "Desktop publishing; Printing industry; Text editing",
+}
+
+@Article{Kernighan:1989:USD,
+ author = "B. W. Kernighan",
+ title = "The {UNIX} System Document Preparation Tools: {A}
+ Retrospective",
+ journal = j-ATT-TECH-J,
+ volume = "68",
+ number = "4",
+ pages = "5--20",
+ month = aug,
+ year = "1989",
+ ISSN = "8756-2324",
+ bibdate = "Sat Aug 27 17:01:14 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Kernighan:1990:ITD,
+ author = "B. W. Kernighan",
+ title = "Issues and Tradeoffs in Document Preparation Systems",
+ crossref = "Furuta:1990:PIC",
+ pages = "1--16",
+ year = "1990",
+ bibdate = "Sat Aug 27 17:04:54 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Khodulev:1992:TEM,
+ author = "Andrei B. Khodulev and Irina A. Makhovaya",
+ title = "On {\TeX} experience in {Mir Publishers}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "37--42",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Kim:1989:MFG,
+ author = "Cha Jong Kim and Han Jong Kang and Soo Youn Lee",
+ title = "A multipurpose font generation system",
+ journal = j-J-KOREA-INFO-SCI-SOCIETY,
+ volume = "16",
+ number = "5",
+ pages = "422--433",
+ month = sep,
+ year = "1989",
+ CODEN = "HJKHD",
+ ISSN = "0258-9125",
+ bibdate = "Mon Oct 24 12:44:52 MDT 1994",
+ abstract = "An interactive graphics system designed for the
+ device-independent generation of a multipurpose font is
+ described. Input methods include an interactive
+ abstraction of the contour from bit patterns of an
+ image scanner and an automatic composition of Hangul
+ from its character elements. PostScript (a page
+ description language) formatted outputs are adopted to
+ effectively support output devices such as LBP and
+ Display PostScript. Logical screen, multilevel
+ adjustment and conversion algorithm from Bezier curve
+ to polyline, etc. are introduced to obtain a good
+ quality Hangul Metafont with a friendly user interface.
+ (13 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C6130B (Graphics techniques); C6130D (Document
+ processing techniques)",
+ keywords = "Automatic composition; Bezier curve; Bit patterns;
+ Character elements; Conversion algorithm;
+ Device-independent generation; Display PostScript;
+ Friendly user interface; Hangul Metafont; Image
+ scanner; Interactive abstraction; Interactive graphics
+ system; LBP; Logical screen; Multilevel adjustment;
+ Multipurpose font generation system; Output devices;
+ Page description language; Polyline; PostScript
+ formatted outputs",
+ language = "Korean",
+ pubcountry = "South Korea",
+ thesaurus = "Character sets; Computer graphics; Interactive
+ systems; Text editing",
+}
+
+@Book{Klockl:2002:LTT,
+ author = "Ingo Kl{\"o}ckl",
+ title = "{\LaTeX{} --- Tipps und Tricks: Layoutanpassung,
+ Programmierung, Grafik, Hilfsprogramme,
+ Zeichens{\"a}tze}",
+ publisher = pub-DPUNKT-PRO,
+ address = pub-DPUNKT-PRO:adr,
+ edition = "Second",
+ pages = "x + 606",
+ year = "2002",
+ ISBN = "3-89864-145-7",
+ ISBN-13 = "978-3-89864-145-6",
+ LCCN = "????",
+ bibdate = "Mon Jul 07 06:42:15 2003",
+ price = "80 SFR, 49 EUR",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Knappen:1992:CAM,
+ author = "J{\"o}rg Knappen",
+ title = "Changing the appearance of math",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "212--216",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knappen:1997:SAZ,
+ author = "J{\"o}rg Knappen",
+ title = "Schnell ans Ziel mit {\LaTeXe}",
+ publisher = pub-OLDENBOURG,
+ address = pub-OLDENBOURG:adr,
+ pages = "xx + 187",
+ year = "1997",
+ ISBN = "3-486-24199-0",
+ ISBN-13 = "978-3-486-24199-0",
+ LCCN = "",
+ bibdate = "Sat Mar 07 09:28:43 1998",
+ price = "DM 48,00",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Knuth:1978:MT,
+ author = "Donald E. Knuth",
+ title = "Mathematical Typography",
+ number = "STAN-CS-78-648",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ month = feb,
+ year = "1978",
+ bibdate = "Sat Feb 10 14:55:46 1996",
+ note = "Also published as \cite{Knuth:1979:MT}.",
+}
+
+@TechReport{Knuth:1978:TEC,
+ author = "Donald E. Knuth",
+ title = "{TAU EPSILON CHI}. {A} System for Technical Text",
+ type = "Report",
+ number = "STAN-CS-78-675",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1978",
+ bibdate = "Sat Feb 10 14:55:53 1996",
+ acknowledgement = ack-hk,
+}
+
+@Article{Knuth:1979:LS,
+ author = "Donald E. Knuth",
+ title = "The Letter {S}",
+ journal = j-MATHINTEL,
+ volume = "2",
+ number = "3",
+ pages = "114--122",
+ year = "1979, 1980",
+ bibdate = "Sat Aug 13 10:22:12 1994",
+ note = "Also published as \cite{Knuth:1980:LS}.",
+}
+
+@TechReport{Knuth:1979:MSA,
+ author = "Donald E. Knuth",
+ title = "{Metafont} --- {A} System for Alphabet Design",
+ type = "Report",
+ number = "STAN-CS-79-762",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1979",
+ bibdate = "Sat Feb 10 14:55:59 1996",
+ acknowledgement = ack-hk,
+}
+
+@Article{Knuth:1979:MT,
+ author = "Donald E. Knuth",
+ title = "Mathematical Typography",
+ journal = j-BAMSN,
+ volume = "1",
+ pages = "337--372",
+ month = mar,
+ year = "1979",
+ bibdate = "Wed Mar 10 11:19:57 1993",
+ note = "Also published as a Stanford CS Report,
+ STAN-CS-78-648",
+ acknowledgement = ack-bnb,
+}
+
+@Book{Knuth:1979:TMN,
+ author = "Donald E. Knuth",
+ title = "{\TeX} and {\METAFONT}\emdash New Directions in
+ Typesetting",
+ publisher = pub-DP,
+ address = pub-DP:adr,
+ pages = "xi + 201 + 105",
+ year = "1979",
+ ISBN = "0-932376-02-9",
+ ISBN-13 = "978-0-932376-02-2",
+ LCCN = "Z253.3 .K58 1979",
+ bibdate = "Wed Dec 15 10:37:42 1993",
+}
+
+@TechReport{Knuth:1980:CMF,
+ author = "Donald E. Knuth",
+ title = "The {Computer Modern} Family of Typefaces",
+ type = "Report",
+ number = "STAN-CS-80-780",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1980",
+ bibdate = "Sat Feb 10 14:56:10 1996",
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Knuth:1980:LS,
+ author = "Donald E. Knuth",
+ title = "The Letter {S}",
+ number = "STAN-CS-80-795",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ month = apr,
+ year = "1980",
+ bibdate = "Sat Feb 10 14:56:19 1996",
+ note = "Also published as \cite{Knuth:1979:LS}.",
+}
+
+@Article{Knuth:1981:BPL,
+ author = "Donald E. Knuth and Michael F. Plass",
+ title = "Breaking Paragraphs into Lines",
+ journal = j-SPE,
+ volume = "11",
+ number = "11",
+ pages = "1119--1184",
+ month = nov,
+ year = "1981",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Mon Jul 25 11:30:03 1994",
+ acknowledgement = ack-hk,
+ keywords = "algorithms; design",
+ review = "ACM CR 39160",
+ subject = "I.7 Computing Methodologies, TEXT PROCESSING, Document
+ Preparation",
+}
+
+@TechReport{Knuth:1981:CMF,
+ author = "Donald E. Knuth",
+ title = "The Concept of a Meta-Font",
+ number = "STAN-CS-81-886",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ month = oct,
+ year = "1981",
+ bibdate = "Tue Mar 1 12:53:48 1994",
+}
+
+@Article{Knuth:1982:CMF,
+ author = "Donald E. Knuth",
+ title = "The {Concept} of a {Meta-Font}",
+ journal = j-VL,
+ volume = "16",
+ number = "1",
+ pages = "3--27",
+ month = "winter",
+ year = "1982",
+ acknowledgement = ack-hk,
+}
+
+@Book{Knuth:1982:T,
+ author = "Donald E. Knuth",
+ title = "{\TeX}82",
+ publisher = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ year = "1982",
+ bibdate = "Sat Mar 12 18:14:53 1994",
+ acknowledgement = ack-hk,
+}
+
+@Book{Knuth:1982:TFT,
+ author = "Donald E. Knuth",
+ title = "A test file for {\TeX}",
+ publisher = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ year = "1982",
+ bibdate = "Sat Mar 12 18:15:05 1994",
+ acknowledgement = ack-hk,
+}
+
+@Book{Knuth:1982:TV,
+ author = "Donald E. Knuth",
+ title = "{\TeX}ware (version 1)",
+ publisher = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ year = "1982",
+ bibdate = "Sat Mar 12 18:14:56 1994",
+ acknowledgement = ack-hk,
+}
+
+@Book{Knuth:1982:WSS,
+ author = "Donald E. Knuth",
+ title = "The {WEB} System of Structured Documentation---Version
+ 1",
+ publisher = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ year = "1982",
+ bibdate = "Sat Mar 12 18:15:11 1994",
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Knuth:1983:LLM,
+ author = "Donald E. Knuth",
+ title = "Lessons Learned from {\METAFONT}",
+ type = "Report",
+ number = "STAN-CS-83-978",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1983",
+ bibdate = "Tue Mar 1 12:53:50 1994",
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Knuth:1983:LP,
+ author = "Donald E. Knuth",
+ title = "Literate Programming",
+ type = "Report",
+ number = "STAN-CS-83-981",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1983",
+ bibdate = "Sat Feb 10 14:57:37 1996",
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Knuth:1983:WSS,
+ author = "Donald E. Knuth",
+ title = "The {WEB System} of {Structured}
+ {Documentation}---ver.2.3",
+ type = "Report",
+ number = "STAN-CS-83-980",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1983",
+ bibdate = "Sat Feb 10 14:57:45 1996",
+ acknowledgement = ack-hk,
+}
+
+@Article{Knuth:1984:LP,
+ author = "Donald E. Knuth",
+ title = "Literate Programming",
+ journal = j-CJ,
+ volume = "27",
+ number = "2",
+ pages = "97--111",
+ month = may,
+ year = "1984",
+ CODEN = "CMPJA",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; human factors; languages",
+ review = "ACM CR 8501-0018",
+ subject = "D.2.7 Software, SOFTWARE ENGINEERING, Distribution and
+ Maintenance, Documentation \\ I.7.1 Computing
+ Methodologies, TEXT PROCESSING, Text Editing, Languages
+ \\ H.1.2 Information Systems, MODELS AND PRINCIPLES,
+ User/Machine Systems, Human factors \\ D.3 Software,
+ PROGRAMMING LANGUAGES, Language Constructs \\ I.7.1
+ Computing Methodologies, TEXT PROCESSING, Text Editing,
+ WEB",
+}
+
+@Book{Knuth:1984:TB,
+ author = "Donald E. Knuth",
+ title = "The {\TeX}book",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "ix + 483",
+ year = "1984",
+ ISBN = "0-201-13448-9 (paperback), 0-201-13447-0 (hardcover)",
+ ISBN-13 = "978-0-201-13448-3 (paperback), 978-0-201-13447-6
+ (hardcover)",
+ LCCN = "Z253.4.T47 K58 1984",
+ bibdate = "Fri Jul 22 09:08:51 1994",
+ price = "US\$15.95 (paperback), US\$32.95 (hardcover)",
+}
+
+@TechReport{Knuth:1984:TTT,
+ author = "Donald E. Knuth",
+ title = "A torture test for {\TeX}",
+ type = "Report",
+ number = "STAN-CS-84-1027",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1984",
+ bibdate = "Sat Feb 10 14:57:51 1996",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Knuth:1985:CM,
+ author = "Donald E. Knuth",
+ title = "Le concept de {Metafonte}",
+ crossref = "Andre:1985:TIJ",
+ pages = "119--132",
+ year = "1985",
+ bibdate = "Tue Mar 1 12:52:49 1994",
+ note = "Przedruk z ``Communication et langages'' no. 55 (1983)
+ pp. 40--53",
+ acknowledgement = ack-hk,
+}
+
+@Book{Knuth:1986:CMT,
+ author = "Donald E. Knuth",
+ title = "Computer Modern Typefaces",
+ volume = "E",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 588",
+ year = "{\noopsort{1986e}}1986",
+ ISBN = "0-201-13446-2",
+ ISBN-13 = "978-0-201-13446-9",
+ LCCN = "Z250.8.M46 K574 1986",
+ bibdate = "Fri Jul 22 09:06:29 1994",
+ series = "Computers and Typesetting",
+}
+
+@Book{Knuth:1986:MB,
+ author = "Donald E. Knuth",
+ title = "The {\METAFONT}book",
+ volume = "C",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 361",
+ year = "{\noopsort{1986c}}1986",
+ ISBN = "0-201-13445-4 (hardcover), 0-201-13444-6 (paperback)",
+ ISBN-13 = "978-0-201-13445-2 (hardcover), 978-0-201-13444-5
+ (paperback)",
+ LCCN = "Z250.8.M46 K58 1986",
+ bibdate = "Fri Jul 22 09:06:26 1994",
+ price = "US\$32.95 (hardcover), US\$16.95 (paperback)",
+ series = "Computers and Typesetting",
+ keywords = "design; languages",
+ review = "ACM CR 9004-0282",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Metafont",
+}
+
+@Book{Knuth:1986:MP,
+ author = "Donald E. Knuth",
+ title = "{\METAFONT}: The Program",
+ volume = "D",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 560",
+ year = "{\noopsort{1986d}}1986",
+ ISBN = "0-201-13438-1",
+ ISBN-13 = "978-0-201-13438-4",
+ LCCN = "Z250.8.M46 K578 1986",
+ bibdate = "Fri Jul 22 09:06:27 1994",
+ price = "US\$32.95",
+ series = "Computers and Typesetting",
+}
+
+@TechReport{Knuth:1986:T,
+ author = "Donald E. Knuth",
+ title = "{\TeX}ware",
+ type = "Report",
+ number = "STAN-CS-86-1097",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ month = apr,
+ year = "1986",
+ bibdate = "Sat Feb 10 14:57:53 1996",
+ acknowledgement = ack-hk,
+}
+
+@Book{Knuth:1986:TB,
+ author = "Donald E. Knuth",
+ title = "The {\TeX}book",
+ volume = "A",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "ix + 483",
+ year = "{\noopsort{1986a}}1986",
+ ISBN = "0-201-13447-0",
+ ISBN-13 = "978-0-201-13447-6",
+ LCCN = "Z253.4.T47 K58 1986",
+ bibdate = "Fri Jul 22 09:03:17 1994",
+ price = "US\$32.95",
+ series = "Computers and Typesetting",
+}
+
+@Book{Knuth:1986:TP,
+ author = "Donald E. Knuth",
+ title = "{\TeX}: The Program",
+ volume = "B",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 594",
+ year = "{\noopsort{1986b}}1986",
+ ISBN = "0-201-13437-3",
+ ISBN-13 = "978-0-201-13437-7",
+ LCCN = "Z253.4.T47 K578 1986",
+ bibdate = "Fri Jul 22 09:03:46 1994",
+ price = "US\$32.95",
+ series = "Computers and Typesetting",
+}
+
+@TechReport{Knuth:1986:TTT,
+ author = "Donald E. Knuth",
+ title = "A Torture Test for {\METAFONT}",
+ type = "Report",
+ number = "STAN-CS-86-1095",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1986",
+ bibdate = "Sat Feb 10 14:57:54 1996",
+ acknowledgement = ack-hk,
+}
+
+@Article{Knuth:1987:DHD,
+ author = "Donald E. Knuth",
+ title = "Digital Halftones by Dot Diffusion",
+ journal = j-TOG,
+ volume = "6",
+ number = "4",
+ pages = "245--273",
+ month = oct,
+ year = "1987",
+ CODEN = "ATGRDF",
+ ISSN = "0730-0301",
+ bibdate = "Fri Aug 26 08:55:46 1994",
+}
+
+@TechReport{Knuth:1988:ET,
+ author = "Donald E. Knuth",
+ title = "The Errors of {\TeX}",
+ number = "STAN-CS-88-1223",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ month = sep,
+ year = "1988",
+ bibdate = "Sat Feb 10 14:57:56 1996",
+}
+
+@Article{Knuth:1989:AEN,
+ author = "Donald E. Knuth and Hermann Zapf",
+ title = "{AMS} Euler\emdash {A} New Typeface for Mathematics",
+ journal = j-SCHOLAR,
+ volume = "20",
+ number = "3",
+ pages = "131--157",
+ month = apr,
+ year = "1989",
+ ISSN = "0036-634X",
+}
+
+@Article{Knuth:1989:CAG,
+ author = "Donald E. Knuth",
+ title = "Calling all Grand Wizards",
+ journal = j-TEXHAX,
+ volume = "89",
+ number = "98",
+ month = nov,
+ year = "1989",
+}
+
+@Article{Knuth:1989:ET,
+ author = "Donald E. Knuth",
+ title = "The Errors of {\TeX}",
+ journal = j-SPE,
+ volume = "19",
+ number = "7",
+ pages = "607--681",
+ month = jul,
+ year = "1989",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ note = "This is an updated version of \cite{Knuth:1988:ET}.",
+}
+
+@Book{Knuth:1989:MW,
+ author = "Donald E. Knuth and Tracy Larrabee and Paul M.
+ Roberts",
+ title = "Mathematical Writing",
+ type = "14",
+ publisher = pub-MATH-ASSOC-AMER,
+ address = pub-MATH-ASSOC-AMER:adr,
+ year = "1989",
+ ISBN = "0-88385-063-X",
+ ISBN-13 = "978-0-88385-063-3",
+ bibdate = "Sat Feb 10 14:59:43 1996",
+ series = "Notes Number 14",
+}
+
+@Book{Knuth:1989:TB,
+ author = "Donald E. Knuth",
+ title = "The {\TeX}book",
+ publisher = pub-ASCII,
+ address = pub-ASCII:adr,
+ year = "1989",
+ ISBN = "4-7561-0010-4",
+ ISBN-13 = "978-4-7561-0010-8",
+ note = "Translation of the {\TeX}book into Japanese, with
+ addition of Appendix K, and new drawings by Duane
+ Bibby.",
+}
+
+@Article{Knuth:1990:NTM,
+ author = "Donald E. Knuth and Joe Weening",
+ title = "New {{\TeX}{\slash}{\METAFONT}} sources available on
+ {Stanford's} master archive",
+ journal = j-TEXHAX,
+ volume = "90",
+ number = "13",
+ month = jan,
+ year = "1990",
+}
+
+@Article{Knuth:1990:VFMa,
+ author = "Donald Knuth",
+ title = "Virtual Fonts: More Fun for Grand Wizards",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "13--23",
+ month = Apr,
+ year = "1990",
+}
+
+@Article{Knuth:1990:VFMb,
+ author = "Donald E. Knuth",
+ title = "Virtual fonts: More fun for Grand Wizards",
+ journal = j-TEXHAX,
+ volume = "90",
+ number = "11 and 12",
+ month = jan,
+ year = "1990",
+}
+
+@Article{Knuth:1991:TPC,
+ author = "D. E. Knuth",
+ title = "Theory and practice (computer science)",
+ journal = j-TCS,
+ volume = "90",
+ number = "1",
+ pages = "1--15",
+ month = nov,
+ year = "1991",
+ CODEN = "TCSCD",
+ ISSN = "0304-3975",
+ bibdate = "Mon Oct 24 12:44:52 MDT 1994",
+ abstract = "Looks at the intersection of theory and practice,
+ particularly in computer programming. The author
+ considers his involvement in the T/sub E/X and METAFONT
+ projects, and how theory and practice had relevance
+ during these projects. He discusses the balance between
+ theory and practice which should be achieved by
+ computer scientists. (7 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Comput. Sci., Stanford Univ., CA, USA",
+ classification = "C4240 (Programming and algorithm theory); C6110B
+ (Software engineering techniques)",
+ keywords = "Computer programming; Computer science; Computer
+ scientists; METAFONT; Practice; T/sub E/X; Theory",
+ language = "English",
+ pubcountry = "Netherlands",
+ thesaurus = "Philosophical aspects; Programming theory; Software
+ engineering",
+}
+
+@Book{Knuth:1992:LP,
+ author = "Donald E. Knuth",
+ title = "Literate Programming",
+ publisher = pub-SUCSLI,
+ address = pub-SUCSLI:adr,
+ pages = "xiii + 368",
+ year = "1992",
+ ISBN = "0-937073-80-6 (paperback), 0-937073-81-4 (hardcover)",
+ ISBN-13 = "978-0-937073-80-3 (paperback), 978-0-937073-81-0
+ (hardcover)",
+ LCCN = "QA76.6 .K644 1992",
+ bibdate = "Fri Jul 22 09:08:14 1994",
+ price = "US\$24.95 (paperback), US\$59.95 (hardcover)",
+ series = "CSLI Lecture Notes Number 27",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:1993:CSS,
+ author = "Donald E. Knuth and Silvio Levy",
+ title = "The {CWEB} System of Structured Documentation, Version
+ 3.0",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "226",
+ year = "1993",
+ ISBN = "0-201-57569-8",
+ ISBN-13 = "978-0-201-57569-9",
+ LCCN = "QA76.9.D3 K6 1993",
+ bibdate = "Thu May 12 08:36:22 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:1993:VT,
+ author = "Donald E. Knuth",
+ title = "Vse pro {\TeX} \toenglish {Everything} about {\TeX}
+ \endtoenglish",
+ publisher = pub-PROTVINO,
+ address = pub-PROTVINO:adr,
+ pages = "xvi + 575",
+ year = "1993",
+ ISBN = "5-90061-401-8",
+ ISBN-13 = "978-5-90061-401-4",
+ bibdate = "Wed Jan 04 08:16:09 1995",
+ note = "Russian translation of \cite{Knuth:1984:TB}, by M. V.
+ Lisina, edited by S. V. Klimenko and S. N. Sokolov. AO
+ RD{\TeX} (AO means Inc; RD{\TeX} stands for Russian
+ Database {\TeX}nology). First press run: 10000
+ copies.",
+}
+
+@Book{Knuth:1999:DT,
+ author = "Donald E. Knuth",
+ title = "Digital Typography",
+ publisher = pub-CSLI,
+ address = pub-CSLI:adr,
+ pages = "xvi + 685",
+ year = "1999",
+ ISBN = "1-57586-011-2 (cloth), 1-57586-010-4 (paperback)",
+ ISBN-13 = "978-1-57586-011-4 (cloth), 978-1-57586-010-7
+ (paperback)",
+ LCCN = "Z249.3.K59 1998",
+ bibdate = "Mon May 10 18:01:36 1999",
+ price = "US\$90.00 (cloth), US\$39.95 (paperback)",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Kolodziejska:1987:DWP,
+ author = "Hanna Ko{\l}odziejska",
+ title = "Dzielenie wyraz{\'o}w polskich w systemie {\TeX}",
+ number = "165",
+ institution = "Sprawozdania Instytutu Informatyki Uniwersytetu
+ Warszawskiego",
+ address = "Warszawa, Poland",
+ year = "1987",
+ bibdate = "Tue Mar 1 12:54:07 1994",
+}
+
+@Article{Kolodziejska:1988:T,
+ author = "Hanna Ko{\l}odziejska",
+ title = "{\TeX}",
+ journal = j-MIKROLAN,
+ volume = "1",
+ pages = "12",
+ year = "1988",
+}
+
+@Article{Kolodziejska:1988:TTP,
+ author = "Hanna Ko{\l}odziejska",
+ title = "Le traitement des textes polonais avec le logiciel
+ {\TeX}",
+ journal = j-GUTENBERG,
+ volume = "0",
+ pages = "3--10",
+ month = apr,
+ year = "1988",
+ acknowledgement = ack-hk,
+}
+
+@Book{Kopka:1988:LE,
+ author = "Helmut Kopka",
+ title = "{\LaTeX}\emdash{}Eine Einf{\"u}hrung",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Second",
+ pages = "xvi + 340",
+ year = "1988",
+ ISBN = "3-89319-136-4, 3-89319-199-2",
+ ISBN-13 = "978-3-89319-136-9, 978-3-89319-199-4",
+ bibdate = "Sat Mar 07 09:48:36 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Kopka:1990:LEE,
+ author = "Helmut Kopka",
+ title = "{\LaTeX}\emdash
+ {}Er{\-}weit{\-}er{\-}ungs{\-}m{\"o}g{\-}lich{\-}keit{\-}en:
+ mit einer Einf{\"u}hrung in {METAFONT}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ pages = "xv + 463",
+ year = "1990",
+ ISBN = "3-89319-287-5",
+ ISBN-13 = "978-3-89319-287-8",
+ LCCN = "????",
+ bibdate = "Sat Mar 7 09:45:48 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Kopka:1991:EWE,
+ author = "Helmut Kopka",
+ title = "{\LaTeX}\emdash
+ {}Er{\-}weit{\-}er{\-}ungs{\-}m{\"o}g{\-}lich{\-}keit{\-}en
+ mit einer Einf{\"u}rung in {\MF}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Second",
+ pages = "552",
+ year = "1991",
+ ISBN = "3-89319-356-1",
+ ISBN-13 = "978-3-89319-356-1",
+}
+
+@Book{Kopka:1991:LE,
+ author = "Helmut Kopka",
+ title = "{\LaTeX}\emdash{}Eine Einf{\"u}hrung",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Third",
+ pages = "xvii + 375",
+ year = "1991",
+ ISBN = "3-89319-338-3",
+ ISBN-13 = "978-3-89319-338-7",
+ bibdate = "Sat Mar 7 09:46:58 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Kopka:1992:LE,
+ author = "Helmut Kopka",
+ title = "{\LaTeX}\emdash{}Eine Einf{\"u}hrung",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Fourth",
+ pages = "xvii + 445",
+ year = "1992",
+ ISBN = "3-89319-434-7",
+ ISBN-13 = "978-3-89319-434-6",
+ bibdate = "Sat Mar 07 09:49:29 1998",
+ acknowledgement = ack-rz # " and " # ack-nhfb,
+}
+
+@Book{Kopka:1993:GLD,
+ author = "Helmut Kopka and Patrick W. Daly",
+ title = "A Guide to {\LaTeX}: Document Preparation for
+ Beginners and Advanced Users",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ year = "1993",
+ ISBN = "0-201-56889-6",
+ ISBN-13 = "978-0-201-56889-9",
+ bibdate = "Thu Jan 20 12:34:31 1994",
+ price = "US\$34.50",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Kopka:1994:LBE,
+ author = "Helmut Kopka",
+ title = "{\LaTeX} Band 1: Einf{\"u}hrung",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ pages = "xix + 428",
+ year = "1994",
+ ISBN = "3-89319-664-1",
+ ISBN-13 = "978-3-89319-664-7",
+ bibdate = "Tue Mar 1 14:25:32 MET 1994",
+ note = "Replaces the old series of two volumes.",
+ acknowledgement = ack-rz,
+}
+
+@Book{Kopka:1995:GDP,
+ author = "Helmut Kopka and Patrick W. Daly",
+ title = "A Guide to {\LaTeXe}: Document Preparation for
+ Beginners and Advanced Users",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "x + 554",
+ year = "1995",
+ ISBN = "0-201-42777-X",
+ ISBN-13 = "978-0-201-42777-6",
+ LCCN = "Z253.4.L38 K66 1995",
+ bibdate = "Thu May 25 15:18:31 1995",
+ price = "US\$37.61",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Kopka:1995:LBEa,
+ author = "Helmut Kopka",
+ title = "{\LaTeX} Band 2: Erg{\"a}nzungen\emdash mit einer
+ Einf{\"u}rung in {\MF}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ pages = "xiv + 428",
+ year = "1995",
+ ISBN = "3-89319-665-X",
+ ISBN-13 = "978-3-89319-665-4",
+ bibdate = "Wed Nov 16 13:07:25 1994",
+ price = "DM69.90",
+ acknowledgement = ack-rz,
+}
+
+@Book{Kopka:1997:LBE,
+ author = "Helmut Kopka",
+ title = "{\LaTeX} Band 3: Erweiterungen",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ pages = "xiii + 412",
+ year = "1997",
+ ISBN = "3-89319-666-8",
+ ISBN-13 = "978-3-89319-666-1",
+ bibdate = "Mon Mar 02 19:38:20 1998",
+ price = "DM69.90",
+ acknowledgement = ack-rz,
+}
+
+@Book{Kopka:1999:GLD,
+ author = "Helmut Kopka and Patrick W. Daly",
+ title = "A Guide to {\LaTeXe}: Document Preparation for
+ Beginners and Advanced Users",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Third",
+ pages = "xv + 600",
+ year = "1999",
+ ISBN = "0-201-39825-7",
+ ISBN-13 = "978-0-201-39825-0",
+ LCCN = "Z253.4.L38 K66 1999",
+ bibdate = "Thu Apr 12 11:15:10 2001",
+ price = "US\$44.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Kopka:2004:GLT,
+ author = "Helmut Kopka and Patrick W. Daly",
+ title = "Guide to {\LaTeX}: Tools and Techniques for Computer
+ Typesetting",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Fourth",
+ pages = "xii + 597",
+ year = "2004",
+ ISBN = "0-321-17385-6",
+ ISBN-13 = "978-0-321-17385-0",
+ LCCN = "Z253.4.L38 K66 2004",
+ bibdate = "Wed Jan 21 05:16:54 2004",
+ note = "Includes CD-ROM.",
+ price = "US\$49.99, CAN\$75.99",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Krantz:1996:PMW,
+ author = "Steven G. Krantz",
+ title = "A Primer of Mathematical Writing: Being a disquisition
+ on having your ideas recorded, typeset, published, read
+ \& appreciated",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ pages = "216",
+ year = "1996",
+ ISBN = "0-8218-0635-1",
+ ISBN-13 = "978-0-8218-0635-7",
+ LCCN = "QA42.K73 1996",
+ bibdate = "Fri Nov 08 11:44:14 1996",
+ note = "Includes discussions of computers and {\TeX}.",
+ price = "US\$19.00",
+ URL = "http://www.ams.org/bookstore",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Krieger:1990:IT,
+ author = "Jost Krieger and Norbert Schwarz",
+ title = "Introduction to {\TeX}",
+ publisher = pub-AWE,
+ address = pub-AWE:adr,
+ pages = "278",
+ year = "1990",
+ ISBN = "0-201-51141-X",
+ ISBN-13 = "978-0-201-51141-3",
+ bibdate = "Wed Apr 19 10:42:04 1995",
+ note = "English translation of \cite{Schwarz:1988:ET}. See
+ also the Dutch translation, \cite{Schwarz:1990:IT}.",
+}
+
+@InProceedings{Kroenert:1990:IIS,
+ author = "G{\"u}nther Kr{\"o}nert",
+ title = "Importance of the {ISO} standard 8613 for document
+ interchange. {Basic} standard, functional standards,
+ initial experience, benefits",
+ crossref = "Nadrchal:1990:MMI",
+ pages = "209--218",
+ year = "1990",
+ bibdate = "Tue Mar 1 12:55:29 1994",
+ note = "Invited paper.",
+ acknowledgement = ack-rw,
+}
+
+@TechReport{Kwong:1991:KKB,
+ author = "Man Kam Kwong",
+ title = "{\tt kxp} and {\tt kxpl}: {A} Busy Man's {\LaTeX}:
+ Part {I}: An Overview",
+ type = "Technical Report",
+ number = "ANL-91/14",
+ institution = inst-ANL,
+ address = inst-ANL:adr,
+ month = mar,
+ year = "1991",
+ bibdate = "Sat Sep 24 12:30:40 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Labuz:1984:HTW,
+ author = "Ronald Labuz",
+ title = "How to Typeset from a Word Processor: {A} Practical
+ Manual for Type Buyers and Typesetters",
+ publisher = pub-RRB,
+ address = pub-RRB:adr,
+ pages = "xii + 218",
+ year = "1984",
+ ISBN = "0-8352-1899-6",
+ ISBN-13 = "978-0-8352-1899-3",
+ LCCN = "Z253.3.L33 1984",
+ bibdate = "Tue Mar 1 12:55:45 1994",
+ price = "US\$24.95",
+ acknowledgement = ack-jpl,
+ annote = "Decent survey of the field for the computer
+ illiterate, though details of equipment may be dated by
+ now, but does cover high-end phototypesetters in
+ addition to personal computers.",
+}
+
+@Book{Lachand-Robert:1995:MTL,
+ author = "Thomas Lachand-Robert",
+ title = "La maitrise de {\TeX} et {\LaTeX}",
+ publisher = pub-MASSON,
+ address = pub-MASSON:adr,
+ pages = "644",
+ year = "1995",
+ ISBN = "2-225-84832-7",
+ ISBN-13 = "978-2-225-84832-2",
+ LCCN = "????",
+ bibdate = "Sat Mar 7 18:25:51 MST 1998",
+ acknowledgement = ack-nhfb,
+ keywords = "{\LaTeX} (syst{\`e}me informatique); {\TeX}
+ (logiciel)",
+}
+
+@InProceedings{Lagally:1992:ATA,
+ author = "Klaus Lagally",
+ title = "{ArabTEX} --- Typesetting {Arabic} with vowels and
+ ligatures",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "153--172",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@MastersThesis{Lagus:1995:APG,
+ author = "Krista Lagus",
+ title = "Automated pagination of the generalized newspaper
+ using simulated annealing",
+ type = "Master's thesis",
+ school = "Helsinki University of Technology",
+ address = "Helsinki, Finland",
+ year = "1995",
+ bibdate = "Tue Feb 09 08:38:03 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Lammarsch:1996:CTL,
+ author = "Joachim Lammarsch and Harald Schoppmann",
+ title = "{CTAN}-3: das {\TeX}-/{\LaTeX}-Archiv von {DANTE}
+ e.{V}.",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "123",
+ year = "1996",
+ ISBN = "",
+ ISBN-13 = "",
+ LCCN = "",
+ bibdate = "Sat Mar 07 09:36:38 1998",
+ note = "Includes CD-ROM.",
+ price = "DM 49,90",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Lamport:1985:LDP,
+ author = "Leslie Lamport",
+ title = "{\LaTeX}\emdash {A} Document Preparation System\emdash
+ User's Guide and Reference Manual",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 242",
+ year = "1985",
+ ISBN = "0-201-15790-X",
+ ISBN-13 = "978-0-201-15790-1",
+ LCCN = "Z253.4.L38 L35 1986",
+ bibdate = "Thu Jul 21 23:00:50 1994",
+ price = "US\$26.95",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; languages; performance",
+ review = "ACM CR 9001-0030",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, LaTeX \\ D.2.3 Software, SOFTWARE
+ ENGINEERING, Coding, Pretty printers",
+}
+
+@Book{Lamport:1991:L,
+ author = "Leslie Lamport",
+ title = "{{\LaTeX}}",
+ publisher = "Cyfronet",
+ address = "Krak{\'o}w",
+ pages = "x + 202",
+ year = "1991",
+ bibdate = "Wed Jun 22 18:19:42 MDT 2005",
+ bibsource = "alpha.bn.org.pl:210/INNOPAC",
+ note = "Polish translation of ``{\LaTeX}: A Document
+ Preparation System'', 1986, by Piotr Wyrostek.",
+ acknowledgement = ack-nhfb,
+ language = "Polish",
+ subject = "LATEX; podr{\k{e}}cznik",
+}
+
+@Book{Lamport:1994:LDP,
+ author = "Leslie Lamport",
+ title = "{\LaTeX}: {A} Document Preparation System: User's
+ Guide and Reference Manual",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xvi + 272",
+ year = "1994",
+ ISBN = "0-201-52983-1",
+ ISBN-13 = "978-0-201-52983-8",
+ LCCN = "Z253.4.L38L35 1994",
+ bibdate = "Sat Mar 07 09:39:20 1998",
+ note = "Reprinted with corrections in 1996.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Lamport:1995:DLH,
+ author = "Leslie Lamport",
+ title = "Das {\LaTeX} Handbuch",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xviii + 325",
+ year = "1995",
+ ISBN = "3-89319-826-1",
+ ISBN-13 = "978-3-89319-826-9",
+ LCCN = "",
+ bibdate = "Mon Mar 02 19:39:00 1998",
+ note = "German translation of \cite{Lamport:1994:LDP} by
+ Rebecca Stiels.",
+ price = "DM69.90",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Lamport:2004:LSO,
+ author = "Leslie Lamport",
+ title = "{{\LaTeX}}: system opracowywania dokument{\'o}w:
+ podr{\k{e}}cznik i przewodnik u{\c{c}}zytkownika",
+ publisher = "Wydawnictwa Naukowo-Techniczne",
+ address = "Warszawa",
+ pages = "xviii + 366",
+ year = "2004",
+ ISBN = "83-204-2878-5",
+ ISBN-13 = "978-83-204-2878-0",
+ bibdate = "Wed Jun 22 18:19:42 MDT 2005",
+ bibsource = "alpha.bn.org.pl:210/INNOPAC",
+ note = "Polish translation of ``{\LaTeX}: a document
+ preparation system'', 1994, by Marta Woli{\'n}ska and
+ Marcin Woli{\'n}ski.",
+ acknowledgement = ack-nhfb,
+ language = "Polish",
+ subject = "LATEX; podr{\^I}ecznik",
+}
+
+@Article{Lao:1986:ST,
+ author = "Marek J. Lao",
+ title = "Sztuka {\TeX}owania",
+ journal = j-WM,
+ volume = "27",
+ number = "1",
+ pages = "81--87",
+ year = "1986",
+ bibdate = "Thu Jun 23 18:21:02 1994",
+ note = "Roczniki Polskiego Towarzystwa Matematycznego, Seria
+ II. In Polish.",
+ author-l = lang-pl,
+ title-l = lang-pl,
+}
+
+@Book{Larsen:1989:LD,
+ author = "Steen Larsen",
+ title = "{\LaTeX p\aa} dansk",
+ publisher = pub-UNIC,
+ address = pub-UNIC:adr,
+ year = "1989",
+ ISBN = "87-7252-089-2",
+ ISBN-13 = "978-87-7252-089-6",
+}
+
+@InProceedings{Laurens:2004:IIT,
+ author = "J{\'e}r{\^o}me Laurens",
+ title = "i{\TeX}Mac: An Integrated {\TeX} Environment for {Mac
+ OS X}",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "192--202",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Lavaud:1992:SHE,
+ author = "Michel Lavaud",
+ title = "A solution to help ensuring the future of {\TeX}: make
+ its use easier on cheap machines",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "66--68",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Lavaud:1992:WEF,
+ author = "Michel Lavaud",
+ title = "A way to ensure the future of {\TeX}: make its use
+ easier on low-cost machines",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "307--330",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ note = "Invited talk.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Lawson:1990:AT,
+ author = "Alexander Lawson",
+ title = "Anatomy of a Typeface",
+ publisher = pub-HAMISH,
+ address = pub-HAMISH:adr,
+ pages = "428",
+ year = "1990",
+ ISBN = "0-241-13267-3",
+ ISBN-13 = "978-0-241-13267-8",
+ LCCN = "Z250 .L34 1990",
+ bibdate = "Fri Aug 19 15:44:54 1994",
+ acknowledgement = ack-mc,
+}
+
+@Book{Lee:1979:BIG,
+ author = "Marshall Lee",
+ title = "Bookmaking: the Illustrated Guide to Design\slash
+ Production\slash Editing",
+ publisher = pub-RRB,
+ address = pub-RRB:adr,
+ edition = "Second",
+ pages = "485",
+ year = "1979",
+ ISBN = "0-8352-1097-9",
+ ISBN-13 = "978-0-8352-1097-3",
+ LCCN = "Z116.A2 .L44 1979",
+ bibdate = "Fri Jul 22 11:16:45 1994",
+ price = "US\$25.00",
+ acknowledgement = ack-jpl,
+}
+
+@InProceedings{Leitch:1985:GAD,
+ author = "S. Leitch and F. J. Smith",
+ title = "Generalised {Algorithm} for {Drawing} {Non-Parametric
+ Splines}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "155--161",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:28:01 1994",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Leitch:1985:IMI,
+ author = "S. Leitch",
+ title = "Implementing {\METAFONT} on an {ICL Perq}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "171--182",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:27:53 1994",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Lesk:1976:CTT,
+ author = "M. E. Lesk and B. W. Kernighan",
+ title = "Computer Typesetting of Technical Journals on {UNIX}",
+ crossref = "NCC:1976:ACP",
+ volume = "46",
+ pages = "879--888",
+ month = jun,
+ year = "1976",
+ bibdate = "Sat Aug 27 16:53:38 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Lesk:1988:GIL,
+ author = "Michael Lesk",
+ title = "{GRAB}\emdash{}Inverted Indexes with Low Storage
+ Overhead",
+ journal = j-COMP-SYS,
+ volume = "1",
+ number = "3",
+ pages = "207--220",
+ month = "Summer",
+ year = "1988",
+ CODEN = "CMSYE2",
+ ISSN = "0895-6340",
+ bibdate = "Fri Sep 13 09:01:18 MDT 1996",
+ acknowledgement = ack-nhfb,
+ classification = "C6150J (Operating systems); C7250L
+ (Non-bibliographic systems)",
+ keywords = "B-trees; Bit vector; Bytes; Fixed length codeword
+ compression scheme; GRAB; Hash codes; Inverted indexes;
+ Pointers; Preindexing pass; Searching command; Sparse
+ vectors; Storage overhead; Whole words",
+ thesaurus = "DEC computers; Information retrieval; Information
+ retrieval systems; Operating systems [computers];
+ Unix",
+}
+
+@Book{Level:1995:PTF,
+ author = "Jeff Level and Bruce Newman and Brenda Newman",
+ title = "Precision type font reference guide, version 5.0",
+ publisher = "Precision Type",
+ address = "Commack, NY, USA",
+ pages = "xxv + 653",
+ year = "1995",
+ ISBN = "0-9646252-0-2",
+ ISBN-13 = "978-0-9646252-0-4",
+ LCCN = "Z250.7 .P74 1995",
+ bibdate = "Wed Feb 28 15:00:20 MST 1996",
+ acknowledgement = ack-nhfb,
+ keywords = "Printing --- Specimens --- Handbooks, manuals, etc.;
+ Type and type-founding --- Handbooks, manuals, etc.",
+}
+
+@Book{Level:2000:PTF,
+ author = "Jeff Level and Bruce Newman and Brenda Newman",
+ title = "Precision type font reference guide, version 5.0",
+ publisher = pub-HARTLEY-MARKS,
+ address = pub-HARTLEY-MARKS:adr,
+ pages = "xxv + 653",
+ year = "2000",
+ ISBN = "0-88179-182-2",
+ ISBN-13 = "978-0-88179-182-2",
+ LCCN = "",
+ bibdate = "Thu Apr 12 10:59:49 2001",
+ note = "Republication of \cite{Level:1995:PTF}.",
+ price = "US\$39.95, CDN\$59.95",
+ acknowledgement = ack-nhfb,
+ keywords = "Printing --- Specimens --- Handbooks, manuals, etc.;
+ Type and type-founding --- Handbooks, manuals, etc.",
+}
+
+@Article{Levine:1990:LGR,
+ author = "Michael J. S. Levine",
+ title = "A {\LaTeX} Graphics Routine for drawing {Feynman}
+ Diagrams",
+ journal = j-CPC,
+ volume = "58",
+ number = "1 and 2",
+ pages = "181--198",
+ month = feb # "\slash " # mar,
+ year = "1990",
+ bibdate = "Fri Feb 9 18:09:31 1996",
+ note = "Available in the CPC library, and from
+ \path|listral@ib.rl.ac.uk| with an e-mail request {\tt
+ GET CPC INTRO CPCINDEX}.",
+}
+
+@InProceedings{Li:1985:GSC,
+ author = "Jiarong Li",
+ title = "Generation of {Some Chinese Characters} with
+ {Metafont}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "161--170",
+ year = "1985",
+ bibdate = "Tue Jul 26 09:27:44 1994",
+ acknowledgement = ack-hk,
+}
+
+@TechReport{Liang:1983:WHP,
+ author = "Franklin Mark Liang",
+ title = "Word Hy-phen-a-tion by Com-pu-ter",
+ number = "STAN-CS-83-977",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ month = aug,
+ year = "1983",
+ bibdate = "Sat Feb 10 15:00:15 1996",
+ URL = "http://www.tug.org/docs/liang/",
+}
+
+@PhdThesis{Liang:1984:WHP,
+ author = "Franklin Mark Liang",
+ title = "Word Hy-phen-a-tion by Com-pu-ter",
+ type = "{Ph.D.} dissertation",
+ school = "Computer Science Department, Stanford University",
+ address = "Stanford, CA, USA",
+ pages = "92",
+ month = mar,
+ year = "1984",
+ bibdate = "Fri Jul 08 14:48:58 2005",
+ URL = "http://wwwlib.umi.com/dissertations/fullcit/8329742;
+ http://www.tug.org/docs/liang/",
+ abstract = "This thesis describes research leading to an improved
+ word hyphenation algorithm for the T(,E)X82 typesetting
+ system. Hyphenation is viewed primarily as a data
+ compression problem, where we are given a dictionary of
+ words with allowable division points, and try to devise
+ methods that take advantage of the large amount of
+ redundancy present. The new hyphenation algorithm is
+ based on the idea of hyphenating and inhibiting
+ patterns. These are simply strings of letters that,
+ when they match in a word, give us information about
+ hyphenation at some point in the pattern. For example,
+ `-tion' and `c-c' are good hyphenating patterns. An
+ important feature of this method is that a suitable set
+ of patterns can be extracted automatically from the
+ dictionary. In order to represent the set of patterns
+ in a compact form that is also reasonably efficient for
+ searching, the author has developed a new data
+ structure called a packed trie. This data structure
+ allows the very fast search times characteristic of
+ indexed tries, but in many cases it entirely eliminates
+ the wasted space for null links usually present in such
+ tries. We demonstrate the versatility and practical
+ advantages of this data structure by using a variant of
+ it as the critical component of the program that
+ generates the patterns from the dictionary. The
+ resulting hyphenation algorithm uses about 4500
+ patterns that compile into a packed trie occupying 25K
+ bytes of storage. These patterns find 89\% of the
+ hyphens in a pocket dictionary word list, with
+ essentially no error. By comparison, the uncompressed
+ dictionary occupies over 500K bytes.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Licha:1992:AV,
+ author = "Michaela Lich{\'a} and Old{\v{r}}ich Ulrych",
+ title = "{\AmSTeX} verze 2.1",
+ publisher = pub-CSTUG,
+ address = pub-CSTUG:adr,
+ pages = "80",
+ year = "1992",
+ bibdate = "Thu Mar 11 12:11:15 1993",
+ note = "This publication provides a short (but complete) tour
+ through {\AmSTeX} 2.1 together with \path=amsppt.sty=
+ 2.1. Almost all features are demonstrated with a lot of
+ examples. The book is organized in such a way that it
+ is useful for novices (basic textbook), and for
+ advanced users (quick reference guide) as well.
+ Contains a table of all symbols.",
+}
+
+@InProceedings{Likos:2004:JBC,
+ author = "Johannis Likos",
+ title = "{$\mu o \nu o 2 \pi o \lambda \upsilon$}: {Java}-Based
+ Conversion of Monotonic to Polytonic {Greek}",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "34--54",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Lin:1994:CMF,
+ author = "Y.-J. Lin and T.-L. Lee",
+ title = "Conversion From {\METAFONT} Files To {TrueType}",
+ crossref = "Anonymous:1994:CCI",
+ pages = "65--75",
+ year = "1994",
+ bibdate = "Sat Dec 21 15:45:22 MST 1996",
+ acknowledgement = ack-nhfb,
+ OPTeditor = "",
+}
+
+@Article{Linton:1989:CUI,
+ author = "Mark A. Linton and John M. Vissides and Paul R.
+ Calder",
+ title = "Composing user interfaces with {InterViews}",
+ journal = j-IEEE-COMPUTER,
+ volume = "22",
+ number = "2",
+ pages = "8--22",
+ month = feb,
+ year = "1989",
+ bibdate = "Thu Jul 21 22:56:53 1994",
+ note = "From {\em Computing Reviews\/}: ``InterViews objects
+ are combined through a model similar to the boxes and
+ glues in Knuth's {\TeX}, which allows interface objects
+ to be combined with little concern for undesired
+ interactions.''",
+}
+
+@Book{Lipkin:1999:LLV,
+ author = "Bernice Sacks Lipkin",
+ title = "{\LaTeX} for {Linux}: a vade mecum",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xxxi + 568",
+ year = "1999",
+ ISBN = "0-387-98708-8 (softcover)",
+ ISBN-13 = "978-0-387-98708-8 (softcover)",
+ LCCN = "Z 253.4 L38 L56 1999",
+ bibdate = "Thu Sep 21 10:27:12 2000",
+ price = "US\$49.95",
+ acknowledgement = ack-nhfb,
+ keywords = "Computerized typesetting; LaTeX (Computer file)",
+}
+
+@InProceedings{Loverdos:2004:DTN,
+ author = "Christos K. K. Loverdos and Apostolos Syropoulos",
+ title = "Digital Typography in the New Millennium: Flexible
+ Documents by a Flexible Engine",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "1--16",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Lubkin:1990:PSP,
+ author = "Saul Lubkin",
+ title = "Porting sophisticated programs to your {UNIX}
+ environment for free",
+ journal = j-COMPUTERSHOPPER,
+ pages = "642--644",
+ month = mar,
+ year = "1990",
+}
+
+@InProceedings{Lucarella:1985:TFD,
+ author = "Dario Lucarella",
+ title = "{\TeX} Formulae Dictionary",
+ crossref = "Lucarella:1985:PFE",
+ pages = "93--103",
+ year = "1985",
+ bibdate = "Tue Mar 1 12:56:59 1994",
+ acknowledgement = ack-hk,
+}
+
+@Book{Luna:1992:UTD,
+ author = "Paul Felix John Luna",
+ title = "Understanding Type for Desktop Publishing",
+ publisher = pub-BLUEPRINT,
+ address = pub-BLUEPRINT:adr,
+ pages = "136",
+ year = "1992",
+ ISBN = "0-948905-76-X",
+ ISBN-13 = "978-0-948905-76-6",
+ LCCN = "Z250.7 .L86 1992",
+ bibdate = "Fri Aug 19 15:45:31 1994",
+ note = "Highly regarded English typographer: designed the
+ Oxford English Dictionary and the New English Bible.",
+ acknowledgement = ack-mc,
+}
+
+@TechReport{Luvisetto:1992:LER,
+ author = "M. L. Luvisetto and E. Ugolini",
+ title = "{\LaTeX}: easy recipes",
+ number = "INFN/TC-92/05",
+ institution = "Ist. Naz. Fis. Nucl.",
+ address = "Bologna, Italy",
+ pages = "17",
+ month = mar,
+ year = "1992",
+ bibdate = "Thu Sep 01 01:22:55 1994",
+ abstract = "Basic commands are given to enable an easy conversion
+ from {\TeX} to {\LaTeX} to users that have a good
+ knowledge of {\TeX} typesetting for technical and
+ scientific articles. Basic concepts are described.
+ Clear and easy ways to typeset the most common items
+ are described. Mathematics and tabular typesetting are
+ described in deeper detail. (3 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C6130D (Document processing techniques); C6140
+ (Programming languages); C7230 (Publishing and
+ reproduction)",
+ keywords = "Easy conversion; LaTeX; Scientific articles; Tabular
+ typesetting; TeX typesetting",
+ thesaurus = "Computer controlled typesetting; Programming
+ languages; Word processing",
+}
+
+@Book{Lvovskii:1994:NVP,
+ author = "Sergei L'vovskii",
+ title = "Nabor i verstka v pakete {\LaTeX} \toenglish {Typing}
+ and proving in the {\LaTeX} package \endtoenglish",
+ publisher = pub-KOSMOINFORM,
+ address = pub-KOSMOINFORM:adr,
+ pages = "328",
+ year = "1994",
+ ISBN = "5-90024-211-0",
+ ISBN-13 = "978-5-90024-211-8",
+ bibdate = "Wed Jan 04 08:17:58 1995",
+ note = "The first complete description of {\LaTeX} 2.09 in
+ Russian. First press run: 5000 copies.",
+ acknowledgement = ack-ps,
+}
+
+@InProceedings{MacKay:1983:TAS,
+ author = "Pierre A. MacKay",
+ title = "{\TeX} for {Arabic} script",
+ crossref = "Burton:1983:SIC",
+ pages = "391--400",
+ year = "1983",
+ bibdate = "Wed Jul 27 10:59:33 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Mamrak:1993:BAD,
+ author = "S. Mamrak and J. Barnes and C. S. O'Connell",
+ title = "Benefits of automating data translation",
+ journal = j-IEEE-SOFTWARE,
+ volume = "10",
+ number = "4",
+ pages = "82--88",
+ month = jul,
+ year = "1993",
+ CODEN = "IESOE",
+ ISSN = "0740-7459",
+ bibdate = "Thu Sep 01 01:29:34 1994",
+ abstract = "A description is given of the Integrated Chameleon
+ Architecture, (ICA), a special software environment
+ that automatically generates translation code,
+ eliminating the error-prone process of writing and
+ updating code, and enforces completeness in the
+ high-level translator specification and correctness in
+ the translated data. Two sets of translaters developed
+ using ICA are examined. The first set translates ICA's
+ user manual from the {\LaTeX} markup language to Troff
+ markup macros. The second translates documents encoded
+ in schemes like Refer (from the roff macro family) and
+ Bib{\TeX} ({\LaTeX}'s bibliographic package) into an
+ encoding conventional imposed by a central
+ bibliographic database for human-machine interaction.
+ (2 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Comput. Sci., Ohio State Univ., Columbus, OH,
+ USA",
+ classification = "C6110B (Software engineering techniques); C6115
+ (Programming support); C6130D (Document processing
+ techniques)",
+ keywords = "Automatic code generation; Bibliographic package;
+ Bibtex; Code updating; Data translation automation;
+ Error elimination; High-level translator specification;
+ Human-machine interaction; ICA; Integrated Chameleon
+ Architecture; LaTex; Markup language; Markup macros;
+ Refer; Roff macro; Software environment; Text
+ formatters; Troff; User manual",
+ language = "English",
+ pubcountry = "USA",
+ thesaurus = "Application generators; Automatic programming;
+ Document handling; Formal specification; Text editing",
+}
+
+@Article{Manas:1987:WDS,
+ author = "Jose A. Ma\~{n}as",
+ title = "Word division in {Spanish}",
+ journal = j-CACM,
+ volume = "30",
+ number = "7",
+ pages = "612--616",
+ month = jul,
+ year = "1987",
+ CODEN = "CACMA2",
+ ISSN = "0001-0782",
+ bibdate = "Wed Jan 04 08:19:24 1995",
+ acknowledgement = ack-nhfb,
+ keywords = "algorithms",
+ subject = "I.2.7 Computing Methodologies, ARTIFICIAL
+ INTELLIGENCE, Natural Language Processing, Text
+ analysis \\ H.1.m Information Systems, MODELS AND
+ PRINCIPLES, Miscellaneous \\ I.7 Computing
+ Methodologies, TEXT PROCESSING \\ H.4.1 Information
+ Systems, INFORMATION SYSTEMS APPLICATIONS, Office
+ Automation, Word processing \\ I.5.4 Computing
+ Methodologies, PATTERN RECOGNITION, Applications, Text
+ processing",
+}
+
+@Article{Manson:1987:UEP,
+ author = "David Manson",
+ title = "Using {\TeX} for Electronic Publishing at {I. P. Sharp
+ Associates}",
+ journal = j-SIGDOC,
+ volume = "13",
+ number = "1",
+ pages = "3--7",
+ month = mar,
+ year = "1987",
+ bibdate = "Thu Jul 21 22:25:07 1994",
+}
+
+@Book{Maor:1994:SN,
+ author = "Eli Maor",
+ title = "{e}: The Story of a Number",
+ publisher = pub-PUP,
+ address = pub-PUP:adr,
+ pages = "xiv + 223",
+ year = "1994",
+ ISBN = "0-691-03390-0",
+ ISBN-13 = "978-0-691-03390-7",
+ LCCN = "QA247.5.M33 1994",
+ bibdate = "Thu Sep 08 11:13:04 1994",
+ note = "This book chronicles the story of the ultimate version
+ number of {\MF}.",
+ acknowledgement = ack-nhfb,
+}
+
+@Misc{Maranget:1998:HLH,
+ author = "Luc Maranget",
+ title = "{HeVeA}: {\LaTeX} to {HTML} translator",
+ howpublished = "World-Wide Web document.",
+ year = "1998",
+ bibdate = "Sat Aug 08 09:50:01 1998",
+ note = "The translator is written in Objective Caml.",
+ URL = "http://para.inria.fr/~maranget/hevea/",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Margolis:1994:MMG,
+ author = "Marvin S. Margolis",
+ title = "{MG} Mathematical Graphics System",
+ journal = j-NAMS,
+ volume = "41",
+ number = "3",
+ pages = "200--201",
+ month = mar,
+ year = "1994",
+ ISSN = "0002-9920",
+ bibdate = "Thu Dec 29 10:48:31 1994",
+ acknowledgement = ack-ps,
+}
+
+@Book{Mauerer:1997:TLU,
+ author = "Wolfgang Mauerer",
+ title = "Textverarbeitung mit {\LaTeXe} unter {UNIX}",
+ publisher = pub-HANSER,
+ address = pub-HANSER:adr,
+ pages = "xiv + 361",
+ year = "1997",
+ ISBN = "3-446-18909-2",
+ ISBN-13 = "978-3-446-18909-6",
+ LCCN = "????",
+ bibdate = "Sat Mar 07 09:31:31 1998",
+ price = "DM 49,80",
+ series = "UNIX easy",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{McClelland:1988:LTD,
+ author = "Bruce McClelland",
+ title = "From logon to typeset document in under ten minutes",
+ journal = j-ONLINE,
+ volume = "12",
+ number = "6",
+ pages = "66--71",
+ month = nov,
+ year = "1988",
+ ISSN = "0146-5422",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation; management",
+ subject = "H.3.5 Information Systems, INFORMATION STORAGE AND
+ RETRIEVAL, On-line Information Services \\ J.7 Computer
+ Applications, COMPUTERS IN OTHER SYSTEMS, Publishing",
+}
+
+@Article{McKibben:1991:EEW,
+ author = "L. McKibben",
+ title = "Equation editing with {WordPerfect}",
+ journal = j-LAB-MICROCOMP,
+ volume = "10",
+ number = "3",
+ pages = "117--118",
+ month = "",
+ year = "1991",
+ CODEN = "LMICD",
+ ISSN = "0262-2955",
+ bibdate = "Wed Aug 31 00:54:39 MDT 1994",
+ abstract = "For years scientists and engineers have had to use
+ special software packages to create, edit, and print
+ their scientific equations. Software packages such as
+ {\TeX} (for mainframes and PC's), MASS-11, WordMarc+
+ and T3 were created specifically to handle these
+ requirements. The needs of scientists were essentially
+ ignored by the early popular software developers, who
+ designed such packages as WordStar, Microsoft Word and
+ early versions of WordPerfect. Now, the developers of
+ the largest-selling software package in the world,
+ WordPerfect, are also beginning to cater to the
+ scientific and engineering communities with the latest
+ release for the IBM-compatible computer, version 5.1.
+ All in all, the new equation editor is an exciting
+ development and will greatly aid scientists who need to
+ use mainstream word processing software, but there are
+ some limitations that the user should be aware of. (0
+ Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Oklahoma Univ., Norman, OK, USA",
+ classification = "C6130D (Document processing techniques); C7310
+ (Mathematics)",
+ keywords = "Equation editor; Scientists; Word processing;
+ WordPerfect",
+ thesaurus = "Mathematics computing; Software packages; Text
+ editing",
+}
+
+@Book{McLean:1980:THM,
+ author = "Ruari McLean",
+ title = "The Thames and Hudson Manual of Typography",
+ publisher = pub-TH,
+ address = pub-TH:adr,
+ pages = "216",
+ year = "1980",
+ ISBN = "0-500-68022-1",
+ ISBN-13 = "978-0-500-68022-3",
+ LCCN = "Z244.3 .M45",
+ bibdate = "Fri Aug 19 15:46:43 1994",
+ acknowledgement = ack-fm # " and " # ack-mc,
+ annote = "A broad, very readable introduction to the
+ conventional typography. This is the best recent
+ general book if you read only one. (RRu)",
+}
+
+@Book{McLean:1995:TTI,
+ editor = "Ruari McLean",
+ title = "Typographers on Type: An Illustrated Anthology from
+ {William Morris} to the present day",
+ publisher = pub-NORTON,
+ address = pub-NORTON:adr,
+ pages = "xii + 188",
+ year = "1995",
+ ISBN = "0-393-70201",
+ ISBN-13 = "0-393-70201",
+ LCCN = "Z 250 A2 T96 1995",
+ bibdate = "Mon May 11 18:03:27 1998",
+ price = "US\$27.00",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Mei:1980:LLC,
+ author = "{Tung Yun Mei}",
+ title = "{LCCD}, {A Language} for {Chinese Character}
+ {Design}",
+ type = "Report",
+ number = "STAN-CS-80-824",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1980",
+ bibdate = "Tue Mar 1 12:54:32 1994",
+ note = "See also " # j-SPE # "Vol. 11 (1981), No. 12, pp.
+ 1273--1292.",
+ acknowledgement = ack-hk,
+}
+
+@Booklet{MF:1986:MCF,
+ key = "MF",
+ title = "The {MF Chel Family} of Fonts",
+ howpublished = inst-METAFOUNDRY,
+ address = inst-METAFOUNDRY:adr,
+ year = "1986",
+ acknowledgement = ack-hk,
+}
+
+@Booklet{MF:1986:MRF,
+ key = "MF",
+ title = "The {MF Roman Family} of Fonts",
+ howpublished = inst-METAFOUNDRY,
+ address = inst-METAFOUNDRY:adr,
+ year = "1986",
+ acknowledgement = ack-hk,
+}
+
+@Booklet{MF:1987:MDF,
+ key = "MF",
+ title = "The {MF Decorative Family} of Fonts",
+ howpublished = inst-METAFOUNDRY,
+ address = inst-METAFOUNDRY:adr,
+ year = "1987",
+ acknowledgement = ack-hk,
+}
+
+@Booklet{MF:1987:MSF,
+ key = "MF",
+ title = "The {MF Slavic Families} of Fonts",
+ howpublished = inst-METAFOUNDRY,
+ address = inst-METAFOUNDRY:adr,
+ year = "1987",
+ acknowledgement = ack-hk,
+}
+
+@Article{Milne:1986:RTS,
+ author = "J. S. Milne",
+ title = "Review of Two Scientific Word-Processing Programs:
+ {$T^3$} version 2.02 by {TCI Software Research Inc.},
+ and {Volkswriter Scientific} version 1.0 by {Lifetree
+ Software Inc.}",
+ journal = j-MATHINTEL,
+ volume = "8",
+ number = "1",
+ pages = "66--71",
+ year = "1986",
+ bibdate = "Sat Aug 27 11:09:18 1994",
+}
+
+@Article{Milne:1990:FWP,
+ author = "J. S. Milne",
+ title = "Four Word Processors with {\TeX} Capabilities",
+ journal = j-NAMS,
+ volume = "37",
+ number = "8",
+ pages = "1018--1022",
+ month = oct,
+ year = "1990",
+ ISSN = "0002-9920",
+ acknowledgement = ack-bnb,
+}
+
+@Article{Milne:1992:TSW,
+ author = "J. S. Milne",
+ title = "Three Scientific Word Processors",
+ journal = j-NAMS,
+ volume = "39",
+ number = "8",
+ pages = "838--840",
+ month = oct,
+ year = "1992",
+ ISSN = "0002-9920",
+ bibdate = "Tue Mar 1 12:06:32 1994",
+ note = "The word processors {Chi}{Writer} 4.02, {Leo} 1.4, and
+ {Scientific Word} 1.0 are discussed in terms of ease of
+ use, effectiveness in producing {\TeX} code, and other
+ features of interest to users who require {\TeX} output
+ but do not wish to use {\TeX} directly.",
+}
+
+@InProceedings{Mittelbach:1992:FHQ,
+ author = "Frank Mittelbach and Chris Rowley",
+ title = "The future of high quality typesetting: structure and
+ design",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "255--256",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ note = "Invited talk.",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Mittelbach:1992:LSD,
+ author = "Frank Mittelbach and Chris Rowley",
+ title = "{\LaTeX3:} structure and design",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "69--70",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ note = "Invited talk.",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Mittelbach:1992:PQH,
+ author = "Frank Mittelbach and Chris Rowley",
+ title = "The Pursuit of Quality: How can Automated Typesetting
+ achieve the Highest Standards of Craft Typography?",
+ crossref = "Vanoirbeek:1992:EPE",
+ pages = "261--273",
+ year = "1992",
+ bibdate = "Thu Dec 29 11:04:13 1994",
+ acknowledgement = ack-ps,
+}
+
+@Book{Mittelbach:2004:LC,
+ author = "Frank Mittelbach and Michel Goossens and Johannes
+ Braams and David Carlisle and Chris Rowley and
+ Christine Detig and Joachim Schrod",
+ title = "The {\LaTeX} Companion",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ edition = "Second",
+ pages = "xxvii + 1090",
+ year = "2004",
+ ISBN = "0-201-36299-6",
+ ISBN-13 = "978-0-201-36299-2",
+ LCCN = "Z253.4.L38 G66 2004",
+ bibdate = "Thu May 20 13:23:24 2004",
+ price = "US\$59.99, CAN\$86.99",
+ series = "Tools and Techniques for Computer Typesetting",
+ acknowledgement = ack-nhfb,
+ remark = "Authors listed as: Frank Mittelbach and Michel
+ Goossens with Johannes Braams, David Carlisle, and
+ Chris Rowley, and with contributions by Christine Detig
+ and Joachim Schrod.",
+}
+
+@Article{Molnar:1993:TGT,
+ author = "Suzanne M. Molnar",
+ title = "A Tour of Graphical Typesetting on the {Macintosh}",
+ journal = j-UMAP,
+ volume = "14",
+ number = "2",
+ pages = "97--112",
+ year = "1993",
+ bibdate = "Tue Dec 14 10:48:29 1993",
+ acknowledgement = ack-ps,
+}
+
+@Article{Morin:1993:TT,
+ author = "Richard Morin",
+ title = "Tangled up in {\TeX}",
+ journal = j-SUNEXPERT,
+ volume = "4",
+ number = "10",
+ pages = "42--46",
+ month = oct,
+ year = "1993",
+ bibdate = "Mon Oct 18 18:07:05 1993",
+ note = "A brief review of {\TeX} support, including the
+ Comprehensive {\TeX} Archive Network (CTAN), the {\TeX}
+ Users Group, and several books on {\TeX}.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Morin:1994:TRPa,
+ author = "Richard Morin",
+ title = "{\TeX}, {ReDuX} (Part {I})",
+ journal = j-SUNEXPERT,
+ volume = "5",
+ number = "11",
+ pages = "28, 30--31",
+ month = nov,
+ year = "1994",
+ bibdate = "Tue Dec 20 11:13:23 1994",
+ note = "Comments on why use \TeX. Mentions the {\TeX} Users
+ Group, and the Comprehensive {\TeX} Archive Network
+ (CTAN)",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Morin:1994:TRPb,
+ author = "Richard Morin",
+ title = "{\TeX}, {ReDuX} (Part {II})",
+ journal = j-SUNEXPERT,
+ volume = "5",
+ number = "12",
+ pages = "28--31",
+ month = dec,
+ year = "1994",
+ bibdate = "Sat Nov 19 17:02:39 1994",
+ note = "Lists sources of {\TeX}, and gives short reviews of
+ several books about {\TeX}, {\AmSTeX}, {\LaTeX}, and
+ literate programming.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Morishita:1989:DLT,
+ author = "J. Morishita",
+ title = "{DTP} language {\TeX}",
+ journal = j-SYS-CTL-INFO,
+ volume = "33",
+ number = "3",
+ pages = "117--125",
+ month = "",
+ year = "1989",
+ CODEN = "SSEJE",
+ ISSN = "0374-4507",
+ bibdate = "Thu Sep 01 00:40:26 1994",
+ abstract = "Desk-top publishing (DTP) has come to be of major
+ interest with the spread of computers-that is, the
+ progress of the printer and image scanner-and with the
+ development of computer software. DTP was initially
+ used to print documents and to perform all the
+ processes required for printing on a table with the aid
+ of computers. {\TeX} document data is a method that
+ embeds a {\TeX} command into the text to be printed.
+ This method is the traditional style, as in the runoff
+ system, nroff and troff. (10 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C6130D (Document processing techniques); C7108
+ (Desktop publishing)",
+ keywords = "Desk-top publishing; Document data; Image scanner;
+ Printer; TEX",
+ language = "Japanese",
+ thesaurus = "Desktop publishing",
+}
+
+@InProceedings{Morris:1991:HTV,
+ author = "Robert A. Morris and Karl Berry and Kathryn A.
+ Hargreaves and Dimitrios Liarokapis",
+ title = "How typeface variation and typographic variation
+ affect readability at small sizes",
+ crossref = "Pietrowski:1991:ISI",
+ pages = "344--352",
+ year = "1991",
+ bibdate = "Tue Mar 1 12:57:02 1994",
+ acknowledgement = ack-kb,
+}
+
+@Book{Mortensen:1991:RRT,
+ author = "Niels G. Mortensen",
+ title = "Ris{\o}-rapporter i {\TeX}. Matematisk og
+ naturvidenskabelig typografi i praksis (Ris{\o} reports
+ in {\TeX}. Mathematical and scientific typography in
+ practice).",
+ publisher = pub-RISO,
+ address = pub-RISO:adr,
+ year = "1991",
+ ISBN = "87-550-1635-9",
+ ISBN-13 = "978-87-550-1635-4",
+ note = "Prepared using {\LaTeX}, and typeset on a Chelgraph
+ IBX photo-typesetter.",
+}
+
+@InProceedings{Murata:1992:FHS,
+ author = "Makoto Murata and Koichi Hayashi",
+ title = "Formatter Hierarchy for Structured Documents",
+ crossref = "Vanoirbeek:1992:EPE",
+ pages = "77--94",
+ year = "1992",
+ bibdate = "Thu Dec 29 11:04:16 1994",
+ acknowledgement = ack-ps,
+}
+
+@Article{Myhill:1990:PTI,
+ author = "M. Myhill",
+ title = "Publishing {\TeX}nical {INFORMATION}: typesetting by
+ database",
+ journal = j-PROGRAM,
+ volume = "24",
+ number = "3",
+ pages = "281--289",
+ month = jul,
+ year = "1990",
+ CODEN = "PRGMB",
+ ISSN = "0033-0337",
+ bibdate = "Thu Sep 01 00:57:42 1994",
+ abstract = "Much has been written about the link between desktop
+ publishing and word-processing systems. Linking a
+ database management system to a publishing system can
+ have considerable advantages. At the University of
+ Exeter Library the {\TeX} typesetting system and the
+ INFORMATION database management system have been
+ combined in a number of stages to produce foreign
+ language bibliographies. (7 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Exeter Univ. Libr., UK",
+ classification = "C6160 (Database management systems (DBMS)); C7108
+ (Desktop publishing); C7210L (Library automation)",
+ keywords = "Desktop publishing; Foreign language bibliographies;
+ INFORMATION database management system; TeX typesetting
+ system; University of Exeter Library; Word-processing
+ systems",
+ thesaurus = "Database management systems; Desktop publishing;
+ Library automation",
+}
+
+@PhdThesis{Naiman:1991:UGI,
+ author = "Avi Naiman",
+ title = "The Use of Grayscale for Improved Character
+ Presentation",
+ type = "Ph.D. Thesis",
+ school = "University of Toronto",
+ address = "Toronto, Ontario, Canada",
+ year = "1991",
+ bibdate = "Tue Mar 1 12:57:40 1994",
+ note = "Technical report CSRI-253. To order by mail, send a
+ letter to ATTN: Technical Reports, Computer Systems
+ Research Institute, University of Toronto, 6 King's
+ College Road, Toronto, Ontario M5S 1A1, CANADA, Tel:
+ (416) 978-8751. The cost is CDN\$16 if inside Canada,
+ US\$16 if outside. Avi's e-mail address is
+ \path|avi@cvs.rochester.edu|.",
+ acknowledgement = ack-kb,
+}
+
+@Book{Negru:1988:CT,
+ author = "John Negru",
+ title = "Computer typesetting",
+ publisher = pub-VNR,
+ address = pub-VNR:adr,
+ pages = "xiv + 185",
+ year = "1988",
+ ISBN = "0-442-26696-0",
+ ISBN-13 = "978-0-442-26696-7",
+ LCCN = "Z253.3 .N4 1988",
+ bibdate = "Mon Jul 25 11:56:23 1994",
+ price = "US\$39.95",
+ acknowledgement = ack-nhfb,
+ keywords = "languages",
+ subject = "J.5 Computer Applications, ARTS AND HUMANITIES,
+ Linguistics \\ I.7.0 Computing Methodologies, TEXT
+ PROCESSING, General \\ I.7.2 Computing Methodologies,
+ TEXT PROCESSING, Document Preparation,
+ Photocomposition",
+}
+
+@Book{Nelson:1978:PD,
+ author = "Roy Paul Nelson",
+ title = "Publication Design",
+ publisher = pub-WCB,
+ address = pub-WCB:adr,
+ edition = "Second",
+ pages = "295",
+ year = "1978",
+ ISBN = "0-697-04324-X",
+ ISBN-13 = "978-0-697-04324-5",
+ LCCN = "Z246 .N44 1978",
+ bibdate = "Fri Jul 22 09:13:36 1994",
+ acknowledgement = ack-jpl,
+ annote = "This is an introductory text suitable for college
+ level. It comprises a broad survey a design issues
+ (production, typography, art, book design), with little
+ in the way of business management.",
+}
+
+@Book{Nelson:1991:PD,
+ author = "Roy Paul Nelson",
+ title = "Publication Design",
+ publisher = pub-WCB,
+ address = pub-WCB:adr,
+ edition = "Fifth",
+ pages = "xiv + 319",
+ year = "1991",
+ ISBN = "0-697-08620-8",
+ ISBN-13 = "978-0-697-08620-4",
+ LCCN = "Z246 .N44 1991",
+ bibdate = "Fri Aug 19 11:31:39 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Noot:1983:STF,
+ author = "Han Noot",
+ title = "Structured text formatting",
+ journal = j-SPE,
+ volume = "13",
+ number = "1",
+ pages = "79--94",
+ month = jan,
+ year = "1983",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Thu Jul 21 22:12:03 1994",
+ abstract = "An abstract format machine is presented which can be
+ ``microprogrammed'' to yield document formatters. A
+ high-level language to be used for this
+ microprogramming is discussed. It contains special
+ constructs for the manipulation of blocks of text. The
+ format machine has a design which encourages the
+ implementation of well-structured and concise sets of
+ layout directives on it. It incorporates a systematic
+ strategy for dealing with problems such as the
+ avoidance of ``widows.'' At various points in this
+ paper we contrast out approach with that of a number of
+ recent, well-known text formatting systems.",
+ acknowledgement = ack-nhfb,
+}
+
+@Misc{NTG:1989:NTG,
+ key = "NTG",
+ title = "Nederlandstalige {\TeX} Gebruikersgroep",
+ year = "1989" # "\unskip--",
+ note = "Journal of the NTG (Dutch-speaking {\TeX} Users
+ Group).",
+}
+
+@Article{Ohl:1995:DFD,
+ author = "Thorsten Ohl",
+ title = "Drawing {Feynman} diagrams with {\LaTeX} and
+ {\METAFONT}",
+ journal = j-COMP-PHYS-COMM,
+ volume = "90",
+ number = "2--3",
+ pages = "340--354",
+ month = oct,
+ year = "1995",
+ CODEN = "CPHCBZ",
+ ISSN = "0010-4655",
+ bibdate = "Sat Dec 21 15:45:22 MST 1996",
+ bibsource = "Compendex database",
+ abstract = "feynMF is a {\LaTeX} package for easy drawing of
+ professional quality Feynman diagrams with METAFONT (or
+ METAPOST). feynMF lays out most diagrams satisfactorily
+ from the structure of the graph without any need for
+ manual intervention. Nevertheless all the power of
+ METAFONT (or METAPOST) is available for the most
+ complicated cases.",
+ acknowledgement = ack-nhfb,
+ affiliation = "Technische Hochschule Darmstadt",
+ affiliationaddress = "Darmstadt, Ger",
+ classification = "723; 723.1.1; 723.5; 902.1; 921.4; 931.4",
+ keywords = "Algorithms; Computer graphics; Computer programming
+ languages; Computer software; Drawing (graphics);
+ Feynman diagrams; Graph theory; latex (programming
+ language); metafont (programming language); Quantum
+ theory",
+}
+
+@Article{Ohno:1991:DPS,
+ author = "Y. Ohno",
+ title = "Document preparation software",
+ journal = "Journal of the Institute of Electronics, Information
+ and Communication Engineers",
+ volume = "74",
+ number = "2",
+ pages = "175--177",
+ month = feb,
+ year = "1991",
+ CODEN = "DJTGE",
+ ISSN = "0913-5693",
+ bibdate = "Thu Sep 01 01:14:00 1994",
+ abstract = "In a monograph for students, text processing concepts
+ such as WYSIWYG and PageMaker type functions are
+ explained. The background to the use of {\TeX} and
+ {\LaTeX} by both Japanese and American mathematical
+ societies is discussed. (6 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Fac. of Sci. and Technol., Keio Univ., Yokohama,
+ Japan",
+ classification = "C6130D (Document processing techniques); C7108
+ (Desktop publishing)",
+ keywords = "Document preparation software; LaTeX; PageMaker; TeX;
+ Text processing; WYSIWYG",
+ language = "Japanese",
+ thesaurus = "Desktop publishing; Software packages; Text editing",
+}
+
+@Book{Olsak:1995:TST,
+ author = "Petr Ol{\v{s}}{\'a}k",
+ title = "Typografick{\'y} syst{\'e}m {\TeX}",
+ publisher = "CSTUG",
+ address = "Praha, Czech Republic",
+ pages = "272",
+ year = "1995",
+ ISBN = "80-901950-0-8",
+ ISBN-13 = "978-80-901950-0-4",
+ bibdate = "Fri Feb 13 09:05:16 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Olsak:1997:TNC,
+ author = "Petr Ol{\v{s}}{\'a}k",
+ title = "{\TeX}book naruby. ({Czech}) [{\TeX}book inside out]",
+ publisher = "Konvoj",
+ address = "Berkova 22, Brno, 612 00, Czech Republic",
+ pages = "467",
+ year = "1997",
+ ISBN = "80-85615-64-9",
+ ISBN-13 = "978-80-85615-64-7",
+ bibdate = "Tue Dec 31 06:43:10 1996",
+ price = "250 Kc",
+ URL = "http://math.feld.cvit.cz/olsak/tbn.html",
+ abstract = "All internal algorithms of \TeX{} and \TeX{}
+ primitives are described in detail, with 3000 lines of
+ examples of illustrating macros. All examples are
+ extracted in the freely-available file {\tt tbn.mac}.
+ Part B of the book (150 pages) is a general glossary of
+ all \TeX{} primitives and macros of plain and
+ csplain.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Oman:1990:TSI,
+ author = "Paul W. Oman and Curtis R. Cook",
+ title = "Typographic Style is More than Cosmetic",
+ journal = j-CACM,
+ volume = "33",
+ number = "5",
+ pages = "506--520",
+ month = may,
+ year = "1990",
+ CODEN = "CACMA2",
+ ISSN = "0001-0782",
+}
+
+@InProceedings{Padovani:2004:IEM,
+ author = "Luca Padovani",
+ title = "Interactive Editing of {MathML} Markup Using {\TeX}
+ Syntax",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "125--138",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Palais:1986:MTP,
+ author = "Richard S. Palais",
+ title = "Mathematical Text Processing",
+ journal = j-NAMS,
+ volume = "33",
+ number = "1",
+ pages = "3--7",
+ month = jan,
+ year = "1986",
+ ISSN = "0002-9920",
+ acknowledgement = ack-hk,
+}
+
+@Article{Pappas:1989:TIP,
+ author = "T. L. Pappas",
+ title = "{\TeX}nology on the {IBM PC}",
+ journal = j-COMPUTER,
+ volume = "22",
+ number = "8",
+ pages = "111--120",
+ month = aug,
+ year = "1989",
+ CODEN = "CPTRB",
+ ISSN = "0018-9162",
+ bibdate = "Thu Sep 01 00:41:20 1994",
+ abstract = "An overview of the {\TeX} typesetting system is given,
+ and some of the author's experiences are discussed. He
+ discusses input, justification and hyphenation, fonts,
+ math typesetting, macros, device-independent files and
+ special effects. {\TeX} products are then reviewed. The
+ author describes the hardware he has used and
+ recommends a {\TeX} software configuration. (0 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C7230 (Publishing and reproduction)",
+ keywords = "Device-independent files; Fonts; Hyphenation; IBM PC;
+ Input; Justification; Macros; Math typesetting;
+ Overview; Software configuration; Special effects;
+ TeXnology; Typesetting system",
+ thesaurus = "Computer controlled typesetting",
+}
+
+@InProceedings{Pappas:1990:LPR,
+ author = "T. L. Pappas",
+ booktitle = "Proceedings of Eighth Annual National Conference on
+ Ada Technology",
+ title = "Literate programming for reusability: a queue package
+ example",
+ publisher = "U.S. Army Commun.-Electron. Command",
+ address = "Fort Monmouth, NJ, USA",
+ pages = "500--514",
+ month = "",
+ year = "1990",
+ bibdate = "Wed Aug 31 00:54:39 MDT 1994",
+ abstract = "Writing reusable software components requires more
+ than just following coding guidelines. It also requires
+ that potential clients of a component can easily
+ understand the documentation associated with the
+ component. Literate programming, as suggested by D.
+ Knuth (1983), is concerned with combining code and
+ documentation in a form that is more easily read by
+ humans, rather than by compilers. The paper illustrates
+ the benefits of a literate programming approach to
+ writing reusable software by presenting a generic
+ package written in a literate programming style. ADA
+ WEB, a language for literate programming that combines
+ Ada and {\TeX}, was used to prepare the paper. (14
+ Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Intermetrics Inc., Warminster, PA, USA",
+ bookpages = "xiv + 669",
+ classification = "C6110B (Software engineering techniques)",
+ confdate = "5--8 March 1990",
+ conflocation = "Atlanta, GA, USA",
+ confsponsor = "Ancost",
+ keywords = "Ada; ADA WEB; Documentation; Generic package; Literate
+ programming; Queue package; Software components; TEX",
+ thesaurus = "Ada; Programming; Software reusability; System
+ documentation",
+}
+
+@Article{Pappas:1990:POL,
+ author = "T. L. (Frank) Pappas",
+ title = "{\POSTSCRIPT} output on a {LaserJet} printer",
+ journal = j-COMPUTER,
+ volume = "23",
+ number = "10",
+ pages = "82--88",
+ month = oct,
+ year = "1990",
+ CODEN = "CPTRB",
+ ISSN = "0018-9162",
+ bibdate = "Mon Aug 29 17:27:22 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Pappas:1991:TTD,
+ author = "T. L. (Frank) Pappas",
+ title = "{\TeX} typesetting with a difference",
+ journal = j-COMPUTER,
+ volume = "24",
+ number = "6",
+ pages = "92--93",
+ month = jun,
+ year = "1991",
+ CODEN = "CPTRB",
+ ISSN = "0018-9162",
+}
+
+@InProceedings{Partl:1990:HMT,
+ author = "Hubert Partl",
+ title = "How to make {\TeX} and {\LaTeX} international",
+ crossref = "Nadrchal:1990:MMI",
+ pages = "190--200",
+ year = "1990",
+ CODEN = "CPHCB",
+ bibdate = "Thu Sep 01 01:01:10 1994",
+ note = "Invited paper.",
+ abstract = "Originally, the public domain typesetting systems
+ {\TeX} and {\LaTeX} have been designed for American
+ standards only. Nowadays, however, they are being used
+ all over the world and with a lot of different
+ languages. The author gives an example of the problems
+ that arise when modifying {\TeX} and {\LaTeX} for
+ easier application with a language other than
+ US-English. Hints are added, how similar work might be
+ performed for all European languages, with special
+ emphasis on compatibility and portability problems and
+ on international co-operation. (6 Refs.)",
+ acknowledgement = ack-rw # " and " # ack-nhfb,
+ affiliation = "Tech. Univ. of Vienna, Wien, Austria",
+ annote = "The present article is both a resum{\'e} of a
+ well-established German standard and a guideline for
+ other national language styles to be developed.",
+ classification = "C7106 (Word processing)",
+ confdate = "19--28 Sept. 1989",
+ conflocation = "Skalsky dvur, Czechoslovakia",
+ confsponsor = "EPS; Czechoslovak Acad. Sci.; Union of Czechoslovak
+ Math. Phys",
+ keywords = "Compatibility; European languages; LaTeX; Portability
+ problems; Public domain typesetting systems; TeX",
+ thesaurus = "Software packages; Text editing; Word processing",
+}
+
+@Misc{Partl:1993:DL,
+ author = "Hubert Partl and Elis. Schlegl and Irene Hyna",
+ title = "Una Descripci{\'o}n de {\LaTeX}",
+ year = "1993",
+ bibdate = "Tue Nov 30 10:08:52 1993",
+ note = "Spanish translation by Tomas Bautista of German
+ introduction to {\LaTeX}, {\LaTeX}-Kurzbeschreibung.
+ Includes material on the {\tt spanish} style option.
+ Available in Spain from \path=ftp.eunet.es= (also known
+ as \path=goya.uu.es=) in the directory
+ \path=info/UNIX/text/TeX/spanish/tutorial=, as well as
+ from the main {\TeX} archives.",
+ acknowledgement = ack-ps,
+}
+
+@Booklet{Pawlowski:1993:LCT,
+ author = "Wies{\l}aw Paw{\l}owski",
+ title = "{\LaTeX}, czyli {\TeX} dla ludzi",
+ howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu",
+ address = "Bachotek",
+ year = "1993",
+ bibdate = "Thu Jun 23 18:23:31 1994",
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ address-l = lang-pl,
+ author-l = lang-pl,
+ howpublished-l = lang-pl,
+ title-l = lang-pl,
+}
+
+@InProceedings{Perez:2004:BCS,
+ author = "Jagoba Arias P{\'e}rez and Jes{\'u}s L{\'a}zaro and
+ Juan M. Aguirregabiria",
+ title = "{Basque}: {A} Case Study in Generalizing Language
+ Support",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "27--33",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Piska:2004:CTF,
+ author = "Karel P{\'\i}{\v{s}}ka",
+ title = "Creating {Type 1} Fonts from {\MF} Sources: Comparison
+ of Tools, Techniques and Results",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "240--256",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Plaice:2004:MOO,
+ author = "John Plaice and Yannis Haralambous and Paul Swoboda
+ and G{\'a}bor Bella",
+ title = "Moving {$\Omega$} to an Object-Oriented Platform",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "17--26",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@PhdThesis{Plass:1981:OPT,
+ author = "Michael F. Plass",
+ title = "Optimal pagination techniques for automatic
+ typesetting systems",
+ type = "{Ph.D.} dissertation",
+ school = "Computer Science Department, Stanford University",
+ address = "Stanford, CA, USA",
+ pages = "vi + 72",
+ year = "1981",
+ bibdate = "Mon May 20 11:04:41 MDT 1996",
+ series = "Report no. STAN-CS-81-870",
+ URL = "http://wwwlib.umi.com/dissertations/fullcit/8124134",
+ abstract = "This thesis considers how to use a computer to break a
+ document into pages suitable for printing. Although
+ this problem is easy to solve when the document
+ consists of just text, it becomes complicated when
+ footnotes, displays, and figures are introduced. These
+ elements add some freedom of choice in the way breaks
+ are chosen, since the white space around the displays
+ and the exact placement of the figures can be decided
+ by the pagination algorithm. Out of the many possible
+ ways to paginate such a document, the pagination
+ algorithm should pick the one that is in some sense
+ optimal. The approach taken here is to define a badness
+ function that depends on the way the document is broken
+ up, and then to design an algorithm to find a way to
+ minimize the value of this function. The document is
+ modelled by two lists, the text list and the figure
+ list. Each item in the text list is either a `box',
+ corresponding to something that will print such as a
+ line of text, a `glue' item, corresponding to the white
+ space between the lines, a `penalty' item,
+ corresponding to a legal place to break the list, or a
+ `citation', marking a reference to one of the figures.
+ The items in the figure list indicate the size of each
+ figure, and by how much each figure is allowed to
+ stretch or shrink. This model is based on the one used
+ in the \TeX{} typesetting system. The optimizing
+ pagination algorithm uses dynamic programming to find,
+ for each $i$, $j$, and $k$, the best way to put the
+ first $i$ lines of text and the first $j$ figures onto
+ the first $k$ pages; to make the program run in a
+ reasonable amount of time, this calculation includes
+ only those subproblems that are feasible, i.e., likely
+ to lead to a solution with a small badness value. The
+ badness function must be chosen carefully in order to
+ get a problem that can be solved by these techniques.
+ For certain simple badness functions, the pagination
+ problem is NP-complete; two such functions are
+ described in the thesis.",
+ acknowledgement = ack-nhfb,
+ keywords = "Pagination; Computerized typesetting",
+}
+
+@InCollection{Plass:1982:CBL,
+ author = "Michael F. Plass and Donald E. Knuth",
+ title = "Choosing better line breaks",
+ crossref = "Nievergelt:1982:DPS",
+ chapter = "??",
+ pages = "221--242",
+ year = "1982",
+ bibdate = "Mon Aug 22 14:25:12 1994",
+ abstract = "This article discusses a new approach to the problem
+ of dividing the text of a paragraph into lines of
+ approximately equal length. Instead of simply making
+ decisions one line at a time, the method considers the
+ paragraph as a whole, so that the final appearance of a
+ given line might be influenced by the text on
+ succeeding lines. A system based on three simple
+ primitive concepts called ``boxes,'' ``glue,'' and
+ ``kerns'' provides the ability to deal satisfactorily
+ with a wide variety of typesetting problems in a
+ unified framework, using a single algorithm that
+ determines optimum breakpoints. This algorithm avoids
+ backtracking by a judicious use of the techniques of
+ dynamic programming. Extensive computational experience
+ confirms that the approach is both efficient and
+ effective in producing high-quality output.",
+ acknowledgement = ack-nhfb,
+ keywords = "algorithms; documentation",
+ review = "ACM CR 40914",
+ subject = "I.7 Computing Methodologies, TEXT PROCESSING, Text
+ Editing \\ I.7.2 Computing Methodologies, TEXT
+ PROCESSING, Document Preparation, Format and notation",
+}
+
+@Article{Poppelier:1992:BR,
+ author = "Nico Poppelier and Amy Hendrickson",
+ title = "Book reviews",
+ journal = j-NTG,
+ volume = "92",
+ number = "1",
+ pages = "135--138",
+ month = may,
+ year = "1992",
+ bibdate = "Sat May 11 07:33:52 1996",
+ annote = "Contains reviews of {\em \LaTeX{} for Everyone\/}
+ \cite{Hahn:1991:LER}, {\em Practical SGML\/}
+ \cite{vanHerwijnen:1990:PS}, and {\em \TeX{} by Topic,
+ A \TeX{}nician's Reference\/}
+ \cite{Eijkhout:1992:TTT}.",
+ keywords = "reviews",
+}
+
+@Article{Poppelier:1992:BRJ,
+ author = "Nico Poppelier",
+ title = "Book reviews: {Jane Hahn, {\em \LaTeX} for
+ Everyone\/}; {Eric van Herwijnen, {\em Practical
+ SGML}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "182--184",
+ month = jul,
+ year = "1992",
+ bibdate = "Tue Mar 1 12:07:33 1994",
+ annote = "Contains reviews of {\em \LaTeX{} for Everyone\/}
+ \cite{Hahn:1991:LER}, and {\em Practical SGML\/}
+ \cite{vanHerwijnen:1990:PS}.",
+}
+
+@InProceedings{Porrat:1992:DHT,
+ author = "Rama Porrat",
+ title = "Developments in {Hebrew \TeX}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "135--148",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Porter:1992:DRA,
+ author = "Gilbert B. {Porter III} and Emil V. Rainero",
+ title = "Document Reconstruction: {A} System for Recovering
+ Document Structure from Layout",
+ crossref = "Vanoirbeek:1992:EPE",
+ pages = "127--141",
+ year = "1992",
+ bibdate = "Thu Dec 29 11:04:17 1994",
+ acknowledgement = ack-ps,
+}
+
+@Book{Porter:1997:MTN,
+ author = "Richard D. Porter",
+ title = "Math into Type: The Next Generation",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ pages = "120",
+ year = "1997",
+ ISBN = "0-8218-0644-0",
+ ISBN-13 = "978-0-8218-0644-9",
+ LCCN = "",
+ bibdate = "Thu Jan 30 17:05:24 1997",
+ price = "US\$19.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Probets:2003:SOF,
+ author = "S. G. Probets and D. F. Brailsford",
+ title = "Substituting outline fonts for bitmap fonts in
+ archived {PDF} files",
+ journal = j-SPE,
+ volume = "33",
+ number = "9",
+ pages = "885--899",
+ day = "25",
+ month = jul,
+ year = "2003",
+ CODEN = "SPEXBL",
+ DOI = "10.1002/spe.532",
+ ISSN = "0038-0644",
+ bibdate = "Sat Nov 29 17:39:47 MST 2003",
+ bibsource = "http://www.interscience.wiley.com/jpages/0038-0644;
+ http://www3.interscience.wiley.com/journalfinder.html",
+ URL = "http://brain.mhri.edu.au/text/texpdf/texpdf-ffont.html;
+ http://www.cs.nott.ac.uk/~dfb/Publications/Download/2003/Probets03.pdf;
+ http://www.eprg.org/research/",
+ acknowledgement = ack-nhfb,
+ onlinedate = "25 Jun 2003",
+}
+
+@InProceedings{Przechlewski:2004:MTR,
+ author = "Tomasz Przechlewski",
+ title = "Managing {\TeX} Resources with {XML} Topic Maps",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "216--228",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@InCollection{Rahtz:1987:PW,
+ author = "Sebastian Rahtz",
+ title = "The processing of words",
+ crossref = "Rahtz:1987:ITH",
+ pages = "69--79",
+ year = "1987",
+ bibdate = "Mon Aug 22 14:25:29 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "human factors",
+ review = "ACM CR 8803-0222",
+ subject = "I.7.0 Computing Methodologies, TEXT PROCESSING,
+ General \\ J.5 Computer Applications, ARTS AND
+ HUMANITIES \\ K.3.0 Computing Milieux, COMPUTERS AND
+ EDUCATION, General",
+}
+
+@TechReport{Rahtz:1989:STG,
+ author = "Sebastian Rahtz",
+ title = "A Survey of {\TeX} and Graphics",
+ number = "CSTR 89-7",
+ institution = "University of Southampton",
+ address = "Department of Electronics and Computer Science,
+ Southampton SO9 5NH, UK",
+ month = oct,
+ year = "1989",
+ bibdate = "Tue Mar 1 12:54:12 1994",
+}
+
+@Book{Reid:1988:PLP,
+ author = "Glenn C. Reid",
+ title = "{\POSTSCRIPT} Language Program Design",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 224",
+ year = "1988",
+ ISBN = "0-201-14396-8",
+ ISBN-13 = "978-0-201-14396-6",
+ LCCN = "QA76.73.P67 R45 1988",
+ bibdate = "Tue Dec 14 23:17:57 1993",
+}
+
+@Article{Revesz:1991:TOM,
+ author = "G. E. Revesz",
+ title = "On translating ordinary mathematical notation",
+ journal = j-STRUCTURED-PROGRAMMING,
+ volume = "12",
+ number = "3",
+ pages = "115--122",
+ month = "",
+ year = "1991",
+ CODEN = "STPGE",
+ ISSN = "0935-1183",
+ bibdate = "Thu Sep 01 01:15:09 1994",
+ abstract = "The abstract mathematical description of an algorithm
+ is usually much better for human consumption than its
+ implementation in a conventional programming language.
+ The aim is to use ordinary mathematical notation as a
+ program development tool for certain applications. The
+ author illustrates some ideas via an experimental
+ translator which translates mathematical formulas to
+ Pascal statements. More precisely, a combination of
+ ordinary mathematical notation and conventional style
+ control structures and declarations is used as the
+ programming language. But, because of the
+ two-dimensional nature of ordinary mathematical
+ notation, the proper display of source programs
+ requires some special tools. Given the popularity of
+ the {\TeX} type-setting system, the author decided to
+ encode the source programs in plain {\TeX}. The
+ experimental translator has four phases: the first
+ phase is a lexical analyzer (tokenizer) which deals
+ primarily with the decoding of the {\TeX} notation; the
+ second phase is a preprocessor which analyses the
+ declarations and performs other pattern matching
+ functions; the third is the actual parser; and the
+ fourth phase is the code generator. (6 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "IBM Corp., Thomas J. Watson Res. Center, Yorktown, NY,
+ USA",
+ classification = "C6110 (Systems analysis and programming); C6140D
+ (High level languages); C6150C (Compilers, interpreters
+ and other processors)",
+ keywords = "Abstract mathematical description; Code generator;
+ Conventional style control structures; Declarations;
+ Experimental translator; Lexical analyzer; Ordinary
+ mathematical notation; Parser; Pascal statements;
+ Pattern matching functions; Preprocessor; Program
+ development tool; Programming language; Source
+ programs; TeX notation; TeX type-setting system;
+ Tokenizer; Two-dimensional nature",
+ thesaurus = "Pascal; Program compilers; Program interpreters;
+ Structured programming; Word processing",
+}
+
+@Book{Rice:1978:BDT,
+ author = "Stanley Rice",
+ title = "Book Design---Text Format Models",
+ publisher = pub-BOWK,
+ address = pub-BOWK:adr,
+ pages = "xiv + 215",
+ year = "1978",
+ ISBN = "0-8352-1045-6",
+ ISBN-13 = "978-0-8352-1045-4",
+ LCCN = "Z245 R5 1978",
+ bibdate = "Fri Jul 22 09:14:04 1994",
+ price = "US\$17.50",
+ acknowledgement = ack-dh,
+}
+
+@Book{Rolland:1993:LGP,
+ author = "Christian Rolland",
+ title = "{\LaTeX} guide pratique",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "280",
+ month = jul,
+ year = "1993",
+ ISBN = "2-87908-025-8",
+ ISBN-13 = "978-2-87908-025-3",
+ bibdate = "Tue Dec 14 10:38:20 1993",
+ note = "Distributed by Bourdas, code 009808.",
+ price = "FF 190",
+ acknowledgement = ack-ps,
+}
+
+@Book{Rolland:1995:LGP,
+ author = "Christian Rolland",
+ title = "{\LaTeX}: guide pratique",
+ publisher = pub-AW-FRANCE,
+ address = pub-AW-FRANCE:adr,
+ edition = "Deuxi{\`e}me",
+ pages = "xix + 345",
+ year = "1995",
+ ISBN = "2-87908-104-1",
+ ISBN-13 = "978-2-87908-104-5",
+ LCCN = "????",
+ bibdate = "Sat Mar 7 18:25:51 MST 1998",
+ acknowledgement = ack-nhfb,
+ annote = "Un syst{\`e}me performant pour la pr{\'e}paration de
+ documents.",
+ keywords = "{\LaTeX} (syst{\`e}me informatique)",
+}
+
+@Book{Rolland:1999:LPP,
+ author = "Christian Rolland",
+ title = "{\LaTeX} par la pratique",
+ publisher = pub-ORA,
+ address = pub-ORA:adr,
+ pages = "xx + 559",
+ year = "1999",
+ ISBN = "2-84177-073-7",
+ ISBN-13 = "978-2-84177-073-1",
+ LCCN = "????",
+ bibdate = "Sat Mar 7 18:25:51 MST 1998",
+ acknowledgement = ack-nhfb,
+ annote = "Un syst{\`e}me performant pour la pr{\'e}paration de
+ documents. CD-ROM {\TeX}live 6b ci-inclus.",
+ keywords = "{\LaTeX} (syst{\`e}me informatique)",
+}
+
+@InProceedings{Romberger:1985:ATL,
+ author = "Staffan Romberger and Yngve Sundblad",
+ title = "Adapting {\TeX} to {Languages} that use {Latin}
+ {Alphabetic Characters}",
+ crossref = "Lucarella:1985:PFE",
+ pages = "27--40",
+ year = "1985",
+ bibdate = "Tue Mar 1 12:57:06 1994",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Rose:1992:HTP,
+ author = "Kristoffer H. Rose",
+ title = "How to typeset pretty diagram arrows with {\TeX} ---
+ design decisions used in {\Xy-pic}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "183--210",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Rose:1992:TDX,
+ author = "Kristoffer H. Rose",
+ title = "Typesetting Diagrams with {XY-pc}: user's manual",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "273--292",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Rosset:1984:SSA,
+ author = "J.-L. {Rosset, editor}",
+ title = "{S.A.PR.I.S.T.I}. (Syst\`eme Assist\'e de {PR}oduction
+ Int\'egrant Simplement Textes et Images)",
+ type = "Suppl\'ement au No.",
+ number = "65",
+ institution = inst-CIRCE,
+ address = inst-CIRCE:adr,
+ year = "1984",
+ bibdate = "Tue Mar 1 12:54:15 1994",
+ acknowledgement = ack-hk,
+}
+
+@Article{Rosson:1988:DUB,
+ author = "Mary B. Rosson and Wendy Kellogg and Susanne Maass",
+ title = "The designer as user: building requirements for design
+ tools from design practice",
+ journal = j-CACM,
+ volume = "31",
+ number = "11",
+ pages = "1288--1298",
+ month = nov,
+ year = "1988",
+ CODEN = "CACMA2",
+ ISSN = "0001-0782",
+ bibdate = "Thu Jul 21 22:43:20 1994",
+ note = "From {\em Computing Reviews\/}: ``InterViews objects
+ are combined through a model similar to the boxes and
+ glues in Knuth's {\TeX}, which allows interface objects
+ to be combined with little concern for undesired
+ interactions.''",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Roth:1988:RWP,
+ editor = "Stephen E. Roth",
+ title = "Real World {{\POSTSCRIPT}}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 383",
+ year = "1988",
+ ISBN = "0-201-06663-7",
+ ISBN-13 = "978-0-201-06663-0",
+ LCCN = "Z286.D47 R4 1988",
+ bibdate = "Wed Dec 15 18:12:59 1993",
+}
+
+@InProceedings{Rowley:2001:LLA,
+ author = "Chris Rowley",
+ editor = "{ACM}",
+ booktitle = "Proceedings of the {Twentieth Annual ACM Symposium on
+ Principles of Distributed Computing 2001, Newport,
+ Rhode Island, United States}",
+ title = "The {\LaTeX} legacy: 2.09 and all that",
+ publisher = pub-ACM,
+ address = pub-ACM:adr,
+ pages = "17--25",
+ year = "2001",
+ ISBN = "1-58113-383-9",
+ ISBN-13 = "978-1-58113-383-7",
+ LCCN = "????",
+ bibdate = "Sat Mar 23 13:38:26 2002",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Roy:1984:TWT,
+ author = "Yves Roy",
+ title = "{\TeX\slash WEB}, et le traitement de textes
+ math\'ematiques",
+ publisher = pub-MASSON,
+ address = pub-MASSON:adr,
+ pages = "vii + 102",
+ year = "1984",
+ ISBN = "2-225-80249-1",
+ ISBN-13 = "978-2-225-80249-2",
+ LCCN = "Z253.4.T47 R69 1984",
+ bibdate = "Thu Nov 19 18:54:40 1998",
+ note = "Preface de D. Foata.",
+ acknowledgement = ack-hk,
+}
+
+@Book{Rubinstein:1988:DTI,
+ author = "Richard Rubinstein",
+ title = "Digital Typography\emdash An Introduction to Type and
+ Composition for Computer System Design",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 340",
+ month = nov,
+ year = "1988",
+ ISBN = "0-201-17633-5",
+ ISBN-13 = "978-0-201-17633-9",
+ LCCN = "Z253.3 .R8 1988",
+ bibdate = "Fri Jul 22 09:15:20 1994",
+ note = "Reprinted with corrections",
+ price = "US\$32.25",
+ acknowledgement = ack-nhfb # " and " # ack-fm,
+ keywords = "computerized typesetting, type and typefounding, data
+ processing, electronic publishing, bibliography
+ annotated",
+}
+
+@Book{Ruder:1988:TG,
+ author = "Emil Ruder",
+ title = "Typographie; Ein Gestaltungsbuch",
+ publisher = pub-NIGGLI,
+ address = pub-NIGGLI:adr,
+ edition = "Fifth revised",
+ year = "1988",
+ bibdate = "Tue Mar 1 12:08:26 1994",
+ note = "Contains complete English and French translation.",
+ acknowledgement = ack-fm,
+ annote = "Excellent book about typography and design. Contains
+ many examples of the explained concepts. The main focus
+ is on individual typography as an art.",
+ keywords = "layout, typography, design, fonts",
+}
+
+@TechReport{Ruggles:1983:LDS,
+ author = "Lynn Ruggles",
+ title = "Letterform Design Systems",
+ number = "STAN-CS-83-971",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ month = apr,
+ year = "1983",
+ bibdate = "Sat Feb 10 15:00:44 1996",
+}
+
+@PhdThesis{Ruggles:1987:PIE,
+ author = "Lynn Elizabeth Ruggles",
+ title = "{Paragon}, an interactive, extensible, environment for
+ typeface design",
+ type = "{Ph.D.} dissertation",
+ school = "University of Massachusetts Amherst",
+ address = "Amherst, MA, USA",
+ pages = "192",
+ year = "1987",
+ bibdate = "Wed May 25 08:16:01 2005",
+ URL = "http://wwwlib.umi.com/dissertations/fullcit/8805968",
+ abstract = "Typefaces have been designed and used for over 600
+ years. As new technology was developed, new methods
+ were designed to cope with the changes in materials and
+ techniques. The current century has seen the
+ development of raster output devices in the form of
+ laser printers, CRT typesetters, and bitmapped graphics
+ displays. Systems used to generate digital type designs
+ for these devices generally fall into the category of
+ copying systems rather than design systems. Little work
+ has been done to provide the type designer with a
+ system intended to be used for the design of new
+ typefaces. This thesis discusses a typeface design
+ system which has been created to fill this gap. The
+ system, named Paragon, is an interactive, extensible,
+ typeface design environment implemented on an
+ interactive graphics workstation. It is an attempt to
+ integrate the traditional typeface design environment
+ with the capabilities of interactive computer graphics.
+ It enhances the traditional environment by providing
+ functions to aid the design process which are difficult
+ to do by hand, but easy to do within a computer system.
+ The design system itself is extensible in that a
+ designer who has little if any knowledge of computers
+ or programming can create new commands by using the
+ primitive operations that are provided and can then
+ incorporate these commands into the working
+ environment.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Rybicka:1995:PZ,
+ author = "Ji{\v{r}}i Rybi{\v{c}}ka",
+ title = "{\LaTeX} pro za{\v{c}}{\'a}te{\v{c}}n{\'{\i}}ky",
+ publisher = "Konvoy",
+ address = "Brno, Czech Republic",
+ pages = "169",
+ year = "1995",
+ ISBN = "80-85615-42-8",
+ ISBN-13 = "978-80-85615-42-5",
+ bibdate = "Sat Mar 07 18:35:26 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Booklet{Rycko:1993:CNA,
+ author = "Marek Ry{\'c}ko",
+ title = "Co nieco o akapicie",
+ howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu",
+ address = "Bachotek",
+ year = "1993",
+ bibdate = "Thu Jun 23 18:23:33 1994",
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ address-l = lang-pl,
+ author-l = lang-pl,
+ howpublished-l = lang-pl,
+ title-l = lang-pl,
+}
+
+@Book{Salomon:1995:AT,
+ author = "David Salomon",
+ title = "The Advanced {\TeX}book",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xx + 490",
+ year = "1995",
+ ISBN = "0-387-94556-3",
+ ISBN-13 = "978-0-387-94556-9",
+ LCCN = "Z253.4.T47 S25 1995",
+ bibdate = "Fri Sep 10 09:26:14 1999",
+ price = "US\$39.95",
+ URL = "http://www.ecs.csun.edu/~dxs/tatb.advertis/tatbAd.html",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Samuel:1983:FGT,
+ author = "Arthur Samuel",
+ title = "First Grade {\TeX}. {A} Beginner's {\TeX} Manual",
+ number = "STAN-CS-83-985",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ month = nov,
+ year = "1983",
+ bibdate = "Sat Feb 10 15:01:14 1996",
+ note = "Also published by TUG as {\TeX}niques No.~11.",
+}
+
+@Article{Sankar:1989:ASG,
+ author = "S. Sankar",
+ title = "{APE}\emdash a set of {\TeX} macros to format {Ada}
+ programs",
+ journal = j-SIGADA-LETTERS,
+ volume = "9",
+ number = "7",
+ pages = "114--128",
+ month = nov # "\slash " # dec,
+ year = "1989",
+ CODEN = "AALEE",
+ ISSN = "0736-721X",
+ bibdate = "Sat Nov 12 21:50:04 1994",
+ abstract = "Describes a set of macros designed for the purpose of
+ formatting Ada programs in T/sub E/X. These macros were
+ implemented by the author in early 1987, and they have
+ been refined a few times since. They have also been
+ extended for the language extensions of Ada developed
+ by the Program Analysis and Verification Group at
+ Stanford University. These macros exist as one
+ collection in a file which is included into the
+ document using the mod input command. This file is
+ available on request from the author. The design of the
+ macros were motivated by the program example
+ environment in Scribe. It is for this reason that they
+ have been named APE, which is an acronym for `Ada
+ Program-Example'. The macros are of two kinds-global
+ macros and local macros. The global macros are visible
+ throughout the scope in which the input command has
+ been inserted. (4 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Comput. Sci., Stanford Univ., CA, USA",
+ classification = "C6140D (High level languages)",
+ keywords = "Ada Program-Example; APE; Format Ada programs; Global
+ macros; languages; Local macros; TEX; TeX macros",
+ subject = "D.2.3 Software, SOFTWARE ENGINEERING, Coding \\ D.3.2
+ Software, PROGRAMMING LANGUAGES, Language
+ Classifications, Ada",
+ thesaurus = "Ada; Macros",
+}
+
+@Book{Sawyer:1995:TPS,
+ author = "Stanley A. Sawyer and Steven Krantz",
+ title = "A {\TeX} Primer for Scientists",
+ publisher = pub-CRC,
+ address = pub-CRC:adr,
+ pages = "viii + 399",
+ year = "1995",
+ ISBN = "0-8493-7159-7",
+ ISBN-13 = "978-0-8493-7159-2",
+ bibdate = "Wed Jan 04 08:23:09 1995",
+ price = "US\$29.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Scavo:1993:TM,
+ author = "Tom Scavo and Yannis Haralambous and Werenfried Spit",
+ title = "{\TeX} on the Macintosh",
+ journal = j-NAMS,
+ volume = "40",
+ number = "10",
+ pages = "1353--1360",
+ month = dec,
+ year = "1993",
+ ISSN = "0002-9920",
+ bibdate = "Thu Dec 29 10:55:24 1994",
+ acknowledgement = ack-ps,
+}
+
+@InProceedings{Schaefer:2004:SSC,
+ author = "Frank-Rene Schaefer",
+ title = "{\c{S}}{\"a}fer{\TeX}: Source Code Esthetics for
+ Automated Typesetting",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "229--239",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Scherber:1994:OST,
+ author = "Peter Scherber",
+ title = "Offizin\emdash Schrift\-en\-reihe zu {\TeX}, {\LaTeX},
+ und Metafont (Band 1, Hrsg. von {DANTE} e.{V})",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "x + 159",
+ year = "1994",
+ ISBN = "3-89319-396-0",
+ ISBN-13 = "978-3-89319-396-7",
+ bibdate = "Sat Mar 07 09:53:36 1998",
+ price = "DM 49,00",
+ acknowledgement = ack-ps # " and " # ack-nhfb,
+}
+
+@Book{Schlager:2005:WLA,
+ author = "Petra Schlager and Manfred Thibud",
+ title = "{Wissenschaftlich mit \LaTeX{} arbeiten}. ({German})
+ [{Working} scientifically with {{\LaTeX}}]",
+ publisher = "Pearson Studium",
+ address = "Munich, Germany",
+ pages = "218",
+ year = "2005",
+ ISBN = "3-8273-7078-7",
+ ISBN-13 = "978-3-8273-7078-5",
+ LCCN = "????",
+ bibdate = "Tue Jun 21 18:20:31 2005",
+ note = "Includes CD-ROM.",
+ acknowledgement = ack-nhfb,
+ language = "German",
+}
+
+@Misc{Schrell:1993:DTS,
+ editor = "Andreas Schrell",
+ key = "Schrell:1993:DSW",
+ title = "{DANTE-\TeX}-Stammtisch in Wuppertal: Jahrbuch
+ 1992/93",
+ pages = "80",
+ year = "1993",
+ bibdate = "Tue Mar 1 12:09:25 1994",
+ acknowledgement = ack-rz,
+}
+
+@Article{Schrod:1991:IVM,
+ author = "Joachim Schrod",
+ title = "An International Version of {\em {MakeIndex}}",
+ journal = j-GUTENBERG,
+ volume = "10--11",
+ pages = "81--90",
+ month = sep,
+ year = "1991",
+}
+
+@Book{Schumann:1989:PBT,
+ author = "Lothar Schumann",
+ title = "{Professioneller Buchsatz mit \TeX}",
+ publisher = pub-OLDENBOURG,
+ address = pub-OLDENBOURG:adr,
+ pages = "viii + 336",
+ year = "1989",
+ ISBN = "3-486-21173-0",
+ ISBN-13 = "978-3-486-21173-3",
+ bibdate = "Sat Mar 7 09:55:30 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Schumann:1991:PBT,
+ author = "Lothar Schumann",
+ title = "{Professioneller Buchsatz mit \TeX: Lehrbuch f{\"u}r
+ Anwender}",
+ publisher = pub-OLDENBOURG,
+ address = pub-OLDENBOURG:adr,
+ pages = "viii + 336",
+ year = "1991",
+ ISBN = "3-486-21736-4",
+ ISBN-13 = "978-3-486-21736-0",
+ bibdate = "Sat Mar 07 09:55:49 1998",
+ acknowledgement = ack-ps,
+}
+
+@Book{Schwartz:1988:WYA,
+ author = "Laurens R. Schwartz",
+ title = "What You Aren't Supposed To Know About Writing And
+ Publishing: An Expos{/'e} of Editors, Agents,
+ Publishing Houses, and More \emdash An Insider's
+ Report",
+ publisher = pub-SP,
+ address = pub-SP:adr,
+ pages = "viii + 173",
+ year = "1988",
+ ISBN = "0-944007-02-3",
+ ISBN-13 = "978-0-944007-02-0",
+ LCCN = "KF300.Z9 S35 1988",
+ bibdate = "Tue Mar 1 12:58:57 1994",
+ acknowledgement = ack-jpl,
+ annote = "Satirical (gallows?) humor providing anecdotal insight
+ into the publishing world from someone who's had a lot
+ of different jobs in the trade. Down-to-earth
+ information and really funny.",
+}
+
+@Book{Schwartz:1992:LSS,
+ author = "Stefan Schwartz and Rudolf Potu{\v{c}}ek",
+ title = "{\LaTeX}\emdash {Satzkunst} statt {DTP}
+ ({\LaTeX}\emdash The Art of Typography rather than
+ {DTP})",
+ publisher = pub-VOGEL,
+ address = pub-VOGEL:adr,
+ pages = "106",
+ year = "1992",
+ ISBN = "3-8023-1178-7",
+ ISBN-13 = "978-3-8023-1178-9",
+ bibdate = "Sat Mar 07 09:56:40 1998",
+ price = "DM34.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Schwarz:1988:ET,
+ author = "Norbert Schwarz",
+ title = "Einf{\"u}hrung in {\TeX}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Second",
+ pages = "272",
+ year = "1988",
+ ISBN = "3-925118-97-7",
+ ISBN-13 = "978-3-925118-97-5",
+ bibdate = "Tue Mar 1 12:10:26 1994",
+ note = "Available in English translation,
+ \cite{Krieger:1990:IT}, and in Dutch translation,
+ \cite{Schwarz:1990:IT}.",
+ xxnote = "Duplicate ISBN with \cite{Schwarz:1991:ET}.",
+}
+
+@Book{Schwarz:1990:ET,
+ author = "Norbert Schwarz",
+ title = "Einf{\"u}hrung in {\TeX}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Second extended",
+ pages = "272",
+ year = "1990",
+ ISBN = "3-925118-97-7",
+ ISBN-13 = "978-3-925118-97-5",
+ bibdate = "Tue Mar 1 12:10:26 1994",
+ note = "Available in English translation,
+ \cite{Krieger:1990:IT}, and in Dutch translation,
+ \cite{Schwarz:1990:IT}.",
+ xxnote = "Duplicate ISBN with \cite{Schwarz:1991:ET}.",
+}
+
+@Book{Schwarz:1990:IT,
+ author = "Norbert Schwarz",
+ title = "{Inleiding \TeX}",
+ publisher = pub-AWE,
+ address = pub-AWE:adr,
+ pages = "282",
+ year = "1990",
+ ISBN = "90-6789-151-7",
+ ISBN-13 = "978-90-6789-151-6",
+ bibdate = "Wed Apr 19 10:42:24 1995",
+ note = "Dutch translation of \cite{Schwarz:1988:ET}. See also
+ the English translation, \cite{Krieger:1990:IT}.",
+}
+
+@Book{Schwarz:1991:ET,
+ author = "Norbert Schwarz",
+ title = "Einf{\"u}hrung in {\TeX}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Third",
+ pages = "336",
+ year = "1991",
+ ISBN = "3-925118-97-7",
+ ISBN-13 = "978-3-925118-97-5",
+ bibdate = "Tue Mar 1 12:10:26 1994",
+ note = "Available in English translation,
+ \cite{Krieger:1990:IT}, and in Dutch translation,
+ \cite{Schwarz:1990:IT}.",
+ xxnote = "Duplicate ISBN with \cite{Schwarz:1988:ET}.",
+}
+
+@Book{Schwarz:1997:TRF,
+ author = "Stefan Schwarz and Rudolf Potu{\v{c}}ek",
+ title = "Das {\TeX}ikon: Referenzhandbuch f{\"u}r {\TeX} und
+ {\LaTeX}",
+ publisher = pub-AW-LONGMAN,
+ address = pub-AW-LONGMAN:adr,
+ pages = "774",
+ year = "1997",
+ ISBN = "3-89319-690-0",
+ ISBN-13 = "978-3-89319-690-6",
+ LCCN = "",
+ bibdate = "Fri Jan 26 16:46:24 2001",
+ price = "DM 69,90",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Semenzato:1992:AAL,
+ author = "Luigi Semenzato and Edward Wang",
+ title = "Aleph: {A} Language for Typesetting",
+ crossref = "Vanoirbeek:1992:EPE",
+ pages = "65--75",
+ year = "1992",
+ bibdate = "Thu Dec 29 11:04:19 1994",
+ acknowledgement = ack-ps,
+}
+
+@Book{Seroul:1989:PLT,
+ author = "Raymond Seroul",
+ title = "Le petit Livre de {\TeX}",
+ publisher = pub-IE,
+ address = pub-IE:adr,
+ pages = "317",
+ year = "1989",
+ ISBN = "2-7296-0233-X",
+ ISBN-13 = "978-2-7296-0233-8",
+ bibdate = "Wed Jul 6 14:54:52 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Seroul:1991:BBT,
+ author = "Raymond Seroul and Silvio Levy",
+ title = "A Beginner's Book of {\TeX}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xii + 282",
+ year = "1991",
+ ISBN = "0-387-97562-4, 3-540-97562-4",
+ ISBN-13 = "978-0-387-97562-7, 978-3-540-97562-5",
+ LCCN = "Z253.4.T47 S47 1991",
+ bibdate = "Fri Jul 22 09:17:14 1994",
+ note = "This is a translation and adaption by Silvio Levy of
+ \cite{Seroul:1989:PLT}.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Sewell:1989:WPL,
+ author = "E. Wayne Sewell",
+ title = "Weaving a Program: Literate Programming in {\WEB}",
+ publisher = pub-VNR,
+ address = pub-VNR:adr,
+ pages = "xx + 556",
+ year = "1989",
+ ISBN = "0-442-31946-0",
+ ISBN-13 = "978-0-442-31946-5",
+ LCCN = "QA76.73.W24 S491 1989",
+ bibdate = "Mon Jul 25 11:32:59 1994",
+ price = "US\$34.95",
+ keywords = "algorithms; design; documentation; experimentation;
+ languages",
+ review = "ACM CR 9007-0537",
+ subject = "D.2.7 Software, SOFTWARE ENGINEERING, Distribution and
+ Maintenance, Documentation \\ I.7.1 Computing
+ Methodologies, TEXT PROCESSING, Text Editing, TeX \\
+ D.3.2 Software, PROGRAMMING LANGUAGES, Language
+ Classifications, Pascal \\ D.2.2 Software, SOFTWARE
+ ENGINEERING, Tools and Techniques, Top-down programming
+ \\ D.2.3 Software, SOFTWARE ENGINEERING, Coding, Pretty
+ printers \\ I.7.1 Computing Methodologies, TEXT
+ PROCESSING, Text Editing, WEB \\ D.2.7 Software,
+ SOFTWARE ENGINEERING, Distribution and Maintenance,
+ Portability",
+}
+
+@InCollection{Seybold:1982:DPS,
+ author = "J. W. Seybold",
+ title = "Document preparation systems and commercial
+ typesetting",
+ crossref = "Nievergelt:1982:DPS",
+ pages = "243--264",
+ year = "1982",
+ bibdate = "Mon Aug 22 14:25:31 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation; human factors; theory",
+ review = "ACM CR 40431",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Format and notation \\ I.7.2
+ Computing Methodologies, TEXT PROCESSING, Document
+ Preparation, Photocomposition",
+}
+
+@Article{Sherborne:1990:RGC,
+ author = "B. S. Sherborne and G. E. Stedman",
+ title = "Recursive generation of {Cartesian} angular momentum
+ coupling trees for {${\rm SO}(3)$}",
+ journal = j-COMP-PHYS-COMM,
+ volume = "59",
+ number = "2",
+ pages = "417--428",
+ month = jun,
+ year = "1990",
+ CODEN = "CPHCB",
+ ISSN = "0010-4655",
+ bibdate = "Fri Dec 18 11:10:49 1998",
+ abstract = "Two computer algorithms are evaluated for the
+ reduction of angular momentum coupling trees with
+ vector ($j=1$) terminals with a Cartesian choice of
+ basis as used in nonlinear optics. Rather than employ
+ advanced tensor algebra, both methods essentially
+ iterate in distinct ways the basic techniques of
+ angular momentum coupling. Turbo Pascal programs
+ implementing these algorithms are presented and
+ compared. The accompanying analysis integrates the
+ Cartesian tensor approach and the diagrammatic approach
+ to the solution of problems in nonlinear optics. The
+ programs generate {\TeX} files for the relevant angular
+ momentum diagrams. (13 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Phys., Canterbury Univ., Christchurch, New
+ Zealand",
+ classification = "A0210 (Algebra, set theory, and graph theory); A0220
+ (Group theory); A0270 (Computational techniques); A4265
+ (Nonlinear optics); C7320 (Physics and Chemistry)",
+ keywords = "Cartesian angular momentum coupling trees; Computer
+ algorithms; Diagrammatic approach; Nonlinear optics;
+ Recursive generation; SO(3); Tensor approach; TeX
+ files; Turbo Pascal programs; Vector",
+ thesaurus = "Angular momentum theory; Microcomputer applications;
+ Nonlinear optics; Physics computing; SO groups;
+ Software packages; Tensors; Trees [mathematics];
+ Vectors",
+}
+
+@Book{Shirokov:1994:PPS,
+ author = "Boris Shirokov",
+ title = "{PC}{\TeX}. Prostoi sposob iziaschnogo oformleniia
+ mathematicheskikh tekstov: uchebnoe posobie \toenglish
+ {PC{\TeX}}. {Simple} method of elegant markup of
+ mathematical texts: textbook \endtoenglish",
+ publisher = "Petrozavodsk State University",
+ address = "Petrozavodsk, Russia",
+ pages = "80",
+ year = "1994",
+ ISBN = "5-230-08971-7",
+ ISBN-13 = "978-5-230-08971-1",
+ bibdate = "Wed Jan 04 08:16:39 1995",
+ note = "This small manual talks about working with {\TeX} on
+ IBM PC compatible computers (not about PC{\TeX}!).",
+ acknowledgement = ack-ps,
+}
+
+@Book{Shultis:1994:LNP,
+ author = "J. Kenneth Shultis",
+ title = "{\LaTeX} Notes: Practical Tips for Preparing Technical
+ Documents",
+ publisher = pub-PHPTR,
+ address = pub-PHPTR:adr,
+ pages = "xi + 180",
+ year = "1994",
+ ISBN = "0-13-120973-6",
+ ISBN-13 = "978-0-13-120973-2",
+ LCCN = "Z253.4.L38 S48 1994",
+ bibdate = "Thu May 12 08:36:58 1994",
+ price = "US\$32.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Siebenmann:1986:TWU,
+ author = "L. C. Siebenmann",
+ title = "Toward {Wider Use} of {\TeX Typesetting}. {A}
+ {Pre}--{\TeX Manifesto}",
+ journal = j-NAMS,
+ volume = "33",
+ number = "4",
+ pages = "597--607",
+ month = aug,
+ year = "1986",
+ ISSN = "0002-9920",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Siebenmann:1992:CGR,
+ author = "Laurent Siebenmann",
+ title = "{CaesarCM} --- {A} gentle road to perfect hyphenation
+ in modest {\TeX} environments",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "97--106",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Siebenmann:1992:LM,
+ author = "Laurent Siebenmann",
+ title = "The Lion and the Mouse",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "43--52",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Siebenmann:1992:MAD,
+ author = "Laurent Siebenmann",
+ title = "La mise en application d{\'e}finitive de la norme de
+ {Cork}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "107--118",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Siegel:1985:EPA,
+ author = "David R. Siegel",
+ title = "The {Euler Project} at {Stanford}",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ year = "1985",
+ bibdate = "Sat Feb 10 15:01:16 1996",
+}
+
+@Book{Siemoneit:1989:TG,
+ author = "Manfred Siemoneit",
+ title = "{Typographisches Gestalten}",
+ publisher = pub-POLYGRAPH,
+ address = pub-POLYGRAPH:adr,
+ edition = "Second",
+ year = "1989",
+ bibdate = "Tue Mar 1 12:59:34 1994",
+ acknowledgement = ack-fm,
+ annote = "An excellent book on typographic design. Covers almost
+ all principles of high quality typography. (Written in
+ German.)",
+ keywords = "layout, typography, design",
+}
+
+@Book{Simon:1987:SCO,
+ author = "John J. {Simon, Jr.}",
+ title = "From sand to circuits and other inquiries",
+ publisher = pub-HARVARD-INFO-TECH,
+ address = pub-HARVARD-INFO-TECH:adr,
+ pages = "xi + 271",
+ year = "1987",
+ ISBN = "0-674-32575-3",
+ ISBN-13 = "978-0-674-32575-3",
+ LCCN = "QA76.24 .F76 1986, T185.F76 1986, TK7828 .S48 1986",
+ bibdate = "Mon Jul 25 11:57:30 1994",
+ note = "Includes chapter on computer typesetting.",
+ price = "US\$24.95",
+ acknowledgement = ack-nhfb,
+ keywords = "design; human factors",
+ review = "ACM CR 8708-0653",
+ subject = "K.2 Computing Milieux, HISTORY OF COMPUTING, Hardware
+ \\ K.2 Computing Milieux, HISTORY OF COMPUTING \\ K.2
+ Computing Milieux, HISTORY OF COMPUTING, Systems",
+}
+
+@Book{Skillin:1974:WT,
+ author = "Marjorie E. Skillin and Robert Malcolm Gay",
+ title = "Words into Type",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ edition = "Third",
+ pages = "xx + 583",
+ year = "1974",
+ ISBN = "0-13-964262-5",
+ ISBN-13 = "978-0-13-964262-3",
+ LCCN = "PN160.S52 1974",
+ bibdate = "Sun Mar 6 17:34:11 1994",
+ price = "US\$39.95",
+ acknowledgement = ack-jpl,
+}
+
+@InProceedings{Smith:1989:CLF,
+ author = "N. E. Smith",
+ title = "Coping with a large {Forth} system",
+ crossref = "Forsley:1989:RFC",
+ pages = "113--115",
+ year = "1989",
+ bibdate = "Fri Feb 09 18:09:45 1996",
+ abstract = "The PUBlicationS (PUBS) Software System extracts
+ bibliographic data from the DOE Energy Data Base and
+ automatically inserts typesetting commands so no manual
+ intervention is necessary before typesetting a
+ publication using {\TeX}. This system processes about
+ 40 DOE publications of four major classes. PUBS
+ contains over 30,000 lines of code in 150+modules. This
+ paper addresses how SAIC programmers cope with a Forth
+ system of this size. The conditional compilation
+ approach used is described. (0 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Sci. Applications Int. Corp., Oak Ridge, TN, USA",
+ classification = "C6110 (Systems analysis and programming); C6150C
+ (Compilers, interpreters and other processors); C7230
+ (Publishing and reproduction)",
+ keywords = "Bibliographic data; Conditional compilation; DOE
+ Energy Data Base; DOE publications; Large Forth system;
+ SAIC programmers; TeX; Typesetting commands",
+ language = "English",
+ pubcountry = "USA",
+ thesaurus = "Program compilers; Publishing; Text editing",
+}
+
+@InProceedings{Smith:1990:PCS,
+ author = "N. E. Smith",
+ booktitle = "1990 Rochester Forth Conference: Embedded Systems",
+ title = "Parsing character strings in {Forth}",
+ publisher = inst-APPL-FORTH-RES,
+ address = inst-APPL-FORTH-RES:adr,
+ pages = "133--134",
+ month = "",
+ year = "1990",
+ ISBN = "0-914593-10-2",
+ ISBN-13 = "978-0-914593-10-2",
+ LCCN = "QA76.73.F24 R59 1990",
+ bibdate = "Sat Sep 17 11:20:21 1994",
+ abstract = "Forth is well suited to parsing character strings. The
+ paper discusses the Forth program developed to
+ translate human understandable special character
+ representations in the database into {\TeX} commands
+ for typesetting. This program is part of the
+ Publications (PUBS) Software System at the DOE Office
+ of Scientific and Technical Information which is used
+ to generate approximately 40 DOE bibliographic
+ publications. Special characters include math and Greek
+ symbols which are not part of the ASCII character set.
+ An alpha is represented as (Alpha) in the database, but
+ must be translated for typesetting with {\TeX}.
+ Characters and symbols can be sub/superscripted to form
+ equations such as H(sub 2)O to typeset $H_2O$. Symbol
+ nesting is supported. (0 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Sci. Applications Int. Corp., Oak Ridge, TN, USA",
+ bookpages = "ix + 176",
+ classification = "C6130 (Data handling techniques)",
+ confdate = "12--16 June 1990",
+ conflocation = "Rochester, NY, USA",
+ confsponsor = "Harris Semicond.; Miller Microcomput. Services; NASA;
+ et al",
+ keywords = "Forth program; Greek symbols; Human understandable
+ special character representations; Mathematical
+ symbols; Maths symbols; Parameter stack; Publications;
+ Substring parsing; TeX commands; TSPECIAL",
+ language = "English",
+ pubcountry = "USA",
+ thesaurus = "Character sets; Computer controlled typesetting; Data
+ handling",
+}
+
+@Article{Smith:1991:ABL,
+ author = "Lisa M. C. Smith and Mansur H. Samadzadeh",
+ title = "An Annotated Bibliography of Literate Programming",
+ journal = j-SIGPLAN,
+ volume = "26",
+ pages = "14--20",
+ month = jan,
+ year = "1991",
+ CODEN = "SINOD",
+ ISSN = "0362-1340",
+}
+
+@Book{Snow:1992:TB,
+ author = "Wynter Snow",
+ title = "{\TeX} for the Beginner",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 377",
+ year = "1992",
+ ISBN = "0-201-54799-6",
+ ISBN-13 = "978-0-201-54799-3",
+ LCCN = "Z253.4.T47 S64 1992",
+ bibdate = "Fri Jul 22 09:18:21 1994",
+ acknowledgement = ack-bnb,
+}
+
+@InProceedings{Soiffer:1995:MTM,
+ author = "N. Soiffer",
+ title = "Mathematical Typesetting in {Mathematica}",
+ crossref = "Levelt:1995:IPI",
+ pages = "140--149",
+ year = "1995",
+ bibdate = "Mon Apr 8 10:31:32 MDT 1996",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Sojka:1992:TDP,
+ author = "Petr Sojka and Rudolf \v{C}ervenka and Martin
+ Svoboda",
+ title = "{\TeX} for database publishing",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "53--58",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Southall:1985:DNT,
+ author = "Richard Southall",
+ title = "Designing New Typefaces with {Metafont}",
+ number = "STAN-CS-85-1074",
+ institution = inst-STANFORD,
+ address = inst-STANFORD:adr,
+ month = sep,
+ year = "1985",
+ bibdate = "Sat Feb 10 15:01:18 1996",
+}
+
+@InProceedings{Southall:1985:MPD,
+ author = "Richard Southall",
+ title = "{\METAFONT} and the problem of type design",
+ crossref = "Andre:1985:TIJ",
+ pages = "133--145",
+ year = "1985",
+ bibdate = "Tue Mar 1 12:57:09 1994",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Southall:1992:PRR,
+ author = "Richard Southall",
+ title = "Presentation Rules and Rules of Composition in the
+ Formatting of Complex Text",
+ crossref = "Vanoirbeek:1992:EPE",
+ pages = "275--290",
+ year = "1992",
+ bibdate = "Thu Dec 29 11:04:20 1994",
+ acknowledgement = ack-ps,
+}
+
+@Book{Sowa:1994:TLG,
+ author = "Friedhelm Sowa",
+ title = "{{\TeX\slash \LaTeX} und Graphik: Eine {\"U}berblick
+ {\"u}ber die Verfahren \toenglish {\TeX}/{\LaTeX} and
+ Graphics: A Survey of the Methods \endtoenglish}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xv + 115",
+ year = "1994",
+ ISBN = "3-540-56468-3",
+ ISBN-13 = "978-3-540-56468-3",
+ bibdate = "Sat Mar 07 18:56:54 1998",
+ price = "DM39.00",
+ acknowledgement = ack-rz,
+}
+
+@Book{Spivak:1980:JTG,
+ author = "M. Spivak",
+ title = "The Joy of {TEX}: {A} Gourmet Guide to Typesetting
+ Technical Text by Computer: With Numerous Explicit
+ Illustrations (Version 1)",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ pages = "134",
+ year = "1980",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ price = "US\$9.00",
+ acknowledgement = ack-nhfb,
+ subject = "H.1 Information Systems, MODELS AND PRINCIPLES,
+ Miscellaneous \\ H.4 Information Systems, INFORMATION
+ SYSTEMS APPLICATIONS, Miscellaneous",
+}
+
+@Manual{Spivak:1985:PM,
+ author = "Michael D. Spivak",
+ title = "{PC\TeX} Manual",
+ publisher = pub-PTI,
+ address = pub-PTI:adr,
+ year = "1985",
+}
+
+@Book{Spivak:1986:JTG,
+ author = "Michael D. Spivak",
+ title = "The Joy of {\TeX}\emdash {A} Gourmet Guide to
+ Typesetting with the {\AMSTEX} macro package",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ pages = "xviii + 290",
+ year = "1986",
+ ISBN = "0-8218-2999-8",
+ ISBN-13 = "978-0-8218-2999-8",
+ LCCN = "Z253.4.T47 S6731 1986",
+ bibdate = "Wed Dec 15 10:41:57 1993",
+}
+
+@Manual{Spivak:1986:MPT,
+ author = "Michael D. Spivak",
+ title = "Manual ``{PC\TeX}'' ou {\TeX} en 9~le{\c{c}}ons",
+ publisher = inst-CIRCE,
+ address = inst-CIRCE:adr,
+ year = "1986",
+ note = "French translation of \cite{Spivak:1985:PM}.",
+}
+
+@Book{Spivak:1989:LS,
+ author = "Michael D. Spivak",
+ title = "{L\AMSTEX}, The Synthesis",
+ publisher = pub-TEXPLORATORS,
+ address = pub-TEXPLORATORS:adr,
+ pages = "viii + 289",
+ year = "1989",
+ bibdate = "Sat Mar 12 18:20:15 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Spivak:1990:JTG,
+ author = "Michael D. Spivak",
+ title = "The Joy of {\TeX}\emdash {A} Gourmet Guide to
+ Typesetting with the {\AmSTeX} macro package",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ edition = "2nd revised",
+ pages = "xxii + 309",
+ year = "1990",
+ ISBN = "0-8218-2997-1",
+ ISBN-13 = "978-0-8218-2997-4",
+ LCCN = "Z253.4.T47 S6731 1990",
+ bibdate = "Wed Jul 6 13:55:42 1994",
+ price = "US\$40.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Spivak:1991:LWM,
+ author = "Michael D. Spivak",
+ title = "The {\LAMSTeX} Wizard's Manual",
+ publisher = pub-TEXPLORATORS,
+ address = pub-TEXPLORATORS:adr,
+ year = "1991",
+ bibdate = "Tue Mar 15 19:13:42 1994",
+}
+
+@Book{Spivak:1993:VT,
+ author = "Michael D. Spivak",
+ title = "Voskhititel'nii {\TeX} \toenglish {Joy} of {\TeX}
+ \endtoenglish",
+ publisher = pub-MIR,
+ address = pub-MIR:adr,
+ pages = "285",
+ year = "1993",
+ ISBN = "5-03-001942-1",
+ ISBN-13 = "978-5-03-001942-0",
+ bibdate = "Wed Dec 28 09:18:07 1994",
+ note = "Russian translation of {\em The Joy of {\TeX}}.
+ Translated by Irina Makhovaya and edited by Andrei
+ Khodulev. First book about {\TeX} in Russian. First
+ press run: 7000 copies.",
+ acknowledgement = ack-ps,
+}
+
+@Book{Srinivasan:1993:UDP,
+ author = "Balasubramaniam Srinivasan",
+ title = "{UNIX} Document Processing and Typesetting",
+ publisher = pub-WORLD-SCI,
+ address = pub-WORLD-SCI:adr,
+ pages = "xiv + 445",
+ year = "1993",
+ ISBN = "981-02-0605-4",
+ ISBN-13 = "978-981-02-0605-5",
+ LCCN = "Z52.5.U54S65 1993",
+ bibdate = "Wed Aug 10 12:23:20 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Steemers:1989:JSG,
+ author = "L. Steemers and C. G. van der Laan",
+ title = "Journal Style Guidelines",
+ type = "RC-Rapport",
+ number = "26",
+ institution = "Rekencentrum der Rijksuniversiteit te Groningen",
+ address = "Groningen, The Netherlands",
+ year = "1989",
+ bibdate = "Tue Mar 1 12:54:27 1994",
+}
+
+@Article{Steen:1981:TTE,
+ author = "Lynn Arthur Steen",
+ title = "Technical Text Editing",
+ journal = j-UMAP,
+ volume = "2",
+ number = "3",
+ pages = "17--35",
+ year = "1981",
+ bibdate = "Tue Dec 14 11:11:12 1993",
+ acknowledgement = ack-ps,
+}
+
+@InProceedings{Stoffels:1992:APS,
+ author = "J. Stoffels and C. van Reeuwijk",
+ title = "Ampdes: a program for the synthesis of
+ high-performance amplifiers",
+ crossref = "IEEE:1992:PEC",
+ pages = "474--479",
+ year = "1992",
+ bibdate = "Sat Sep 17 11:20:23 1994",
+ abstract = "A circuit synthesis program for high-performance
+ small-signal amplifiers, called Ampdes is described.
+ The synthesis can be done with minimal interaction from
+ the user: only the essential information must be given,
+ and the program will produce a Spice net list and a
+ {\TeX} design report. For a typical design, this takes
+ 30 minutes on a mini-computer. Unlike other synthesis
+ programs, it searches in an extremely large set of
+ possible circuits (over 1,000,000 configurations), and
+ is not restricted to one device technology. To ensure a
+ high rate of success in the designs, it uses
+ mathematically sound search rules instead of heuristic
+ ones, and accurate approximations of the circuit
+ behavior. These features require considerable
+ computational effort, and therefore it is necessary to
+ use a refined search strategy to reduce the time for a
+ design run. This strategy is also described. (13
+ Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Fac. of Electr. Eng., Delft Univ. of Technol.,
+ Netherlands",
+ classification = "B1130B (Computer-aided circuit analysis and design);
+ B1220 (Amplifiers); C7410D (Electronic engineering)",
+ confdate = "16--19 March 1992",
+ conflocation = "Brussels, Belgium",
+ confsponsor = "IEEE; EDAC Assoc.; Alcatel Bell; CAVE (CEC); Dept.
+ Trade. Ind. UK; Esprit; Hewlett Packard; IBM",
+ keywords = "Accurate approximations; Ampdes; Circuit behavior;
+ Circuit synthesis program; Computational effort; Device
+ technology; High-performance small-signal amplifiers;
+ Mathematically sound search rules; Refined search
+ strategy; Spice net list; TeX design report",
+ thesaurus = "Amplifiers; Circuit analysis computing; SPICE",
+}
+
+@Article{Stone:1992:CAR,
+ author = "Harold S. Stone",
+ title = "Copyrights and Author Responsibilities",
+ journal = j-COMPUTER,
+ volume = "25",
+ number = "12",
+ pages = "46--51",
+ month = dec,
+ year = "1992",
+ CODEN = "CPTRB",
+ ISSN = "0018-9162",
+ bibdate = "Sat Sep 10 12:51:19 1994",
+ note = "This paper discusses U.S. copyright law and its
+ implications for the reuse of published text.
+ Guidelines are given for the citation and quoting of
+ such material.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Sutton:1990:TB,
+ author = "James Sutton and Alan Bartram",
+ title = "Typefaces for Books",
+ publisher = pub-BL # " and " # pub-NAB,
+ address = pub-BL:adr # " and " # pub-NAB:adr,
+ pages = "288",
+ year = "1990",
+ ISBN = "1-56131-016-6, 1-56131-017-4 (paperback)",
+ ISBN-13 = "978-1-56131-016-6, 978-1-56131-017-3 (paperback)",
+ LCCN = "Z250 .S896 1990",
+ bibdate = "Fri Jul 22 09:19:06 1994",
+ note = "Contains full-page type samples in a variety of point
+ sizes for a large number of typefaces.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Swanson:1986:MTC,
+ author = "Ellen Swanson",
+ title = "Mathematics into Type; Copy Editing and Proofreading
+ of Mathematics for Editorial Assistants and Authors",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ edition = "Revised",
+ pages = "x + 90",
+ year = "1986",
+ ISBN = "0-8218-0053-1",
+ ISBN-13 = "978-0-8218-0053-9",
+ LCCN = "T11.4.S96 1979",
+ bibdate = "Fri Jul 22 09:19:41 1994",
+ acknowledgement = ack-fm,
+}
+
+@Book{Syropoulos:2003:DTU,
+ author = "Apostolos Syropoulos and Antonis Tsolomitis and Nick
+ Sofroniou",
+ title = "Digital typography using {\LaTeX}",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xxix + 510",
+ year = "2003",
+ ISBN = "0-387-95217-9",
+ ISBN-13 = "978-0-387-95217-8",
+ LCCN = "Z253.4.L38 S97 2003",
+ bibdate = "Thu Mar 13 18:17:25 2003",
+ acknowledgement = ack-nhfb,
+ annote = "Seems to have been published in Europe with same ISBN,
+ but different title: From \LaTeX{} to $\Lambda$: An
+ Introduction to Digital Typography",
+ keywords = "Lambda; Omega; Unicode",
+}
+
+@TechReport{Tang:1981:PIC,
+ author = "Chih-sung Tang",
+ title = "On the Problem of Inputting {Chinese} Characters",
+ type = "Report",
+ number = "STAN-CS-81-848",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1981",
+ bibdate = "Sat Feb 10 15:01:20 1996",
+ acknowledgement = ack-hk,
+}
+
+@Article{Tatarkiewicz:1988:TLD,
+ author = "Jakub Tatarkiewicz",
+ title = "{\TeX}nika {\L}adnego Druku",
+ journal = j-COMPUTER,
+ volume = "8",
+ pages = "36--37",
+ year = "1988",
+ CODEN = "CPTRB",
+ ISSN = "0018-9162",
+ note = "In Polish.",
+}
+
+@InProceedings{Taupin:1992:MUT,
+ author = "Daniel Taupin",
+ title = "{Music\TeX}: using {\TeX} to write polyphonic or
+ instrumental music",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "257--272",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ note = "Invited talk.",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Taylor:1992:FT,
+ author = "Phillip Taylor",
+ title = "The future of {\TeX}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "235--254",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Teo:1988:UVS,
+ author = "G. S. Teo and M. {Mac an Airchinnigh}",
+ title = "The use of {VDM} in the specification of {Chinese}
+ characters",
+ crossref = "Bloomfield:1988:VVW",
+ pages = "476--499",
+ year = "1988",
+ bibdate = "Mon Oct 24 12:49:04 1994",
+ abstract = "The VDM Meta-IV is an important bridge that joins
+ application domain with implementation. The importance
+ and centrality of the Meta-IV specification language in
+ providing a `standard' framework for analysis and
+ design is highlighted. In addressing the usefulness of
+ the Meta-IV in the specification, design and
+ implementation of graphical icons for a general purpose
+ user interface management system, the authors chose to
+ focus on the domain of Chinese characters-ideograms
+ which have many characteristics in common with
+ graphical icons. Two different (conceptual) models were
+ developed. The first considered the ideogram as a stack
+ of transparencies. The second viewed it as the modular
+ composition of basic mathematical/graphical entities.
+ Specifications of both models in the Meta-IV were
+ developed and the declarative graphical programming
+ language METAFONT was used in the implementation. To
+ facilitate an appropriate entry level into learning and
+ using METAFONT for the task in hand, the VDM Meta-IV
+ was used to provide an abstract model of the language.
+ The results reported indicate that use of the VDM
+ Meta-IV as an expression of a common semantic base was
+ a success. (9 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Dept. of Computer Science, Trinity College, Dublin,
+ Ireland",
+ classification = "C6110B (Software engineering techniques); C6120
+ (File organisation); C6130B (Graphics techniques);
+ C6180 (User interfaces)",
+ confdate = "11--16 Sept. 1988",
+ conflocation = "Dublin, Ireland",
+ confsponsor = "Comm. Eur. Communities",
+ keywords = "Abstract model; Chinese characters; Common semantic
+ base; Data structures; Declarative graphical
+ programming language; Formal specification; Graphical
+ icons; Ideograms; METAFONT; Modular composition;
+ Specification language; User interface management
+ system; VDM; VDM Meta-IV; Vienna Development Method",
+ language = "English",
+ pubcountry = "West Germany",
+ thesaurus = "Character sets; Computer graphics; Data structures;
+ Formal specification; Specification languages; User
+ interfaces",
+}
+
+@Misc{TEXEURO:1989:TE,
+ key = "TEXEURO",
+ title = "{\TeX}-Euro",
+ year = "1989" # "\unskip--",
+ bibdate = "Tue Mar 1 13:00:22 1994",
+ note = "This is an unmoderated discussion list for {\TeX} with
+ emphasis on European issues. To subscribe, send a
+ request with the text {\tt subscribe tex-euro} to
+ \path|listserv@dhdurz1.bitnet|.",
+}
+
+@Misc{TEXHAX:1987:T,
+ key = "TEXHAX",
+ title = j-TEXHAX,
+ year = "1987" # "\unskip--",
+ note = "This is a TUG-supported moderated electronic mailing
+ list. To subscribe, send a request to
+ \path|texhax-request@june.cs.washington.edu|.",
+}
+
+@Misc{TEXMAG:1988:T,
+ key = "TEXMAG",
+ title = "{\TeX}mag",
+ year = "1988" # "\unskip--",
+ bibdate = "Tue Mar 1 12:11:24 1994",
+ note = "This is an electronic magazine with articles about
+ {\TeX}. To subscribe, send a request with the text {\tt
+ subscribe texmag-l} to \path|listserv@vm.byu.edu|.",
+}
+
+@InProceedings{Thimbleby:1991:LTT,
+ author = "H. Thimbleby",
+ booktitle = "Proceedings of the Fourth Annual Conference on
+ Computers and the Writing Process",
+ title = "Low-tech {\TeX}? (typesetting program)",
+ publisher = "Univ. Sussex",
+ address = "Brighton, UK",
+ pages = "124--130",
+ month = "",
+ year = "1991",
+ bibdate = "Sat Sep 17 11:20:26 1994",
+ abstract = "The author recounts his experience of using {\TeX} for
+ hundreds of pages (each many times). {\TeX} is a widely
+ and freely distributed high quality typesetting
+ program. It reads a markup language in standard ASCII
+ text, and therefore documents are easily transferred
+ from machine to machine. The author reviews the
+ advantages and disadvantages of using {\TeX} for book
+ publishing. (13 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Stirling Univ., UK",
+ bookpages = "v + 247",
+ classification = "C7108 (Desktop publishing); C7230 (Publishing and
+ reproduction)",
+ confdate = "22--23 March 1991",
+ conflocation = "Brighton, UK",
+ keywords = "Book publishing; Markup language; Standard ASCII text;
+ TeX; Typesetting program",
+ thesaurus = "Computer controlled typesetting; Desktop publishing",
+}
+
+@Booklet{Tobin:1985:EMS,
+ author = "Georgia K. M. Tobin",
+ title = "The Elements of {Metafont} Style",
+ year = "1985",
+}
+
+@Article{Trickey:1988:UL,
+ author = "Howard Trickey",
+ title = "Using {\LaTeX}",
+ journal = j-SIGACT,
+ volume = "19",
+ number = "2",
+ pages = "55--57",
+ month = "Summer",
+ year = "1988",
+ bibdate = "Thu Jul 21 22:42:07 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Tschichold:1928:NTH,
+ author = "Jan Tschichold",
+ title = "Die neue Typographie: ein Handbuch f{\"u}r
+ zeitgem{\"a}ss Schaffende",
+ publisher = "Verl. das Bildungsverbandes der Deutschen
+ Buchdrucker",
+ address = "Berlin, Germany",
+ pages = "240",
+ year = "1928",
+ bibdate = "Sat Mar 07 10:08:59 1998",
+ acknowledgement = ack-nhfb,
+ xxISBN = "none",
+ xxLCCN = "",
+}
+
+@Book{Tschichold:1986:TMS,
+ author = "Jan Tschichold",
+ title = "{Typographische Mitteilungen, Sonderheft Elementare
+ Typographie}",
+ publisher = pub-HSCHV,
+ address = pub-HSCHV:adr,
+ pages = "36",
+ year = "1986",
+ ISBN = "3-87439-233-3",
+ ISBN-13 = "978-3-87439-233-4",
+ price = "DM 24",
+ acknowledgement = ack-fm,
+ history = "Reprint of the special edition ``elementare
+ typographie'' of the october issue of Typographische
+ Mitteilungen 1925.",
+ inprint = "yes",
+}
+
+@Book{Tschichold:1987:AAF,
+ author = "Jan Tschichold",
+ title = "{Ausgew\"ahlte Aufs\"atze \"uber Fragen der Gestalt
+ des Buches}",
+ publisher = pub-BIRKHAUSER,
+ address = pub-BIRKHAUSER:adr,
+ year = "1987",
+ ISBN = "3-7643-1946-1",
+ ISBN-13 = "978-3-7643-1946-5",
+ bibdate = "Sat Mar 7 10:05:07 1998",
+ note = "Second printing",
+ acknowledgement = ack-fm # " and " # ack-nhfb,
+ annote = "A set of interesting articles about typography
+ issues.",
+ keywords = "typography, layout, design",
+}
+
+@Book{Tschichold:1991:FB,
+ author = "Jan Tschichold",
+ editor = "Robert Bringhurst",
+ title = "The Form of the Book",
+ publisher = pub-LUND-HUMPHRIES,
+ address = pub-LUND-HUMPHRIES:adr,
+ pages = "xviii + 180",
+ year = "1991",
+ ISBN = "0-85331-623-6",
+ ISBN-13 = "978-0-85331-623-7",
+ LCCN = "Z116.A3 T7613 1991b",
+ bibdate = "Fri Jul 22 09:20:17 1994",
+ note = "Originally published in German as Ausgew{\"a}hlte
+ Ausfs{\"a}tze {\"u}ber Fragen der Gestalt des Buches
+ und der Typographie by Birkh{\"a}user Verlag, Basel,
+ 1975",
+ price = "UK\pounds 18.95",
+ acknowledgement = ack-mc,
+ subtitle = "Essays on the Morality of Good Design",
+ translator = "Hajo Hadeler",
+}
+
+@Book{Tschichold:1991:NT,
+ author = "Jan Tschichold",
+ title = "{Die Neue Typographie}",
+ publisher = pub-HSCHV,
+ address = pub-HSCHV:adr,
+ pages = "240",
+ year = "1991",
+ bibdate = "Sat Feb 24 09:56:32 1996",
+ price = "DM60",
+ acknowledgement = ack-fm # " and " # ack-nhfb,
+ bibliography = "yes",
+ history = "Reprint of the first edition from 1928
+ \cite{Tschichold:1928:NTH} with supplement containing
+ articles about the history of books by Werner Doede,
+ Jan Tschichold and Gerd Fleischman",
+ inprint = "yes",
+ subtitle = "{Ein Handbuch f{\"u}r zeitgem{\"a}{\ss} Schaffende}",
+}
+
+@Book{Tschichold:1995:NTHa,
+ author = "Jan Tschichold",
+ title = "Die neue Typographie: ein Handbuch f{\"u}r
+ zeitgem{\"a}ss Schaffende",
+ publisher = pub-BRINKMANN-BOSE,
+ address = pub-BRINKMANN-BOSE:adr,
+ edition = "Second",
+ pages = "240",
+ year = "1995",
+ ISBN = "3-922660-23-1",
+ ISBN-13 = "978-3-922660-23-1",
+ LCCN = "",
+ bibdate = "Sat Mar 07 10:06:33 1998",
+ price = "DM 80,00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Tschichold:1995:NTHb,
+ author = "Jan Tschichold",
+ title = "The new typography: a handbook for modern designers",
+ volume = "8",
+ publisher = pub-U-CAL-PRESS,
+ address = pub-U-CAL-PRESS:adr,
+ pages = "xliv + 236",
+ year = "1995",
+ ISBN = "0-520-07146-8",
+ ISBN-13 = "978-0-520-07146-9",
+ LCCN = "Z116.T7513 1995",
+ bibdate = "Sat Mar 07 10:11:35 1998",
+ note = "Translated from the original German editions
+ \cite{Tschichold:1928:NTH,Tschichold:1995:NTHa} by
+ Ruari McLean. With an introduction by Robin Kinross.",
+ series = "Weimar and now",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Tschichold:1995:TAL,
+ author = "Jan Tschichold",
+ title = "Treasury of Alphabets and Lettering: {A} Source Book
+ of the Best Letter Forms of Past and Present for Sign
+ Painters, Graphic Artists, Commercial Artists,
+ Typographers, Printers, Sculptors, Architects, and
+ Schools of Art and Design",
+ publisher = pub-NORTON,
+ address = pub-NORTON:adr,
+ pages = "236",
+ year = "1995",
+ ISBN = "0-393-70197-2",
+ ISBN-13 = "978-0-393-70197-5",
+ LCCN = "Z250 .T883 1995",
+ bibdate = "Fri Jun 23 17:25:36 1995",
+ note = "This is identical to the 1966 edition, with a new
+ introduction by Ben Rosen.",
+ price = "US\$35.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Tufte:1983:VDQ,
+ author = "Edward R. Tufte",
+ title = "The Visual Display of Quantitative Information",
+ publisher = pub-GP,
+ address = pub-GP:adr,
+ pages = "197",
+ year = "1983",
+ ISBN = "0-9613921-0-X",
+ ISBN-13 = "978-0-9613921-0-9",
+ LCCN = "QA90 .T83 1983",
+ bibdate = "Fri Jul 22 09:21:51 1994",
+ price = "US\$34.00",
+}
+
+@Book{Tufte:1990:EI,
+ author = "Edward R. Tufte",
+ title = "Envisioning Information",
+ publisher = pub-GP,
+ address = pub-GP:adr,
+ pages = "126",
+ year = "1990",
+ LCCN = "QA90 .T82 1990",
+ bibdate = "Fri Jul 22 09:22:34 1994",
+ price = "US\$48.00",
+}
+
+@Article{Tuthill:1983:TUS,
+ author = "B. Tuthill",
+ title = "Typesetting on the {UNIX} system",
+ journal = j-BYTE,
+ volume = "8",
+ number = "19",
+ pages = "253--265",
+ month = oct,
+ year = "1983",
+ CODEN = "BYTEDJ",
+ ISSN = "0360-5280",
+ bibdate = "Fri Feb 09 18:10:41 1996",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; human factors",
+ subject = "K Computing Milieux, PERSONAL COMPUTING \\ D.4.7
+ Software, OPERATING SYSTEMS, Organization and Design,
+ UNIX \\ D.4.0 Software, OPERATING SYSTEMS, General,
+ UNIX \\ D.4.m Computing Methodologies, TEXT PROCESSING,
+ Miscellaneous \\ I.7",
+}
+
+@Book{Tymms:1987:AI,
+ author = "W. R. Tymms and M. D. Wyatt",
+ title = "The Art of Illuminating",
+ publisher = pub-CHARTWELL,
+ address = pub-CHARTWELL:adr,
+ pages = "104",
+ year = "1987",
+ ISBN = "1-55521-198-4",
+ ISBN-13 = "978-1-55521-198-1",
+ LCCN = "ND3310 .T95 1987",
+ bibdate = "Fri Jul 22 09:23:54 1994",
+}
+
+@Article{Udell:1989:PPI,
+ author = "J. Udell",
+ title = "The power of the press (Interleaf's {TE}chnical
+ Publishing Software)",
+ journal = j-BYTE,
+ volume = "14",
+ number = "12",
+ pages = "271--276",
+ month = nov,
+ year = "1989",
+ CODEN = "BYTED",
+ ISSN = "0360-5280",
+ bibdate = "Thu Sep 01 00:44:12 1994",
+ abstract = "Interleaf's Technical Publishing Software (TPS) blends
+ two styles of computer-based publishing. The first,
+ represented by troff and {\TeX} is stream-oriented and
+ works with a global description of a document's for
+ mat. The second (and newer) style, best exemplified by
+ PageMaker, works in a WYSIWYG mode with individual
+ pages. TPS's union of the two styles is, for the most
+ part, a happy one that has made it one of the most
+ interesting desktop publishing packages around. The
+ latest version, release 4.0 enhances both halves of
+ TPS's personality. The author reviews the use of TPS on
+ a Sun workstation, assessing its style, structure, and
+ content; its graphics capabilities; layout problems;
+ equation chart, and table editors; document and project
+ management; and Interleaf's step towards open
+ architecture via TPS release 4.0. (0 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C7108 (Desktop publishing)",
+ keywords = "Chart editors; Desktop publishing packages; Document
+ management; Equation editors; Graphics capabilities;
+ Interleaf Technical Publishing Software; Interleaf TPS;
+ Layout problems; Open architecture; PageMaker; Press;
+ Project management; Stream-oriented computer-based
+ publishing; Sun workstation; Table editors; TeX; TPS
+ release 4.0; Troff; WYSIWYG mode",
+ thesaurus = "Desktop publishing; Performance evaluation; Software
+ packages; Workstations",
+}
+
+@Article{Uehara:1990:CTP,
+ author = "T. Uehara",
+ title = "Current technology and problems in computer fonts",
+ journal = j-J-INFO-PROC,
+ volume = "31",
+ number = "11",
+ pages = "1570--1580",
+ year = "1990",
+ CODEN = "JOSHA",
+ ISSN = "0447-8053",
+ bibdate = "Mon Oct 24 12:44:52 MDT 1994",
+ abstract = "The author discusses the handling and creation of
+ typefaces on computers. He mentions METAFONT and spline
+ curve approximation. (45 Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Central Res. Lab., Hitachi Ltd., Ibaraki, Japan",
+ classification = "C6130B (Graphics techniques); C7108 (Desktop
+ publishing)",
+ keywords = "Computer fonts; Desktop publishing; METAFONT; Spline
+ curve approximation; Typefaces",
+ language = "Japanese",
+ pubcountry = "Japan",
+ thesaurus = "Character sets; Desktop publishing",
+}
+
+@Misc{UKTEX:1987:U,
+ key = "UKTEX",
+ title = "{UK\TeX}",
+ year = "1987" # "\unskip--",
+ note = "This is an electronic discussion list for {\TeX}
+ issues in the United Kingdom.",
+}
+
+@Book{Ulichney:1987:DH,
+ author = "Robert Ulichney",
+ title = "Digital Halftoning",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiv + 362",
+ year = "1987",
+ ISBN = "0-262-21009-6",
+ ISBN-13 = "978-0-262-21009-6",
+ LCCN = "T385 .U451 1987",
+ bibdate = "Fri Jul 22 09:24:18 1994",
+}
+
+@Booklet{Urban:1986:IL,
+ author = "Michael Urban",
+ title = "An Introduction to {\LaTeX}",
+ howpublished = "Prepared for the TRW Software Productivity Project;
+ reprinted with permission and distributed by TUG",
+ year = "1986",
+ acknowledgement = ack-hk,
+}
+
+@Booklet{Urban:1991:PPL,
+ author = "Michael {Urban (adaptation fran{\c{c}}\-aise de
+ {\'E}ric Cornelis)}",
+ title = "Premiers pas en {\LaTeX}",
+ howpublished = j-GUTENBERG,
+ month = may,
+ year = "1991",
+ bibdate = "Tue Mar 1 12:12:35 1994",
+ note = "French translation of \cite{Urban:1986:IL}.",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Utting:1983:TSC,
+ author = "I. A. Utting and D. J. Caul and H. Brown and S. E.
+ Binns",
+ title = "A typesetting server for the {Cambridge} ring",
+ crossref = "Dallas:1983:IWU",
+ pages = "243--248",
+ year = "1983",
+ bibdate = "Fri Dec 18 11:10:34 1998",
+ acknowledgement = ack-nhfb,
+ keywords = "design",
+ subject = "C.2.0 Computer Systems Organization,
+ COMPUTER-COMMUNICATION NETWORKS, General, Data
+ communications \\ C.2.5 Computer Systems Organization,
+ COMPUTER-COMMUNICATION NETWORKS, Local Networks,
+ Rings",
+}
+
+@InProceedings{Utting:1985:RDI,
+ author = "Ian Utting",
+ title = "The {R}{\^o}le of Device Independent Output",
+ crossref = "Lucarella:1985:PFE",
+ pages = "183--191",
+ year = "1985",
+ bibdate = "Tue Mar 1 12:57:11 1994",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{Vacha:1992:TTP,
+ author = "Ondr{\v{r}}ej V{\'a}cha",
+ title = "{\TeX} for typesetting in a publishing house",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "59--65",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{ValienteFeruglio:1997:CTC,
+ author = "Gabriel {Valiente Feruglio}",
+ title = "Composicion de textos cientificos con {\LaTeX}",
+ publisher = "Universitat Politecnica de Catalunya",
+ address = "Barcelona, Spain",
+ pages = "259",
+ year = "1997",
+ ISBN = "84-8301-204-9",
+ ISBN-13 = "978-84-8301-204-8",
+ LCCN = "????",
+ bibdate = "Sat Mar 7 18:25:51 MST 1998",
+ price = "US\$22.78",
+ series = "Aula Teorica; 61",
+ acknowledgement = ack-nhfb,
+ keywords = "Escritos cientificos -- Composicion; Informatica;
+ Puvill Libros; {\LaTeX} (Sistema informatico)",
+}
+
+@TechReport{vanderLaan:1989:LTL,
+ author = "C. G. van der Laan and J. R. Luyten",
+ title = "{\LaTeX} Templates: Letter and Article",
+ type = "RC-Rapport",
+ number = "27",
+ institution = "Rekencentrum der Rijksuniversiteit te Groningen",
+ address = "Groningen, The Netherlands",
+ month = nov,
+ year = "1989",
+ bibdate = "Tue Mar 1 12:54:36 1994",
+}
+
+@TechReport{vanderLaan:1989:SLM,
+ author = "C. G. van der Laan and D. C. Coleman and J. R.
+ Luyten",
+ title = "{SGML}--{\LaTeX} 1.~{Mathematical} formulas",
+ type = "RC-Rapport",
+ number = "24",
+ institution = "Rekencentrum der Rijksuniversiteit te Groningen",
+ address = "Groningen, The Netherlands",
+ year = "1989",
+ bibdate = "Tue Mar 1 12:54:33 1994",
+ note = "(English version).",
+}
+
+@InProceedings{vanderLaan:1992:FFI,
+ author = "Kees van der Laan",
+ title = "{FIFO} and {FIFO} incognito",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "225--234",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{vanderLaan:1992:TCT,
+ author = "Kees van der Laan",
+ title = "Typesetting crosswords via {\TeX}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "217--224",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{vanderLaan:1992:TD,
+ author = "Kees van der Laan",
+ title = "Table diversions",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "211--211",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{vanHerwijnen:1989:UTI,
+ author = "E. van Herwijnen",
+ booktitle = "International Conference on Computing in High-Energy
+ Physics",
+ title = "The use of text interchange standards for submitting
+ physics articles to journals",
+ volume = "57(1--3)",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ pages = "244--250",
+ month = dec,
+ year = "1989",
+ CODEN = "CPHCB",
+ ISSN = "0010-4655",
+ bibdate = "Sat Sep 17 11:19:55 1994",
+ series = j-COMP-PHYS-COMM,
+ abstract = "The authors discuss which text interchange standards
+ will enable physics authors to submit their articles
+ directly to publishers via a computer network. An
+ analysis of a questionnaire circulated recently by the
+ European Physical Society shows that there is an
+ abundance of different hardware and software in use by
+ physics authors for electronic manuscript preparation.
+ A standard interchange format which would permit
+ authors to continue to use their preferred system as
+ well as enabling document interchange seems imperative
+ if one wishes to achieve the goal of electronic
+ submission of machine readable documents directly to
+ publishers. A possible candidate could be SGML, the ISO
+ standard for text interchange. Use of this standard
+ would generate additional benefits such as the
+ automatic generation of document databases. The
+ relationships between the ISO standards SGML and ODA,
+ the de facto standard {\TeX} and the page description
+ language PostScript are explained. A proposal is made
+ for the structure of a standard physics article
+ intended for use with SGML and {\TeX}. A short
+ discussion is given on the thorny problem of the
+ inclusion of mathematics and graphics that are
+ particularly common in physics documents. Finally they
+ indicate some limitations of SGML and the prerequisites
+ that are required to make the exchange of electronic
+ documents in SGML format universally possible. (18
+ Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "CERN, Geneva, Switzerland",
+ classification = "C7320 (Physics and Chemistry)",
+ confdate = "10--14 April 1989",
+ conflocation = "Oxford, UK",
+ confsponsor = "Oxford Univ",
+ keywords = "Computer network; Electronic manuscript preparation;
+ Graphics; Hardware; ISO standard; Machine readable
+ documents; ODA; Physics articles; PostScript; SGML;
+ Software; TeX; Text interchange standards",
+ thesaurus = "Physics computing",
+}
+
+@Book{vanHerwijnen:1990:PS,
+ author = "Eric van Herwijnen",
+ title = "Practical {SGML}",
+ publisher = pub-KLUWER,
+ address = pub-KLUWER:adr,
+ pages = "xviii + 307",
+ year = "1990",
+ ISBN = "0-7923-0635-X",
+ ISBN-13 = "978-0-7923-0635-1",
+ LCCN = "QA76.73.S44 V36 1990",
+ price = "UK\pounds24.90, US\$49.00",
+ acknowledgement = ack-mc # " and " # ack-fm,
+ inprint = "yes",
+ review = "in " # j-TEXLINE # " 10, p. 27 and
+ \cite{Poppelier:1992:BR} and
+ \cite{Poppelier:1992:BRJ}",
+}
+
+@InProceedings{vanHuu:1985:TIS,
+ author = "Le van Huu",
+ title = "{\TeX} and {ISO\slash STPL} standard",
+ crossref = "Lucarella:1985:PFE",
+ pages = "67--78",
+ year = "1985",
+ bibdate = "Sat Feb 10 08:48:10 1996",
+ acknowledgement = ack-hk,
+}
+
+@InProceedings{VanWyde:1981:GTL,
+ author = "C. T. Van Wyde",
+ title = "A graphics typesetting language",
+ crossref = "ACM:1981:ASS",
+ pages = "97--107",
+ year = "1981",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "algorithms; languages",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Photocomposition",
+}
+
+@InProceedings{Vens:1992:IPF,
+ author = "Erik-Jan Vens",
+ title = "Incorporating {\POSTSCRIPT} fonts in {\TeX}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "173--182",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Vesilo:1992:TBO,
+ author = "R. A. Vesilo",
+ booktitle = "IREECON '91, Australia's Electronics Convention
+ Proceedings",
+ title = "Translating between {ODA} and multimedia {DVI}({\TeX})
+ documents",
+ publisher = pub-IREE,
+ address = pub-IREE:adr,
+ pages = "646--649 (vol. 2)",
+ month = sep,
+ year = "1992",
+ ISBN = "0-909394-26-1",
+ ISBN-13 = "978-0-909394-26-4",
+ LCCN = "????",
+ bibdate = "Sat Sep 17 11:20:29 1994",
+ note = "2 vol.",
+ abstract = "A system for translating between ODA formatted form
+ and multimedia DVI({\TeX}) documents is described. The
+ main tasks involved are structure and content
+ conversion. Consideration must be given to differing
+ functionality and mapping between ODA's multi-level and
+ DVI's three-level structure. A five-level software
+ structure has been developed for the translators. (8
+ Refs.)",
+ acknowledgement = ack-nhfb,
+ affiliation = "Sch. of Math., Phys., Comput. and Electron., Macquarie
+ Univ., North Ryde, NSW, Australia",
+ bookpages = "xxi + 703",
+ classification = "B6210 (Telecommunication applications); C6130D
+ (Document processing techniques); C6160S (Spatial and
+ pictorial databases)",
+ confdate = "16--20 Sept. 1991",
+ conflocation = "Sydney, NSW, Australia",
+ keywords = "Content conversion; Device Independent Documents;
+ Five-level software structure; Mapping; Multimedia DVI
+ documents; ODA formatted form; Office Document
+ Architecture; Structure conversion; TeX documents;
+ Translators",
+ thesaurus = "Document handling; Multimedia systems",
+}
+
+@InProceedings{Vinogradov:1992:RTN,
+ author = "Michael Vinogradov",
+ title = "{Russian \TeX}: new eight bit fonts and {IBM PC}
+ equipment",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "149--152",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:1992:TP,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "1587, with 31 illustrations",
+ year = "1992",
+ ISBN = "0-387-97296-X",
+ ISBN-13 = "978-0-387-97296-1",
+ LCCN = "Z253.4.T47 B4 1993",
+ bibdate = "Fri Jul 22 09:26:02 1994",
+ note = "Four volume set.",
+ price = "US\$169.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:1992:TPB,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Basics",
+ volume = "1",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "359, with 9 illustrations",
+ year = "{\noopsort{1992a}}1992",
+ ISBN = "0-387-97595-0",
+ ISBN-13 = "978-0-387-97595-5",
+ LCCN = "Z253.4.T47 B4 1993",
+ bibdate = "Fri Jul 22 09:25:55 1994",
+ price = "US\$49.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:1992:TPO,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Output Routines",
+ volume = "4",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "300",
+ year = "{\noopsort{1992d}}1992",
+ ISBN = "0-387-97598-5",
+ ISBN-13 = "978-0-387-97598-6",
+ LCCN = "Z253.4.T47 B4 1993",
+ bibdate = "Fri Jul 22 09:25:56 1994",
+ price = "US\$49.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:1992:TPP,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Paragraphs, Math, and Fonts",
+ volume = "2",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "384",
+ year = "{\noopsort{1992b}}1992",
+ ISBN = "0-387-97596-9",
+ ISBN-13 = "978-0-387-97596-2",
+ LCCN = "Z253.4.T47 B4 1993",
+ bibdate = "Fri Jul 22 09:25:58 1994",
+ price = "US\$49.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:1992:TPT,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Tokens, Macros",
+ volume = "3",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "544, with 22 illustrations",
+ year = "{\noopsort{1992c}}1992",
+ ISBN = "0-387-97597-7",
+ ISBN-13 = "978-0-387-97597-9",
+ LCCN = "Z253.4.T47 B4 1993",
+ bibdate = "Fri Jul 22 09:26:06 1994",
+ price = "US\$49.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:1993:TPB,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Basics",
+ volume = "1",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ year = "1993",
+ ISBN = "0-387-97595-0, 3-540-97595-0",
+ ISBN-13 = "978-0-387-97595-5, 978-3-540-97595-3",
+ LCCN = "Z253.4.T47 B4 1993",
+ bibdate = "Mon Oct 18 15:41:37 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:1993:TPO,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Output Routines, Tables",
+ volume = "4",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ year = "1993",
+ ISBN = "0-387-97598-5, 3-540-97598-5",
+ ISBN-13 = "978-0-387-97598-6, 978-3-540-97598-4",
+ LCCN = "Z253.4.T47 B4 1993",
+ bibdate = "Mon Oct 18 15:41:37 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:1993:TPP,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Paragraphs, Math, and Fonts",
+ volume = "2",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ year = "1993",
+ ISBN = "0-387-97596-9, 3-540-97596-9",
+ ISBN-13 = "978-0-387-97596-2, 978-3-540-97596-0",
+ LCCN = "Z253.4.T47 B4 1993",
+ bibdate = "Mon Oct 18 15:41:37 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{vonBechtolsheim:1993:TPT,
+ author = "Stephan von Bechtolsheim",
+ title = "{\TeX} in Practice: Tokens, Macros",
+ volume = "3",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ year = "1993",
+ ISBN = "0-387-97597-7, 3-540-97597-7",
+ ISBN-13 = "978-0-387-97597-9, 978-3-540-97597-7",
+ LCCN = "Z253.4.T47 B4 1993",
+ bibdate = "Mon Oct 18 15:41:37 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Voss:2004:PGT,
+ author = "Herbert Vo{\ss}",
+ title = "{PSTricks: Grafik f{\"u}r {\TeX} und {\LaTeX}}",
+ publisher = pub-LEHMANNS,
+ address = pub-LEHMANNS:adr,
+ pages = "486",
+ year = "2004",
+ ISBN = "3-86541-053-7",
+ ISBN-13 = "978-3-86541-053-5",
+ LCCN = "????",
+ bibdate = "Thu Mar 24 18:14:11 2005",
+ price = "34.95 EUR",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Voss:2005:PGT,
+ author = "Herbert Vo{\ss}",
+ title = "{PSTricks: Grafik f{\"u}r {\TeX} und {\LaTeX}}",
+ publisher = pub-LEHMANNS,
+ address = pub-LEHMANNS:adr,
+ edition = "Second",
+ pages = "xxiv + 486",
+ year = "2005",
+ ISBN = "3-86541-073-1",
+ ISBN-13 = "978-3-86541-073-3",
+ LCCN = "????",
+ bibdate = "Thu Mar 24 18:14:11 2005",
+ price = "19.95 EUR",
+ URL = "http://www.dante.de/help/literatur/pstricks.shtml",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Vulis:1992:MTA,
+ author = "Michael Vulis",
+ title = "Modern {\TeX} and its Applications",
+ publisher = pub-CRC,
+ address = pub-CRC:adr,
+ pages = "275",
+ year = "1992",
+ ISBN = "0-8493-4431-X",
+ ISBN-13 = "978-0-8493-4431-2",
+ LCCN = "Z253.4.T47V84 1993",
+ bibdate = "Wed Dec 15 19:53:27 1993",
+ price = "US\$32.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Walden:1987:MFF,
+ author = "Jeff Walden",
+ title = "More File Formats for Popular {PC} software: {A}
+ Programmer's Reference",
+ publisher = pub-W,
+ address = pub-W:adr,
+ pages = "369",
+ year = "1987",
+ ISBN = "0-471-85077-2",
+ ISBN-13 = "978-0-471-85077-9",
+ LCCN = "QA76.9.F5 W35 1987",
+ bibdate = "Fri Jul 22 11:19:33 1994",
+ note = "From {\em Computing Reviews\/}: ``The volume under
+ review deals with (among others) WordPerfect, SuperCalc
+ 4, and the unusual Microsoft Rich Text Format (RTF).
+ RTF has the distinction of being entirely readable
+ ASCII and is reminiscent of {\TeX} command format.''
+ Conversion software from RTF to {\LaTeX} written by
+ Daniel Taupin is available from major {\TeX} archive
+ sites.",
+ price = "US\$24.95",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Waldock:1982:TAE,
+ author = "W. C. Waldock",
+ booktitle = "User services, proceedings of the Tenth ACM SIGUCCS
+ conference (Chicago, IL, Nov. 10--12, 1982)",
+ title = "Typesetting in the academic environment",
+ publisher = pub-ACM,
+ address = pub-ACM:adr,
+ pages = "25--28",
+ year = "1982",
+ bibdate = "Thu Dec 29 11:08:40 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation",
+ subject = "J.1 Computer Applications, ADMINISTRATIVE DATA
+ PROCESSING, Education \\ I.7 Computing Methodologies,
+ TEXT PROCESSING, Miscellaneous",
+}
+
+@Article{Waldschmidt:1987:ECG,
+ author = "H. Waldschmidt",
+ title = "An Editor for Constructing Graphics with {\TeX}",
+ journal = j-CGF,
+ volume = "6",
+ number = "4",
+ pages = "359--364",
+ month = dec,
+ year = "1987",
+ CODEN = "CGFODY",
+ ISSN = "0167-7055",
+ bibdate = "Sat Mar 22 09:39:17 MST 1997",
+ bibsource = "Compendex database",
+ acknowledgement = ack-nhfb,
+ affiliation = "Technische Hochschule Darmstadt, Darmstadt, West Ger",
+ affiliationaddress = "Technische Hochschule Darmstadt, Darmstadt, West
+ Ger",
+ classcodes = "C6130B (Graphics techniques)",
+ classification = "723; 745",
+ corpsource = "Inst. fur Theor. Inf., Tech. Hochschule Darmstadt,
+ West Germany",
+ keywords = "computer graphics; computer programming languages;
+ documentation; graphic editor; graphics interactive
+ construction; grouping characters; Interactive;
+ interactive construction; languages; T/sub E/X; text
+ editing; typesetting; typesetting language; typesetting
+ language {\TeX}; typesetting system; {\TeX} editor,
+ design",
+ subject = "I.3.6 Computing Methodologies, COMPUTER GRAPHICS,
+ Methodology and Techniques, Interaction techniques \\
+ I.7.1 Computing Methodologies, TEXT PROCESSING, Text
+ Editing, TeX \\ I.7.2 Computing Methodologies, TEXT
+ PROCESSING, Document Preparation, TeX",
+ treatment = "P Practical",
+}
+
+@Book{Walsh:1994:MTW,
+ author = "Norman Walsh",
+ title = "Making {\TeX} Work",
+ publisher = pub-ORA,
+ address = pub-ORA:adr,
+ pages = "xxxvi + 483",
+ year = "1994",
+ ISBN = "1-56592-051-1",
+ ISBN-13 = "978-1-56592-051-4",
+ bibdate = "Thu May 12 08:24:59 1994",
+ price = "US\$29.95",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Werntges:1992:GIL,
+ author = "Heinz Werntges",
+ title = "Grafik-Import in {\LaTeX} \toenglish {Importing}
+ graphics in {\LaTeX} \endtoenglish",
+ journal = j-CT,
+ volume = "12",
+ pages = "252--258",
+ year = "1992",
+ bibdate = "Thu Dec 29 10:49:47 1994",
+ acknowledgement = ack-ps,
+}
+
+@Book{Wettl:2004:LKH,
+ author = "Ferenc Wettl and Gyula Mayer and P{\'e}ter Szab{\'o}",
+ title = "{\LaTeX} {K}{\'e}zik{\"o}nyv. (Hungarian) [{\LaTeX}
+ Handbook]",
+ publisher = "Panem",
+ address = "Budapest, {\"O}v u. 146. 1146-Hungary",
+ pages = "????",
+ year = "2004",
+ ISBN = "963-545-398-1",
+ ISBN-13 = "978-963-545-398-6",
+ bibdate = "Wed May 19 05:53:46 2004",
+ series = "K{\"o}nnyen is lehet",
+ language = "Hungarian",
+}
+
+@Book{Weyerich:1993:LLLa,
+ author = "Astrid Weyerich and Rainer Kl{\"o}tzer and Sabine
+ Stromp and Kerstin Rieder and Rainer Oesterreich",
+ title = "{\LaTeX} Lernen leicht gemacht\emdash Eine
+ aufgabenorientierte Anleitung\emdash Teil {A}:
+ Arbeitsheft",
+ publisher = pub-TUB,
+ address = pub-TUB:adr,
+ pages = "iv + 100",
+ year = "1993",
+ ISBN = "3-7983-1546-9",
+ ISBN-13 = "978-3-7983-1546-4",
+ bibdate = "Sat Mar 07 10:18:52 1998",
+ acknowledgement = ack-rz # " and " # ack-nhfb,
+}
+
+@Book{Weyerich:1993:LLLb,
+ author = "Astrid Weyerich and Rainer Kl{\"o}tzer and Sabine
+ Stromp and Kerstin Rieder and Rainer Oesterreich",
+ title = "{\LaTeX} Lernen leicht gemacht\emdash Eine
+ aufgabenorientierte Anleitung\emdash Teil {B}: Manual",
+ publisher = pub-TUB,
+ address = pub-TUB:adr,
+ pages = "176",
+ year = "1993",
+ ISBN = "3-7983-1546-9",
+ ISBN-13 = "978-3-7983-1546-4",
+ bibdate = "Tue Mar 1 14:25:32 MET 1994",
+ acknowledgement = ack-rz,
+}
+
+@Book{White:1983:MG,
+ author = "Jan V. White",
+ title = "Mastering Graphics",
+ publisher = pub-BOWK,
+ address = pub-BOWK:adr,
+ pages = "xiii + 180",
+ year = "1983",
+ ISBN = "0-8352-1704-3",
+ ISBN-13 = "978-0-8352-1704-0",
+ LCCN = "Z253 .W47 1983",
+ bibdate = "Wed Dec 15 10:59:05 1993",
+ libnote = "Not yet in my library.",
+}
+
+@Book{White:1987:HST,
+ author = "Alex White",
+ title = "How to {SPEC} Type",
+ publisher = pub-WGP,
+ address = pub-WGP:adr,
+ pages = "128",
+ year = "1987",
+ ISBN = "0-8230-2473-3",
+ ISBN-13 = "978-0-8230-2473-5",
+ LCCN = "Z253.W46 1987",
+ bibdate = "Wed Aug 10 14:03:06 1994",
+ price = "US\$14.95",
+ abstract = "This book is divided into two parts. {\em Part One:
+ Preparing the Copy for Type}, discusses fundamental
+ terms and introduces the principles of type speccing.
+ {\em Part Two: Type Samples}, describes how to spec
+ typographic examples drawn in thumbnail form, how to
+ mark up the manuscript copy, and then shows the final
+ typeset results.",
+ acknowledgement = ack-fm,
+ annote = "A gold mine of ideas, concepts, and their realisation.
+ Beside general introductions into typographic spec
+ techniques, the book discusses topics like Runarounds,
+ Initial Caps, Tables, Rules and Boxes, and many more.",
+ keywords = "typography, layout, design, fonts, specs",
+}
+
+@Book{White:1988:GDE,
+ author = "Jan V. White",
+ title = "Graphic Design for the Electronic Age",
+ publisher = pub-WGP,
+ address = pub-WGP:adr,
+ pages = "xi + 211",
+ year = "1988",
+ ISBN = "0-8230-2122-X",
+ ISBN-13 = "978-0-8230-2122-2",
+ LCCN = "Z286.D47 W5 1988",
+ bibdate = "Wed Dec 15 10:59:04 1993",
+ acknowledgement = ack-nhfb # " and " # ack-fm,
+ annote = "A very good book on typography and document design;
+ main topics are components of larger documents.",
+ keywords = "typography, layout, design",
+}
+
+@Book{White:1990:GP,
+ author = "Jan V. White",
+ title = "Great Pages",
+ publisher = pub-SERIF,
+ address = pub-SERIF:adr,
+ pages = "128",
+ year = "1990",
+ ISBN = "1-878567-01-2",
+ ISBN-13 = "978-1-878567-01-7",
+ LCCN = "Z286.D47 W5 1990",
+ bibdate = "Wed Dec 15 10:59:05 1993",
+}
+
+@Article{Wikeckowski:1992:TPZ,
+ author = "Z. Wi{\k{e}}ckowski",
+ title = "{\TeX} --- polskie znaki inaczej",
+ journal = j-PCkurier,
+ volume = "15",
+ pages = "89",
+ month = "lipiec",
+ year = "1992",
+ bibdate = "Thu Jun 23 18:23:42 1994",
+ note = "In Polish.",
+ acknowledgement = ack-md,
+ author-l = lang-pl,
+ month-l = lang-pl,
+ title-l = lang-pl,
+ title-t1 = "{\TeX} --- Polish letters another way",
+ title-t1-l = lang-eng,
+}
+
+@Book{Wilberg:1997:L,
+ author = "Hans Peter Wilberg and Friedrich Forssman",
+ title = "Lesetypographie",
+ publisher = "Verlang Hermann Schmidt",
+ address = "Mainz, Germany",
+ pages = "332",
+ year = "1997",
+ ISBN = "3-87439-375-5",
+ ISBN-13 = "978-3-87439-375-1",
+ LCCN = "",
+ bibdate = "Mon Mar 02 19:42:44 1998",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Williams:2004:BGA,
+ author = "George Williams",
+ title = "Beyond Glyphs, Advanced Typographic Features of
+ Fonts",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "257--263",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Williamson:1983:MBD,
+ author = "Hugh Williamson",
+ title = "Methods of Book Design: The Practice of an Industrial
+ Craft",
+ publisher = pub-YUP,
+ address = pub-YUP:adr,
+ edition = "Third",
+ pages = "xiv + 391",
+ year = "1983",
+ ISBN = "0-300-02663-3 (hardcover), 0-300-03035-5 (paperback)",
+ ISBN-13 = "978-0-300-02663-4 (hardcover), 978-0-300-03035-8
+ (paperback)",
+ LCCN = "Z116.A3 W5 1983",
+ bibdate = "Fri Jul 22 09:27:41 1994",
+ note = "Bibliography, many examples and illustrations, index",
+ price = "UK\pounds13",
+ abstract = "Since its first edition was published in 1956, this
+ book has been recognised as a classic work, and has
+ become a basic tool for the practising book designer.
+ \missing{} Writing for authors, booksellers,
+ librarians, and the general reader, as well as for
+ teachers and students of printing design and for
+ publishers and printers, the author assumes no
+ technical knowledge in his readers. He deals with such
+ matters as the preparation of copy, the selection and
+ arrangement of type, the designer's part in book
+ illustration and jacket design, and the economics of
+ book production; and he explains the materials and
+ techniques of book production and their effect on the
+ design of books. His analysis, for the benefit of the
+ designer, of computer-centered digital
+ photo-composition, based on his first-hand experience
+ as a printer and typographer, is of particular interest
+ and value. \missing{} The third edition has been
+ completely rewritten to cover innovations in book
+ production tendencies and techniques over the last
+ twenty years, in the light of the author's continued
+ experience in publishing and printing.",
+ acknowledgement = ack-jpl # " and " # ack-fm,
+ annote = "That the {\em frontispiece} is the layout for the
+ title-page opposite indicates the content of the
+ book.",
+ bibliography = "yes",
+ glossary = "yes",
+ history = "First edition, 1956, and second edition, 1966,
+ published by Oxford University Press.",
+ index = "yes",
+ inprint = "yes",
+ keywords = "book design",
+ printermarks = "no",
+}
+
+@Article{Winkel:1988:TSU,
+ author = "Brian J. Winkel",
+ title = "{\TeX}: The Software used to Produce this Journal",
+ journal = j-COLL-MICRO,
+ volume = "5",
+ number = "1",
+ pages = "93--96",
+ month = apr # "/" # may,
+ year = "1988",
+ ISSN = "0731-4213",
+ bibdate = "Thu Jul 21 22:35:39 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Wittbecker:1986:GTB,
+ author = "Alan E. Wittbecker",
+ booktitle = "Conference proceedings: setting the direction / ACM
+ SIGUCCS User Services Conference XIV, Le Centre
+ Sheraton, Montreal, Quebec, September 27th -- October
+ 1st, 1986",
+ title = "Genesis of a {\TeX}-based markup metalanguage",
+ publisher = pub-ACM,
+ address = pub-ACM:adr,
+ pages = "31--33",
+ year = "1986",
+ DOI = "http://doi.acm.org/10.1145/324239.324238",
+ ISBN = "0-89791-208-X",
+ ISBN-13 = "978-0-89791-208-2",
+ LCCN = "QA74.A15 1986",
+ bibdate = "Sat Mar 23 13:41:45 2002",
+ note = "ACM order number 459860.",
+ URL = "http://www.acm.org/pubs/contents/proceedings/userservices/324239/",
+ acknowledgement = ack-nhfb,
+ bookpages = "x + 462",
+}
+
+@Article{Witten:1982:PTD,
+ author = "I. H. Witten and M. Bonham and E. Strong",
+ title = "On the power of traps and diversions in a document
+ preparation language",
+ journal = j-SPE,
+ volume = "12",
+ number = "12",
+ pages = "1119--1131",
+ month = dec,
+ year = "1982",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; documentation; languages",
+ review = "ACM CR 40526",
+ subject = "I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, nroff \\ I.7.2 Computing
+ Methodologies, TEXT PROCESSING, Document Preparation,
+ Languages",
+}
+
+@Book{Wohlfeil:1998:PCB,
+ author = "Stefan Wohlfeil",
+ title = "On the Pagination of Complex, Book-Like Documents",
+ publisher = "Shaker Verlag",
+ address = "Aachen and Maastricht, The Netherlands",
+ pages = "224",
+ year = "1998",
+ ISBN = "3-8265-3304-6",
+ ISBN-13 = "978-3-8265-3304-4",
+ LCCN = "????",
+ bibdate = "Tue Feb 09 08:23:52 1999",
+ price = "DM 98.00",
+ URL = "http://www.shaker.de/Online-Gesamtkatalog/Details.idc?ID=24201&CC=59311&IDSRC=1&ISBN=3-8265-3304-6&Reihe=15;
+ http://wwwpi6.fernuni-hagen.de/Forschung/Pagination/",
+ acknowledgement = ack-cr # " and " # ack-nhfb,
+ mailto = "Stefan.Wohlfeil@Fernuni-Hagen.de",
+}
+
+@TechReport{Wolcott:1976:CCT,
+ author = "N. M. Wolcott and J. Hilsenrath",
+ title = "A Contribution to Computer Typesetting Techniques:
+ Tables of Coordinates for {Hershey's} Repertory of
+ Occidental Type Fonts and Graphic Symbols",
+ type = "Special Publication",
+ number = "424",
+ institution = pub-NBS,
+ address = pub-NBS:adr,
+ month = apr,
+ year = "1976",
+ bibdate = "Sat Feb 10 15:02:17 1996",
+}
+
+@InProceedings{Wonneberger:1986:TPT,
+ author = "Reinhard Wonneberger",
+ title = "{\TeX} for Philological Typesetting",
+ crossref = "Wezler:1986:PXI",
+ pages = "595--596",
+ year = "1986",
+ bibdate = "Tue Jul 26 09:41:46 1994",
+ acknowledgement = ack-rw,
+}
+
+@InProceedings{Wonneberger:1986:VVT,
+ author = "R. Wonneberger",
+ title = "``Verheissung und Versprechen'', a third generation
+ approach to theological typesetting",
+ crossref = "Desarmenien:1986:TSD",
+ pages = "180--198",
+ year = "1986",
+ bibdate = "Mon Jul 25 08:37:04 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "documentation; languages",
+ subject = "I.7.1 Computing Methodologies, TEXT PROCESSING, Text
+ Editing, TeX \\ I.7.2 Computing Methodologies, TEXT
+ PROCESSING, Document Preparation, TeX",
+}
+
+@Book{Wonneberger:1987:L,
+ author = "Reinhard Wonneberger",
+ title = "{\LaTeX}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ pages = "xiii + 141",
+ year = "1987",
+ ISBN = "3-925118-46-2",
+ ISBN-13 = "978-3-925118-46-3",
+ bibdate = "Sat Mar 07 10:23:00 1998",
+ series = "Addison-Wesley Kom\-pakt\-f{\"u}hr\-er",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Wonneberger:1988:L,
+ author = "Reinhard Wonneberger",
+ title = "{\LaTeX}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Second",
+ pages = "xiv + 141",
+ year = "1988",
+ ISBN = "3-89319-152-6",
+ ISBN-13 = "978-3-89319-152-9",
+ bibdate = "Sat Mar 07 10:26:14 1998",
+ note = "Reprinted in 1990 and 1991.",
+ series = "Addison-Wesley Kom\-pakt\-f{\"u}hr\-er",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Wonneberger:1990:SDP,
+ author = "Reinhard Wonneberger",
+ title = "Structured document processing: the {\LaTeX}
+ approach",
+ crossref = "Nadrchal:1990:MMI",
+ pages = "177--189",
+ year = "1990",
+ CODEN = "CPHCB",
+ bibdate = "Sat Sep 17 11:20:31 1994",
+ note = "Invited paper.",
+ abstract = "Basic concepts and the usage of {\LaTeX} are
+ introduced. The idea of general markup and other
+ important concepts of structured document processing
+ are introduced. The general importance of {\LaTeX} and
+ {\TeX} and their future development are discussed. (44
+ Refs.)",
+ acknowledgement = ack-rw # " and " # ack-nhfb,
+ affiliation = "Electron. Data Syst. (Deutschland)",
+ classification = "C7106 (Word processing)",
+ confdate = "19--28 Sept. 1989",
+ conflocation = "Skalsky dvur, Czechoslovakia",
+ confsponsor = "EPS; Czechoslovak Acad. Sci.; Union of Czechoslovak
+ Math. Phys",
+ keywords = "General markup; LaTeX approach; Structured document
+ processing; TeX",
+ language = "English",
+ pubcountry = "Netherlands",
+ thesaurus = "Text editing; Word processing",
+}
+
+@Book{Wonneberger:1993:L,
+ author = "Reinhard Wonneberger",
+ title = "{\LaTeX}",
+ publisher = pub-AWV,
+ address = pub-AWV:adr,
+ edition = "Third",
+ pages = "xvi + 166",
+ month = apr,
+ year = "1993",
+ ISBN = "3-89319-589-0",
+ ISBN-13 = "978-3-89319-589-3",
+ bibdate = "Sat Sep 10 13:14:28 1994",
+ price = "DM29.80",
+ series = "Addison-Wesley Kom\-pakt\-f{\"u}hr\-er",
+ abstract = "(Umschlagtext:) {\LaTeX} ist ein im akademischen
+ Umfeld weit verbreitetes Formatierungswerkzeug f{\"u}r
+ schwierige Texte. Technisch gesehen handelt es sich um
+ ein spezielles umfangreiches Makropaket f{\"ur} Donald
+ E. Knuths Satzsystem {\TeX}. Der Benutzer braucht
+ normalerweise keine {\TeX}-Kenntnisse. Der bew{\"a}hrte
+ Addison-Wesley-Kom\-pakt\-f{\"u}hr\-er liegt nunmehr in
+ dritter, erweiterter Auflage vor. Bei der Erweiterung
+ geht es im wesentlichen um einen neuen Abschnitt ``uber
+ den `German Style''', eine seit Erscheinen der
+ fr{\"u}heren Auflage neu entwickelte und inzwischen
+ weit verbreitete Erg{\"a}nzung von {\LaTeX} im Hinblick
+ auf die Besonderheiten der deutschen Sprache.",
+}
+
+@Article{Wood:1987:TWG,
+ author = "Patrick Wood",
+ title = "Typesetting: when gray isn't",
+ journal = j-POSTSCRIPT-LANG-J,
+ volume = "1",
+ number = "2",
+ pages = "15--19",
+ month = jun,
+ year = "1987",
+ ISSN = "0891-5873",
+ bibdate = "Sat Aug 27 11:11:18 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; languages; measurement",
+ subject = "I.4.3 Computing Methodologies, IMAGE PROCESSING,
+ Enhancement, Grayscale manipulation \\ J.7 Computer
+ Applications, COMPUTERS IN OTHER SYSTEMS, Publishing",
+}
+
+@Misc{Wood:19xx:PLJ,
+ editor = "Patrick Wood",
+ key = "POSTSCRIPTLJ",
+ title = "{\POSTSCRIPT Language Journal}",
+ howpublished = "Pipeline Associates, Inc., P. O. Box 5763, Parsippany,
+ NJ 07054",
+ year = "19xx",
+ bibdate = "Tue Mar 1 12:16:37 1994",
+}
+
+@TechReport{Wyk:1980:LTG,
+ author = "C. J. {Van Wyk}",
+ title = "A Language for Typesetting Graphics",
+ type = "Report",
+ number = "STAN-CS-80-803",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1980",
+ bibdate = "Sat Feb 10 15:02:22 1996",
+ acknowledgement = ack-hk,
+}
+
+@Book{Wyrostek:1992:LSP,
+ author = "Piotr {Wyrostek, translator}",
+ title = "{\LaTeX}: System przygotowywania dokument{\'o}w.
+ Przewodnik u{\.z}ytkownika i podr{\k{e}}cznik",
+ publisher = pub-ARIEL,
+ address = pub-ARIEL:adr,
+ year = "1992",
+ ISBN = "83-900460-1-6",
+ ISBN-13 = "978-83-900460-1-3",
+ bibdate = "Thu Jul 21 23:00:45 1994",
+ note = "Polish translation of \cite{Lamport:1985:LDP}.",
+ price = "91000 zl",
+ acknowledgement = ack-jb,
+}
+
+@Article{Yamakawa:1990:DPV,
+ author = "T. Yamakawa and Y. Kawabata and H. Tamura",
+ title = "Desktop publishing viewed from the office automation
+ industries",
+ journal = j-J-INFO-PROC,
+ volume = "31",
+ number = "11",
+ pages = "1508--1517",
+ month = "",
+ year = "1990",
+ CODEN = "JOSHA",
+ ISSN = "0447-8053",
+ bibdate = "Thu Sep 01 01:05:45 1994",
+ abstract = "The authors mention: Aldus, PageMaker, computerised
+ typesetting and DTP's links with office automation.
+ They discuss WYSIWYG; SGML; {\TeX}; PostScript; the
+ office document architecture; and various systems such
+ as the Andrew Toolkit Document System; the Diamond
+ multimedia system; and EXPRESS. (33 Refs.)",
+ acknowledgement = ack-nhfb,
+ classification = "C7104 (Office automation); C7108 (Desktop
+ publishing)",
+ keywords = "Aldus; Andrew Toolkit Document System; Computerised
+ typesetting; Desktop publishing; Diamond multimedia
+ system; EXPRESS; Office automation; Office document
+ architecture; PageMaker; PostScript; SGML; TeX;
+ WYSIWYG",
+ language = "Japanese",
+ thesaurus = "Desktop publishing; Office automation",
+}
+
+@InProceedings{Yang:2004:EME,
+ author = "Michael Yang and Richard Fateman",
+ title = "Extracting mathematical expressions from {PostScript}
+ documents",
+ crossref = "Gutierrez:2004:IJU",
+ pages = "305--311",
+ year = "2004",
+ DOI = "http://doi.acm.org/10.1145/1005285.1005329",
+ bibdate = "Fri Oct 21 06:52:53 MDT 2005",
+ bibsource = "http://portal.acm.org/",
+ URL = "http://www.ocf.berkeley.edu/~mlyang/papers/MichaelYangPsmath.pdf",
+ abstract = "Full-text indexing of documents containing mathematics
+ cannot be considered a complete success unless the
+ mathematics symbolism is extracted and represented in a
+ standardized form permitting both searching for
+ formulas, and re-use of this information in (for
+ example) computer algebra systems. Most documents
+ produced in the past and subsequently digitally
+ encoded, and even most of those potentially ``born
+ digital'' in current journal production are---at
+ best---encoded in a printer form such as Adobe
+ Postscript [1], in which mathematics is not explicitly
+ marked or easily identifiable. While one might look
+ forward in the future to other document encodings such
+ as MathML, the common journal or textbook product is
+ essentially without semantic content: a jumble of odd
+ characters. Sometimes it is just a jumble of black and
+ white dots! In this paper we demonstrate an approach to
+ decoding, to recognizing and extracting mathematical
+ expressions, from a Postscript document. We can produce
+ a syntactic representation of the extracted expressions
+ which can then be used to generate various forms. For
+ example, if we extract TeX or Presentation MathML, we
+ can re-typeset the expression, but perhaps in a
+ different size or font family. More significantly, if
+ we start from this presentation information, we can
+ hope to combine it with additional contextual
+ processing of the surrounding text and meta-data
+ associated with the document, to assign semantics,(e.g.
+ content MathML), or provide versions in computer
+ algebra system languages such as Maple or Mathematica.
+ Finally, it is possible to use this material to present
+ audio or braille versions of mathematics for the
+ visually disabled. We have previously addressed some
+ aspects of the higher level of processing (parsing TeX
+ for example). In this paper we address the only first
+ stage and concentrate on what may seem to be overly
+ simple, but is in fact difficult to do precisely:
+ extracting the mathematics parts from text.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Yuan:2001:LPS,
+ author = "Michael Yuan",
+ title = "{LaTeX2HTML}: Publish Science to the {Web}",
+ journal = j-LINUX-J,
+ volume = "92",
+ pages = "93--94",
+ month = dec,
+ year = "2001",
+ CODEN = "LIJOFX",
+ ISSN = "1075-3583",
+ bibdate = "Fri Feb 8 14:44:29 MST 2002",
+ bibsource = "http://noframes.linuxjournal.com/lj-issues/issue92/index.html",
+ abstract = "Tailoring math-intensive documents to fit the
+ Internet.",
+ acknowledgement = ack-nhfb,
+}
+
+@PhdThesis{ZabalaSalelles:1982:IGO,
+ author = "Ignacio Andres {Zabala Salelles}",
+ title = "Interfacing with graphics objects",
+ school = "Department of Computer Science, Stanford University",
+ address = "Stanford, CA, USA",
+ pages = "146",
+ month = dec,
+ year = "1982",
+ bibdate = "Wed May 25 08:19:32 2005",
+ URL = "http://wwwlib.umi.com/dissertations/fullcit/8314505",
+ abstract = "Document manipulation is one of the fields in which
+ computer-based systems are proving themselves to be
+ most effective. Nevertheless different typesetting
+ tasks require different degrees of control on the
+ behavior of a typesetting system, and different users
+ need different kinds of computer feedback in response
+ to their commands and these are important barriers to
+ the acceptance of computer tools. A solution to the
+ lack of a `best' user interface might be to have a
+ powerful virtual typesetting machine and easy-to-use
+ facilities for defining interfaces. High resolution
+ displays and pointing devices suggest a style of using
+ computer systems that is analogous to that of the
+ familiar paper and pencil. In addition, the capability
+ of using stored knowledge---both data and procedural
+ information---and the use of adequate structuring
+ methodologies can provide a great deal of power and
+ flexibility in handling images and the objects they
+ represent. Taking these considerations into account,
+ the author has designed and programmed GOB, an
+ interactive document processor that operates in terms
+ of graphic objects whose structure and format are
+ stored separately. GOB handles both text and graphics
+ in a uniform way, and it can produce documents of
+ quality similar to that of the best batch text
+ processors. The positioning and the redisplay
+ mechanisms of GOB are two of its most original
+ features. Positioning is done by solving sparse systems
+ of linear equations that are constantly changing. GOB
+ provides a programming language that can be used to
+ program complex formatting functions and to define user
+ interfaces. A subset of GOB has been made to run to the
+ point of generating pictures like those appearing in
+ several places of this dissertation. The experience
+ with the prototype suggests that it is indeed feasible
+ to build interactive systems of this kind, that have a
+ value by themselves (using built-in user interfaces),
+ and that also allow for customization of the document
+ manipulator.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Zagretdinov:1994:ISL,
+ author = "Renat Zagretdinov and others",
+ title = "Izdatel'skaiia systema {\LaTeX}. Kratkoe rukovodstvo
+ \toenglish {The \LaTeX} editing system. {Brief} guide
+ \endtoenglish",
+ publisher = "Kazan State University",
+ address = "Kazan, Russia",
+ pages = "94",
+ year = "1994",
+ bibdate = "Wed Jan 04 08:17:15 1995",
+ note = "This manual is a short introduction to {\LaTeX} 2.09,
+ with some material added about the Russian version
+ CyrTUG-em{\TeX}; it also contains a glossary of
+ {\LaTeX} control sequences, etc. First press run: 1000
+ copies.",
+ acknowledgement = ack-ps,
+}
+
+@Book{Zapf:1987:HZH,
+ author = "Hermann Zapf",
+ title = "Hermann Zapf and His Design Philosophy: Selected
+ Articles and Lectures on Calligraphy and Contemporary
+ Developments in Type Design, with Illustrations and
+ Bibliographical Notes, and a Complete List of his
+ Typefaces",
+ publisher = pub-STA,
+ address = pub-STA:adr,
+ pages = "254",
+ year = "1987",
+ ISBN = "0-941447-00-6",
+ ISBN-13 = "978-0-941447-00-3",
+ LCCN = "Z250 .Z323 1987",
+ bibdate = "Fri Jul 22 09:28:29 1994",
+ price = "US\$45.00",
+}
+
+%%% =====================================================================
+%%% We put all Proceedings entries at the end so they can be
+%%% cross-referenced by earlier entries. This order is regrettably
+%%% required by BibTeX.
+%%% =====================================================================
+
+@Proceedings{ACM:1981:ASS,
+ key = "ACM-SIGOA'81",
+ booktitle = "Proceedings of the {ACM SIGPLAN SIGOA} Symposium on
+ Text Manipulation, Portland, Oregon, June 8--10, 1981",
+ title = "Proceedings of the {ACM SIGPLAN SIGOA} Symposium on
+ Text Manipulation, Portland, Oregon, June 8--10, 1981",
+ volume = "16(6)",
+ publisher = pub-ACM,
+ address = pub-ACM:adr,
+ pages = "160",
+ month = jun,
+ year = "1981",
+ ISBN = "0-89791-043-5",
+ ISBN-13 = "978-0-89791-043-9",
+ LCCN = "QA76.7 .S54 v.16:6",
+ bibdate = "Tue Jul 26 09:19:02 1994",
+ series = j-SIGPLAN,
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Andre:1983:AJM,
+ editor = "Jacques Andr\'e",
+ booktitle = "Actes des {Journ}\'{ees} sur la {Manipulation} de
+ {Documents}, Rennes 4--6 Mai 1983",
+ title = "Actes des {Journ}\'{ees} sur la {Manipulation} de
+ {Documents}, Rennes 4--6 Mai 1983",
+ publisher = pub-INRIA,
+ address = pub-INRIA:adr,
+ year = "1983",
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Andre:1985:TIJ,
+ editor = "Jacques Andr\'e",
+ booktitle = "Typographie et Informatique, 21--25 janvier 1985",
+ title = "Typographie et Informatique, 21--25 janvier 1985",
+ publisher = pub-INRIA,
+ address = pub-INRIA:adr,
+ year = "1985",
+ bibdate = "Tue Mar 1 12:57:09 1994",
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Andre:1989:RID,
+ editor = "Jacques Andr{\'e} and Roger Hersch",
+ booktitle = "Raster Imaging and Digital Topography",
+ title = "Raster Imaging and Digital Topography",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "x + 292",
+ year = "1989",
+ ISBN = "0-521-37490-1",
+ ISBN-13 = "978-0-521-37490-3",
+ LCCN = "Z253.3 .R37 1989",
+ bibdate = "Fri Jul 22 09:29:08 1994",
+}
+
+@Proceedings{Anonymous:1991:PFA,
+ editor = "Anonymous",
+ booktitle = "Proceedings of the Fourth Annual Conference on
+ Computers and the Writing Process",
+ title = "Proceedings of the Fourth Annual Conference on
+ Computers and the Writing Process",
+ publisher = "Univ. Sussex",
+ address = "Brighton, UK",
+ pages = "v + 247",
+ month = mar,
+ year = "1991",
+ bibdate = "Sat Sep 17 11:20:33 1994",
+ abstract = "The following topics were dealt with: computer-aided
+ writing education; computer supported fiction,
+ including CINEWRITE system and JONATHAN collaborative
+ writing environment; reading and writing education with
+ hypertext; computer manual design and composition;
+ {\TeX} typesetting program; handwritten Pitman
+ shorthand recognition aids for authors; electronic
+ dictionaries for writers; collaborative writing
+ practices; Rapporteur constructive dialogue game for
+ document production; hypertext semantic linking; Headed
+ Record Expertext hypermedia and expert system; software
+ specification annotation; and online design brief
+ expansion document preparation with hypertext.",
+ acknowledgement = ack-nhfb,
+ classification = "C7820 (Humanities); C7810C (Computer-aided
+ instruction); C6160S (Spatial and pictorial databases);
+ C7106 (Word processing)",
+ confdate = "22--23 March 1991",
+ conflocation = "Brighton, UK",
+ keywords = "TeX; Reading education; CAI; Computer-aided writing
+ education; CINEWRITE; JONATHAN; Collaborative writing
+ environment; Hypertext; Computer manual design;
+ Typesetting program; Handwritten Pitman shorthand
+ recognition aids; Electronic dictionaries; Rapporteur;
+ Document production; Semantic linking; Headed Record
+ Expertext; Hypermedia; Expert system; Software
+ specification annotation; Online design brief
+ expansion",
+ thesaurus = "Computer aided instruction; Desktop publishing;
+ Groupware; Hypermedia; Linguistics; Literature;
+ Microcomputer applications; Word processing",
+}
+
+@Proceedings{Anonymous:1994:CCI,
+ editor = "Anonymous",
+ booktitle = "Chinese computing: International conference --- June
+ 1994, Singapore",
+ title = "Chinese computing: International conference --- June
+ 1994, Singapore",
+ volume = "4(1)",
+ publisher = "1994",
+ address = "Chinese and Oriental Languages Information Processing
+ Society",
+ pages = "????",
+ year = "1994",
+ ISSN = "0218-7019",
+ bibdate = "Sat Dec 21 15:45:22 MST 1996",
+ series = "COMMUNICATIONS- COLIPS",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Asperti:2003:MKM,
+ editor = "Andrea Asperti and Bruno Buchberger and James Harold
+ Davenport",
+ booktitle = "Mathematical Knowledge Management: Second
+ International Conference, MKM 2003 Bertinoro, Italy,
+ February 16--18, 2003",
+ title = "Mathematical Knowledge Management: Second
+ International Conference, {MKM} 2003 Bertinoro, Italy,
+ February 16--18, 2003",
+ volume = "2594",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "x + 225",
+ year = "2003",
+ ISBN = "3-540-00568-4",
+ ISBN-13 = "978-3-540-00568-1",
+ LCCN = "",
+ bibdate = "Thu Jul 10 07:12:22 2003",
+ price = "65.50 SFR; 40.66 EUR",
+ series = ser-LNCS,
+ acknowledgement = ack-nhfb,
+ annote = "This book constitutes the refereed proceedings of the
+ Second International Conference on Mathematical
+ Knowledge Management, MKM 2003, held in Betinoro,
+ Italy, in February 2003.The 16 revised full papers
+ presented together with an invited paper were carefully
+ reviewed and selected for presentation. Among the
+ topics addressed are digitization, representation,
+ formalization, proof assistants, distributed libraries
+ of mathematics, NAG library, \LaTeX{}, MathML,
+ mathematics markup, theorem description, query
+ languages for mathematical metadata, mathematical
+ information retrieval, XML-based mathematical knowledge
+ processing, semantic Web, mathematical content
+ management, formalized mathematics repositories,
+ theorem proving, and proof theory.",
+}
+
+@Proceedings{Bloomfield:1988:VVW,
+ editor = "R. Bloomfield and L. Marshall and R. Jones",
+ booktitle = "VDM '88: VDM, the Way Ahead: 2nd VDM-Europe Symposium,
+ Dublin, Ireland, September, 1988: Proceedings",
+ title = "{VDM} '88: {VDM}, the Way Ahead: 2nd {VDM}-Europe
+ Symposium, Dublin, Ireland, September, 1988:
+ Proceedings",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "ix + 499",
+ year = "1988",
+ ISBN = "0-387-50214-9 (New York), 3-540-50214-9 (Berlin)",
+ ISBN-13 = "978-0-387-50214-4 (New York), 978-3-540-50214-2
+ (Berlin)",
+ LCCN = "QA76.76.D47 V8541 1988",
+ bibdate = "Mon Oct 24 13:01:54 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Burton:1983:SIC,
+ editor = "Sarah K. Burton and Douglas D. Short",
+ booktitle = "Sixth International Conference on Computers and the
+ Humanities (North Carolina State University, Raleigh,
+ {NC}, June 6--8, 1983)",
+ title = "Sixth International Conference on Computers and the
+ Humanities (North Carolina State University, Raleigh,
+ {NC}, June 6--8, 1983)",
+ publisher = pub-CSP,
+ address = pub-CSP:adr,
+ pages = "x + 782",
+ year = "1983",
+ ISBN = "0-914894-96-X",
+ ISBN-13 = "978-0-914894-96-4",
+ LCCN = "AZ105 .I56 1983",
+ bibdate = "Tue Jul 26 09:59:19 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Clark:1990:TAU,
+ editor = "Malcolm Clark",
+ booktitle = "{\TeX}: Applications, Uses, Methods. Proceedings,
+ Third European \TeX Conference, {\TeX88}, Exeter,
+ August 1988",
+ title = "{\TeX}: Applications, Uses, Methods. Proceedings,
+ Third European {\TeX} Conference, {\TeX88}, Exeter,
+ August 1988",
+ publisher = pub-ELLIS-HORWOOD,
+ address = pub-ELLIS-HORWOOD:adr,
+ pages = "277",
+ year = "1990",
+ ISBN = "0-13-912296-6",
+ ISBN-13 = "978-0-13-912296-5",
+ LCCN = "Z253.4.T47 C45 1990",
+ bibdate = "Fri Jul 22 09:29:34 1994",
+ price = "US\$69.95",
+}
+
+@Proceedings{Dallas:1983:IWU,
+ editor = "Ian Neil Dallas and Edward Brian Spratt",
+ booktitle = "Ring technology Local Area Networks: Proceedings of
+ the {IFIP WG6}.4\slash University of Kent Workshop on
+ Ring Technology Based Local Area Networks, Kent, {UK},
+ 28--30 September 1983",
+ title = "Ring technology Local Area Networks: Proceedings of
+ the {IFIP WG6}.4\slash University of Kent Workshop on
+ Ring Technology Based Local Area Networks, Kent, {UK},
+ 28--30 September 1983",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ pages = "ix + 269",
+ year = "1983",
+ ISBN = "0-444-86852-6",
+ ISBN-13 = "978-0-444-86852-7",
+ LCCN = "TK5105.5 .I3427 1983",
+ bibdate = "Tue Jul 26 09:34:30 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Desarmenien:1986:TSD,
+ editor = "Jacques D{\'e}sarm{\'e}nien",
+ key = "TEXSCIDOC86",
+ booktitle = "{\TeX} for Scientific Documentation. Second European
+ Conference. Strasbourg, France, June 19--21, 1986.
+ Proceedings",
+ title = "{\TeX} for Scientific Documentation. Second European
+ Conference. Strasbourg, France, June 19--21, 1986.
+ Proceedings",
+ number = "236",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "vi + 204",
+ year = "1986",
+ ISBN = "3-540-16807-9, 0-387-16807-9 (paperback)",
+ ISBN-13 = "978-3-540-16807-2, 978-0-387-16807-4 (paperback)",
+ LCCN = "Z253.4.T47 T49 1986",
+ bibdate = "Wed Aug 10 19:14:59 1994",
+ series = "Lecture Notes in Computer Science",
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Forsley:1989:RFC,
+ editor = "Lawrence P. Forsley",
+ booktitle = "1989 Rochester Forth Conference. Industrial
+ Automation: June 20--24, 1989, University of
+ Rochester",
+ title = "1989 Rochester Forth Conference. Industrial
+ Automation: June 20--24, 1989, University of
+ Rochester",
+ publisher = inst-APPL-FORTH-RES,
+ address = inst-APPL-FORTH-RES:adr,
+ pages = "vii + 143",
+ year = "1989",
+ ISBN = "0-914593-09-9",
+ ISBN-13 = "978-0-914593-09-6",
+ LCCN = "TJ212.2.A15 1989",
+ bibdate = "Tue Apr 09 17:32:18 1996",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Furuta:1990:PIC,
+ editor = "R. Furuta",
+ booktitle = "Proceedings of the International Conference on
+ Electronic Publishing, Document Manipulation \&
+ Typography, Gaithersburg, Maryland, September 1990",
+ title = "Proceedings of the International Conference on
+ Electronic Publishing, Document Manipulation \&
+ Typography, Gaithersburg, Maryland, September 1990",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "x + 298",
+ year = "1990",
+ ISBN = "0-521-40246-8",
+ ISBN-13 = "978-0-521-40246-0",
+ LCCN = "Z 286 E43 I58 1990",
+ bibdate = "Fri Jul 22 11:20:37 1994",
+ acknowledgement = ack-kb,
+}
+
+@Proceedings{Gutierrez:2004:IJU,
+ editor = "Jaime Gutierrez",
+ title = "{ISAAC 2004: July 4--7, 2004, University of Cantabria,
+ Santander, Spain: proceedings of the 2004 International
+ Symposium on Symbolic and Algebraic Computation}",
+ publisher = pub-ACM,
+ address = pub-ACM:adr,
+ pages = "xii + 328",
+ year = "2004",
+ ISBN = "1-58113-827-X",
+ ISBN-13 = "978-1-58113-827-6",
+ LCCN = "????",
+ bibdate = "Fri Oct 21 06:33:01 MDT 2005",
+ bibsource = "z3950.loc.gov:7090/Voyager",
+ acknowledgement = ack-nhfb,
+ meetingname = "International Symposium on Symbolic and Algebraic
+ Computation (2004 : Santander, Spain)",
+}
+
+@Proceedings{Haliburton:1987:ATC,
+ editor = "John Haliburton",
+ booktitle = "{APL} in Transition: Conference Proceedings, {APL87},
+ May 10--14, 1987, Dallas, Texas",
+ title = "{APL} in Transition: Conference Proceedings, {APL87},
+ May 10--14, 1987, Dallas, Texas",
+ publisher = pub-ACM,
+ address = pub-ACM:adr,
+ pages = "xv + 512",
+ year = "1987",
+ ISBN = "0-89791-226-8",
+ ISBN-13 = "978-0-89791-226-6",
+ LCCN = "????",
+ bibdate = "Wed Jul 27 11:05:37 1994",
+ note = "APL quote quad, v. 17, no. 4.",
+ price = "US\$37.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Heck:1992:DPA,
+ editor = "Andr{\'e} Heck",
+ booktitle = "Desktop Publishing in Astronomy {\&} Space Sciences.
+ Strasbourg Astronomical Observatory, [1--3] October,
+ 1991",
+ title = "Desktop Publishing in Astronomy {\&} Space Sciences.
+ Strasbourg Astronomical Observatory, [1--3] October,
+ 1991",
+ publisher = pub-WORLD-SCI,
+ address = pub-WORLD-SCI:adr,
+ pages = "xi + 240",
+ year = "1992",
+ ISBN = "981-02-0915-0",
+ ISBN-13 = "978-981-02-0915-5",
+ LCCN = "QB14.2 .D47 1992",
+ bibdate = "Fri Jul 22 09:30:26 1994",
+ note = "In addition to the papers presented at the colloquium,
+ each paper is followed by a summary of the discussion
+ about that paper.",
+ acknowledgement = ack-bnb,
+}
+
+@Proceedings{Hersch:1998:EPA,
+ editor = "Roger Hersch and Jacques Andr{\'e} and Heather Brown",
+ booktitle = "Electronic publishing, artistic imaging, and digital
+ typography: 7th International Conference on Electronic
+ Publishing, {EP} '98 held jointly with the 4th
+ International Conference on Raster Imaging and Digital
+ Typography, {RIDT} '98, St. Malo, France, March\slash
+ April 1998: proceedings",
+ title = "Electronic publishing, artistic imaging, and digital
+ typography: 7th International Conference on Electronic
+ Publishing, {EP} '98 held jointly with the 4th
+ International Conference on Raster Imaging and Digital
+ Typography, {RIDT} '98, St. Malo, France, March\slash
+ April 1998: proceedings",
+ volume = "1375",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "various",
+ year = "1998",
+ CODEN = "LNCSD9",
+ ISBN = "3-540-64298-6",
+ ISBN-13 = "978-3-540-64298-5",
+ ISSN = "0302-9743",
+ LCCN = "Z250.7.I58 1998",
+ bibdate = "Mon Apr 27 17:37:18 MDT 1998",
+ series = ser-LNCS,
+ acknowledgement = ack-nhfb,
+ alttitle = "EP '98 RIDT '98",
+ keywords = "Computerized typesetting --- Congresses; Electronic
+ publishing --- Congresses; Type and type-founding ---
+ Digital techniques --- Congresses",
+}
+
+@Proceedings{ICCPCOL:1988:ICC,
+ key = "ICCPCOL '88",
+ booktitle = "1988 International Conference on Computer Processing
+ of Chinese and Oriental Languages, August 29--September
+ 1, 1988, Toronto, Canada",
+ title = "1988 International Conference on Computer Processing
+ of Chinese and Oriental Languages, August 29--September
+ 1, 1988, Toronto, Canada",
+ publisher = "Concordia University",
+ address = "Montr{\'{e}}al, Qu{\'{e}}bec, Canada",
+ pages = "xvii + 645",
+ year = "1988",
+ LCCN = "QA76.9.T48 I48 1988",
+ bibdate = "Mon Oct 24 12:52:27 1994",
+ acknowledgement = ack-nhfb,
+ xxISBN = "none",
+}
+
+@Proceedings{IEEE:1992:PEC,
+ key = "IEEE ECDA '92",
+ booktitle = "Proceedings \slash The European Conference on Design
+ Automation, Brussels, Belgium, March 16--19, 1992",
+ title = "Proceedings \slash The European Conference on Design
+ Automation, Brussels, Belgium, March 16--19, 1992",
+ publisher = pub-IEEE,
+ address = pub-IEEE:adr,
+ pages = "xx + 569",
+ year = "1992",
+ ISBN = "0-8186-2645-3",
+ ISBN-13 = "978-0-8186-2645-6",
+ LCCN = "TK7867 .E93 1992",
+ bibdate = "Thu Sep 08 13:21:26 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Levelt:1995:IPI,
+ editor = "A. H. M. (Antonius Henricus Maria) Levelt",
+ booktitle = "ISSAC '95: Proceedings of the 1995 International
+ Symposium on Symbolic and Algebraic Computation: July
+ 10--12, 1995, Montreal, Canada",
+ title = "{ISSAC} '95: Proceedings of the 1995 International
+ Symposium on Symbolic and Algebraic Computation: July
+ 10--12, 1995, Montreal, Canada",
+ publisher = pub-ACM,
+ address = pub-ACM:adr,
+ pages = "xviii + 314",
+ year = "1995",
+ ISBN = "0-89791-699-9",
+ ISBN-13 = "978-0-89791-699-8",
+ LCCN = "QA 76.95 I59 1995",
+ bibdate = "Mon May 11 18:06:16 1998",
+ note = "ACM order number: 505950.",
+ abstract = "The following topics were dealt with: differential
+ equations; visualisation; algebraic numbers;
+ algorithms; systems; polynomial and differential
+ algebra; seminumerical methods; greatest common
+ divisors; and.",
+ acknowledgement = ack-nhfb,
+ classification = "C4100 (Numerical analysis); C4170 (Differential
+ equations); C7310 (Mathematics computing)",
+ confsponsor = "ACM",
+ keywords = "Algebraic numbers; Algorithms; Differential algebra;
+ Differential equations; Greatest common divisors;
+ Polynomial; Seminumerical methods; Systems;
+ Visualisation",
+ source = "ISSAC '95",
+ thesaurus = "Data visualisation; Differential equations; Group
+ theory; Numerical analysis; Symbol manipulation",
+}
+
+@Proceedings{Lucarella:1985:PFE,
+ editor = "Dario Lucarella",
+ key = "TEXSCIDOC85",
+ booktitle = proc-TEX85,
+ title = proc-TEX85,
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "204",
+ year = "1985",
+ ISBN = "0-201-13399-7",
+ ISBN-13 = "978-0-201-13399-8",
+ LCCN = "Q224.E97 1985",
+ bibdate = "Fri Jul 22 09:31:21 1994",
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Miller:1984:PPF,
+ editor = "John J. H. Miller",
+ booktitle = "{PROTEXT I}: Proceedings of the First International
+ Conference on Text Processing Systems held in Dublin
+ from 24th to 26th October, 1984",
+ title = "{PROTEXT I}: Proceedings of the First International
+ Conference on Text Processing Systems held in Dublin
+ from 24th to 26th October, 1984",
+ publisher = pub-BP,
+ address = pub-BP:adr,
+ pages = "vii + 59",
+ year = "1984",
+ ISBN = "0-906783-41-0 (hardcover), 0-906783-42-9 (paper)",
+ ISBN-13 = "978-0-906783-41-2 (hardcover), 978-0-906783-42-9
+ (paper)",
+ LCCN = "QA76.9.T48 I591 1984",
+ bibdate = "Fri Jul 22 09:32:58 1994",
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Miller:1985:PIP,
+ editor = "John J. H. Miller",
+ booktitle = "{PROTEXT II}: Proceedings of the Second International
+ Conference on Text Processing Systems held in Dublin
+ from 23rd to 25th October, 1985",
+ title = "{PROTEXT II}: Proceedings of the Second International
+ Conference on Text Processing Systems held in Dublin
+ from 23rd to 25th October, 1985",
+ publisher = pub-BP,
+ address = pub-BP:adr,
+ pages = "viii + 212",
+ year = "1985",
+ ISBN = "0-906783-50-X (hardcover), 0-906783-40-2 (paperback)",
+ ISBN-13 = "978-0-906783-50-4 (hardcover), 978-0-906783-40-5
+ (paperback)",
+ LCCN = "QA76.9.T48 I561 1985",
+ bibdate = "Fri Jul 22 09:35:19 1994",
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Miller:1986:PIP,
+ editor = "John J. H. Miller",
+ booktitle = "{PROTEXT III}: Proceedings of the Third International
+ Conference on Text Processing Systems held in Dublin
+ from 22nd to 24th October, 1986",
+ title = "{PROTEXT III}: Proceedings of the Third International
+ Conference on Text Processing Systems held in Dublin
+ from 22nd to 24th October, 1986",
+ publisher = pub-BP,
+ address = pub-BP:adr,
+ pages = "vii + 169",
+ year = "1986",
+ ISBN = "0-906783-57-7 (hardcover), 0-906783-58-5 (paperback)",
+ ISBN-13 = "978-0-906783-57-3 (hardcover), 978-0-906783-58-0
+ (paperback)",
+ LCCN = "QA76.9.T48 I561 1986",
+ bibdate = "Fri Jul 22 09:33:46 1994",
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Miller:1987:PIP,
+ editor = "John J. H. Miller",
+ booktitle = "{PROTEXT IV}: Proceedings of the Fourth International
+ Conference on Text Processing Systems, 20--22 October
+ 1987, Boston, {USA}",
+ title = "{PROTEXT IV}: Proceedings of the Fourth International
+ Conference on Text Processing Systems, 20--22 October
+ 1987, Boston, {USA}",
+ publisher = pub-BP,
+ address = pub-BP:adr,
+ pages = "vii + 153",
+ year = "1987",
+ ISBN = "0-906783-80-1 (hardcover), 0-906783-79-8 (paperback)",
+ ISBN-13 = "978-0-906783-80-1 (hardcover), 978-0-906783-79-5
+ (paperback)",
+ LCCN = "QA76.9.T48 I571 1987",
+ bibdate = "Fri Jul 22 09:38:44 1994",
+}
+
+@Proceedings{Nadrchal:1990:MMI,
+ editor = "J. Nadrchal",
+ key = "CTP",
+ booktitle = "Man-Machine Interface in the Scientific Environment.
+ {Proceedings} of the 8th European Summer School on
+ Computing Techniques in Physics. Skalsk{\'y}
+ Dv{\accent'27u}r, Czechoslovakia, 19--28 {September}
+ 1989",
+ title = "Man-Machine Interface in the Scientific Environment.
+ {Proceedings} of the 8th European Summer School on
+ Computing Techniques in Physics. Skalsk{\'y}
+ Dv{\accent'27u}r, Czechoslovakia, 19--28 {September}
+ 1989",
+ volume = "61",
+ organization = "European Summer Schools on Computing Techniques in
+ Physics",
+ publisher = pub-NH # "; " # "Elsevier Science Publishers B. V.",
+ address = pub-NH:adr,
+ year = "1990",
+ bibdate = "Wed Aug 24 21:50:25 1994",
+ note = "In addition to the papers presented at the colloquium,
+ each paper is followed by a summary of the discussion
+ about that paper.",
+ series = j-CPC,
+}
+
+@Proceedings{NCC:1976:ACP,
+ key = "AFIPS NCC '76",
+ booktitle = "{AFIPS} Conference Proceedings of the 1976 National
+ Computer Conference, June 7--10, 1976, New York City",
+ title = "{AFIPS} Conference Proceedings of the 1976 National
+ Computer Conference, June 7--10, 1976, New York City",
+ volume = "45",
+ publisher = pub-AFIPS,
+ address = pub-AFIPS:adr,
+ pages = "1082",
+ year = "1976",
+ ISBN = "??",
+ ISBN-13 = "??",
+ LCCN = "??",
+ bibdate = "Mon Oct 24 14:14:11 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Nievergelt:1982:DPS,
+ editor = "J. Nievergelt and G. Coray and J.-D. Nicoud and A. C.
+ Shaw",
+ booktitle = "Document Preparation Systems: A Collection of Survey
+ Articles",
+ title = "Document Preparation Systems: {A} Collection of Survey
+ Articles",
+ publisher = pub-ENH,
+ address = pub-ENH:adr,
+ pages = "xiv + 274",
+ year = "1982",
+ ISBN = "0-444-86493-8",
+ ISBN-13 = "978-0-444-86493-2",
+ LCCN = "Z244 .D63 1982",
+ bibdate = "Mon Jul 25 11:49:30 1994",
+ price = "US\$46.50",
+ acknowledgement = ack-nhfb,
+ keywords = "algorithms; human factors; languages; theory",
+ review = "ACM CR 40376",
+ subject = "H.1 Information Systems, MODELS AND PRINCIPLES,
+ User/Machine Systems \\ I.7 Computing Methodologies,
+ TEXT PROCESSING, Text Editing \\ I.7 Computing
+ Methodologies, TEXT PROCESSING, Document Preparation J
+ Computer Applications, COMPUTERS IN OTHER SYSTEMS",
+}
+
+@Proceedings{Nixon:1989:NOM,
+ editor = "Carol Nixon and Lauree Padgett",
+ booktitle = "National Online Meeting proceedings--1989, New York,
+ May 9--11, 1989",
+ title = "National Online Meeting proceedings--1989, New York,
+ May 9--11, 1989",
+ publisher = pub-LEARNED-INF,
+ address = pub-LEARNED-INF:adr,
+ pages = "xv + 506",
+ month = may,
+ year = "1989",
+ ISBN = "0-938734-34-2",
+ ISBN-13 = "978-0-938734-34-5",
+ LCCN = "QA76.55 .N37 1989",
+ bibdate = "Thu Sep 01 01:32:56 1994",
+ abstract = "The following topics were dealt with: gateways; CD-ROM
+ business databases; government information sources; end
+ user access to medical information; engineering
+ information workstations user interfaces for online
+ services; indexing of graphic materials; text/image
+ database design and performance; chief information
+ officer responsibilities; Comprehensive Core Medical
+ Library; alternatives to online databases; trade data;
+ WISER; full text searching behavior; library automation
+ project management; private databases; third world
+ information needs; facsimile and copyright; EasyNet end
+ user's reference needs; trademark images on Dialog; AI;
+ image publishing on CD-ROM; ARS Pesticide properties
+ database; SGML and {\TeX} for interactive chemical
+ encyclopedia; patent information; strategic business
+ intelligence; ISDN; Search MAESTRO SOS; hypertext;
+ telephone diversification and information industry of
+ 1990's; global market; reference media diversification;
+ spelling errors; document fulfillment; data quality;
+ art and architecture thesaurus; behavioral and social
+ science information; Information Index; international
+ marketing; aural interfaces; in-house bibliographic
+ databases; PENpages; expert systems; bilingual
+ Hebrew-English acquisition system; CD-ROM MEDLINE;
+ document image archive; and online searching
+ education.",
+ acknowledgement = ack-nhfb,
+ classification = "C7200 (Information science and documentation)",
+ confdate = "9--11 May 1989",
+ conflocation = "New York, NY, USA",
+ confsponsor = "Learned Inf",
+ keywords = "Gateways; CD-ROM business databases; Medical
+ information; Engineering information workstations; User
+ interfaces; Online services; Indexing; Text/image
+ database design; Chief information officer
+ responsibilities; Comprehensive Core Medical Library;
+ Online databases; Trade data; WISER; Full text
+ searching; Library automation project management;
+ Private databases; Third world information needs;
+ Copyright; EasyNet; Trademark images; AI; Image
+ publishing; CD-ROM; ARS Pesticide properties database;
+ SGML; TeX; Interactive chemical encyclopedia; Patent
+ information; Search MAESTRO SOS; Hypertext; Spelling
+ errors; Document fulfillment; Data quality; Art;
+ Architecture; Thesaurus; Information Index;
+ International marketing; Aural interfaces; In-house
+ bibliographic databases; PENpages; Expert systems;
+ Bilingual Hebrew-English acquisition system; CD-ROM
+ MEDLINE; Document image archive; Online searching
+ education",
+ thesaurus = "CD-ROMs; Electronic publishing; Indexing; Information
+ dissemination; Information needs; Information
+ retrieval; Information retrieval systems; Information
+ services; Library automation",
+}
+
+@Proceedings{Pietrowski:1991:ISI,
+ editor = "Ken Pietrowski",
+ booktitle = proc-NIPT91,
+ title = proc-NIPT91,
+ volume = "2",
+ publisher = pub-IST,
+ address = pub-IST:adr,
+ year = "1991",
+ bibdate = "Sat Mar 12 18:27:13 1994",
+}
+
+@Book{Rahtz:1987:ITH,
+ editor = "Sebastian Rahtz",
+ booktitle = "Information technology in the humanities: tools,
+ techniques and applications",
+ title = "Information technology in the humanities: tools,
+ techniques and applications",
+ publisher = pub-HALSTED,
+ address = pub-HALSTED:adr,
+ pages = "184",
+ year = "1987",
+ ISBN = "0-470-20852-X, 0-7458-0148-X",
+ ISBN-13 = "978-0-470-20852-6, 978-0-7458-0148-3",
+ LCCN = "AZ105 .I54 1987",
+ bibdate = "Mon Jul 25 12:00:55 1994",
+ price = "UK\pounds 25.00, US\$39.95",
+ series = "Ellis Horwood series in computers and their
+ applications",
+}
+
+@Proceedings{Syropoulos:2004:TXD,
+ editor = "Apostolos Syropoulos and Karl Berry and Yannis
+ Haralambous and Baden Hughes and Steven Peter and John
+ Plaice",
+ booktitle = "{\TeX}, {XML}, and Digital Typography: International
+ Conference on {\TeX}, XML, and Digital Typography, held
+ jointly with the 25th Annual Meeting of the TeX Users
+ Group, TUG 2004, Xanthi, Greece, August 30--September
+ 3, 2004: Proceedings",
+ title = "{\TeX}, {XML}, and Digital Typography: International
+ Conference on {\TeX}, {XML}, and Digital Typography,
+ held jointly with the 25th Annual Meeting of the Te{X}
+ Users Group, {TUG 2004}, Xanthi, Greece, August
+ 30--September 3, 2004: Proceedings",
+ volume = "3130",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "viii + 263",
+ year = "2004",
+ CODEN = "LNCSD9",
+ DOI = "10.1007/b99374",
+ ISBN = "3-540-22801-2",
+ ISBN-13 = "978-3-540-22801-1",
+ ISSN = "0302-9743",
+ LCCN = "Z253.3 I58 2004",
+ bibdate = "Tue Nov 16 08:40:30 2004",
+ series = ser-LNCS,
+ URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t3130.htm;
+ http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3130;
+ http://www.springerlink.com/openurl.asp?genre=volume&id=doi:10.1007/b99374",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Vanoirbeek:1992:EPE,
+ editor = "C. Vanoirbeek and G. Coray",
+ booktitle = "{EP92}\emdash Proceedings of Electronic Publishing,
+ '92, International Conference on Electronic Publishing,
+ Document Manipulation, and Typography, Swiss Federal
+ Institute of Technology, Lausanne, Switzerland, April
+ 7-10, 1992",
+ title = "{EP92}\emdash Proceedings of Electronic Publishing,
+ '92, International Conference on Electronic Publishing,
+ Document Manipulation, and Typography, Swiss Federal
+ Institute of Technology, Lausanne, Switzerland, April
+ 7-10, 1992",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "x + 316",
+ year = "1992",
+ ISBN = "0-521-43277-4",
+ ISBN-13 = "978-0-521-43277-1",
+ LCCN = "Z 286 E43 I58 1992",
+ bibdate = "Tue Dec 14 10:50:52 1993",
+ note = "Prepared with {\LaTeX}, and Microsoft Word converted
+ to {\LaTeX}.",
+ price = "UK\pounds 35",
+ acknowledgement = ack-ps,
+}
+
+@Proceedings{vanVliet:1986:TPD,
+ editor = "J. C. van Vliet",
+ booktitle = "Text Processing and Document Manipulation: Proceedings
+ of the International Conference, University of
+ Nottingham, 14--16 April 1986",
+ title = "Text Processing and Document Manipulation: Proceedings
+ of the International Conference, University of
+ Nottingham, 14--16 April 1986",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "viii + 277",
+ month = apr,
+ year = "1986",
+ ISBN = "0-521-32592-7",
+ ISBN-13 = "978-0-521-32592-9",
+ LCCN = "QA76.9.T48 T481 1986",
+ bibdate = "Fri Jul 22 09:41:00 1994",
+ acknowledgement = ack-kb,
+}
+
+@Proceedings{vanVliet:1988:DMT,
+ editor = "J. C. van Vliet",
+ booktitle = "Document Manipulation and Typography. Proceedings of
+ the International Conference on Electronic Publishing,
+ Document Manipulation and Typography, Nice (France),
+ April 20--22, 1988",
+ title = "Document Manipulation and Typography. Proceedings of
+ the International Conference on Electronic Publishing,
+ Document Manipulation and Typography, Nice (France),
+ April 20--22, 1988",
+ publisher = pub-CUP,
+ address = pub-CUP:adr,
+ pages = "vi + 288",
+ year = "1988",
+ ISBN = "0-521-36294-6",
+ ISBN-13 = "978-0-521-36294-8",
+ LCCN = "Z286.E43 I571 1988",
+ bibdate = "Mon Jul 25 11:52:56 1994",
+ price = "US\$47.50",
+ acknowledgement = ack-hk,
+}
+
+@Proceedings{Veer:1988:HCI,
+ editor = "Gerrit C. van der Veer and Gijsbertus Mulder",
+ booktitle = "Human-computer Interaction: Psychonomic Aspects.
+ Conference of the Dutch Psychonomic Society",
+ title = "Human-computer Interaction: Psychonomic Aspects.
+ Conference of the Dutch Psychonomic Society",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "458",
+ year = "1988",
+ ISBN = "0-387-18901-7",
+ ISBN-13 = "978-0-387-18901-7",
+ bibdate = "Thu Jul 21 23:41:57 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Wezler:1986:PXI,
+ editor = "Albrecht Wezler and Ernst Hammerschmidt",
+ booktitle = "Proceedings of the {XXXII} International Congress for
+ Asian and North African Studies, Hamburg, 25th--30th
+ August 1986",
+ title = "Proceedings of the {XXXII} International Congress for
+ Asian and North African Studies, Hamburg, 25th--30th
+ August 1986",
+ number = "IX",
+ publisher = pub-STEINER,
+ address = pub-STEINER:adr,
+ pages = "lxxi + 719",
+ year = "1986",
+ ISBN = "3-515-04808-1",
+ ISBN-13 = "978-3-515-04808-8",
+ LCCN = "DS1.5 .I565 1986",
+ bibdate = "Tue Jul 26 09:38:31 1994",
+ series = "Zeitschrift der Deutschen Morgenl{\"a}ndischen
+ Gesellschaft, Supplement",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Zlatuska:1992:EPE,
+ editor = "Ji{\v{r}}{\'\i} Zlatu{\v{s}}ka",
+ booktitle = "{Euro{\TeX}} 92: Proceedings of the 7th European
+ {\TeX} Conference",
+ title = "{Euro{\TeX}} 92: Proceedings of the 7th European
+ {\TeX} Conference",
+ publisher = pub-MASARYKOVA,
+ address = pub-MASARYKOVA:adr,
+ pages = "viii + 330",
+ month = sep,
+ year = "1992",
+ ISBN = "80-210-0480-0",
+ ISBN-13 = "978-80-210-0480-1",
+ bibdate = "Sat Aug 27 11:11:50 1994",
+ acknowledgement = ack-nhfb,
+}
diff --git a/Master/texmf-dist/bibtex/bib/beebe/texgraph.bib b/Master/texmf-dist/bibtex/bib/beebe/texgraph.bib
new file mode 100644
index 00000000000..1d368548855
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/beebe/texgraph.bib
@@ -0,0 +1,2839 @@
+%%% -*-BibTeX-*-
+%%% /u/sy/beebe/tex/bib/texgraph.bib, Fri Jun 21 09:31:33 1991
+%%% Edit by Nelson H. F. Beebe <beebe at magna.math.utah.edu>
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "2.00",
+%%% date = "26 July 2005",
+%%% time = "09:10:05 MDT",
+%%% filename = "texgraph.bib",
+%%% address = "University of Utah
+%%% Department of Mathematics, 110 LCB
+%%% 155 S 1400 E RM 233
+%%% Salt Lake City, UT 84112-0090
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 581 4148",
+%%% checksum = "03829 2839 10819 99945",
+%%% email = "beebe at math.utah.edu, beebe at acm.org,
+%%% beebe at computer.org (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "AWK, bibliography, BibTeX,
+%%% digital-halftoning, ditroff, dvips,
+%%% dvitops, EEPIC, EPIC, Feynman-diagrams,
+%%% FPIC, GNUPLOT, GRAP, graphics, HITeX, JTeX,
+%%% Juno, PEX, PHIGS, PIC, PiCTeX, PLOT79,
+%%% PostScript, PStricks, TeX, texpic, TeXtyl,
+%%% TIFF, TPIC, trees, X-Window-System,
+%%% Xerox-Color-Encoding-Standard, Xlib",
+%%% supported = "yes",
+%%% docstring = "This BibTeX file records publications about
+%%% the use of graphics in TeX documents.
+%%% Sebastian Rahtz kindly provided the first 58
+%%% entries in this bibliography which started
+%%% the collection, and Nelson H. F. Beebe
+%%% provided another 70+ to make the first
+%%% version. The ISBN and ISSN fields will be
+%%% printed if the is-alpha.bst or is-plain.bst
+%%% style files are used.
+%%%
+%%% At version 2.00, the year coverage looked
+%%% like this:
+%%%
+%%% 1967 ( 1) 1980 ( 1) 1993 ( 0)
+%%% 1968 ( 0) 1981 ( 4) 1994 ( 1)
+%%% 1969 ( 1) 1982 ( 3) 1995 ( 3)
+%%% 1970 ( 1) 1983 ( 6) 1996 ( 4)
+%%% 1971 ( 0) 1984 ( 4) 1997 ( 9)
+%%% 1972 ( 1) 1985 ( 7) 1998 ( 2)
+%%% 1973 ( 0) 1986 ( 10) 1999 ( 2)
+%%% 1974 ( 0) 1987 ( 21) 2000 ( 0)
+%%% 1975 ( 0) 1988 ( 20) 2001 ( 1)
+%%% 1976 ( 1) 1989 ( 20) 2002 ( 0)
+%%% 1977 ( 1) 1990 ( 14) 2003 ( 1)
+%%% 1978 ( 0) 1991 ( 8) 2004 ( 5)
+%%% 1979 ( 2) 1992 ( 5)
+%%%
+%%% Article: 89
+%%% Book: 33
+%%% InCollection: 5
+%%% InProceedings: 3
+%%% Manual: 13
+%%% Misc: 2
+%%% PhdThesis: 1
+%%% Proceedings: 3
+%%% TechReport: 16
+%%% Unpublished: 4
+%%%
+%%% Total entries: 169
+%%%
+%%% CONVENTIONS
+%%%
+%%% Books are tagged by the first author's last
+%%% name, a colon, up to 3 upper-case letters
+%%% taken from the first three upper-case words
+%%% in the title (ignoring words like A, And,
+%%% The), followed by the last two digits of
+%%% the publication year. If there is a volume
+%%% entry, it is appended to the tag, prefixed
+%%% by a hyphen.
+%%%
+%%% For Dutch authors, a van part is included
+%%% in the author tag. For names with accented
+%%% letters, accents are dropped in the author
+%%% tag.
+%%%
+%%% This scheme is systematic enough that it
+%%% can be programmed: most of the
+%%% Addison-Wesley book entries were created
+%%% with an awk program from a dump of the AW
+%%% database supplied by Mona Zeftel. Older
+%%% entries in this bibliography were modified
+%%% on 28-Nov-1990 to conform to this tagging
+%%% scheme.
+%%%
+%%% The choice of a limit of 3 letters was
+%%% determined from experiments on the
+%%% Addison-Wesley collection. Long tags are
+%%% undesirable because they are a nuisance to
+%%% type, and also interfere with the tagged
+%%% bibliography output produced using the
+%%% LaTeX showtags style option.
+%%%
+%%% Journal article tags look like
+%%% author:abbrev-volume-number-page, where the
+%%% author part is the last name of the first
+%%% author: for example,
+%%% Bhattacharya:PR203-1-203.
+%%%
+%%% Where systematic numbers are available,
+%%% technical report tags should look like
+%%% author:abbrev-number: for example,
+%%% Billawala:STAN-CS-89-1256.
+%%%
+%%% Entries are stored ordered by the BibTeX
+%%% tag name, independent of the entry type
+%%% (the GNU Emacs function sort-bibtex-entries
+%%% can be used to ensure correct ordering).
+%%% However, entries that are cross-referenced
+%%% by others are stored at the end of the
+%%% file, since that order is required by
+%%% BibTeX.
+%%%
+%%% With few exceptions, value fields for
+%%% acknowledgement, address, journal, and
+%%% publisher keywords should use macros
+%%% defined in the string preamble below. This
+%%% helps to ensure consistency, and reduces
+%%% the entry sizes. Address entries must
+%%% always include the country.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+
+@Preamble{"\input bibnames.sty "
+ # "\input path.sty "
+ # "\ifx \undefined \acro \def\acro#1{{\sc #1}} \fi "
+ # "\ifx \undefined \bs \def\bs{{\char92}} \fi "
+ # "\ifx \undefined \Dash \def \Dash{\nobreak\thinspace---\penalty0\thinspace} \fi "
+ # "\ifx \undefined \DVI \def\DVI{{\tt dvi}} \fi "
+ # "\ifx \undefined \EPIC \def\EPIC{{\tt epic}} \fi "
+ # "\ifx \undefined \FEATPOST \def \FEATPOST {{\manfnt FEAT}\-{\manfnt POST}\spacefactor1000 }\fi"
+ # "\ifx \undefined \GRAP \def\GRAP{{\tt grap}} \fi "
+ # "\ifx \undefined \JTeX \def\JTeX{J\TeX{}} \fi "
+ # "\ifx \undefined \MP \def \MP {{\manfnt META}\-{\manfnt POST}\spacefactor1000 } \fi"
+ # "\ifx \undefined \PiC \def\PiC{{\sc pic}} \fi "
+ # "\ifx \undefined \PiCTeX \def\PiCTeX{{\PiC\TeX}} \fi "
+ # "\ifx \undefined \TEXHAX \def\TEXHAX{{\TeX{}hax}} \fi "
+ # "\ifx \undefined \TEXTYL \def\TEXTYL{{\TeX{}tyl}} \fi "
+ # "\ifx \undefined \TPIC \def\TPIC{{\tt tpic}} \fi "
+ # "\ifx \undefined \Xy \def \Xy{{\sc Xy}} \fi "
+ # "\ifx \undefined \XYMTeX \def\XYMTeX{X\kern-.25em\smash{\raise.50ex\hbox{\char'7}}\kern-.25em{M}\kern-.1em\TeX} \fi "
+
+ # "\hyphenation{An-wen-der-ver-ei-ni-gung Co-lo-phon Deutsch-sprach-ige}"
+}
+
+@String{ack-nhfb = "Nelson H. F. Beebe,
+ University of Utah,
+ Department of Mathematics, 110 LCB,
+ 155 S 1400 E RM 233,
+ Salt Lake City, UT 84112-0090, USA,
+ Tel: +1 801 581 5254,
+ FAX: +1 801 581 4148,
+ e-mail: \path|beebe@math.utah.edu|,
+ \path|beebe@acm.org|,
+ \path|beebe@computer.org| (Internet),
+ URL: \path|http://www.math.utah.edu/~beebe/|"}
+
+@String{ack-spqr = "Sebastian P. Q. Rahtz,
+ Department of Computer Science,
+ University of Southampton,
+ Southampton,
+ SO9 5NH, UK,
+ e-mail: JANET: \path|S.P.Q.Rahtz@ecs.southampton.ac.uk|"}
+
+%%% NB: TeX normally will not hyphenate words connected by a dash, and
+%%% will normally allow a line break only after such a dash, not before.
+%%% However, style guides show examples of the em dash starting a line,
+%%% so a break before is probably okay. I have been unable to get TeX to
+%%% hyphenate automatically after an \emdash (either the macro, or ---),
+%%% so I have inserted explicit discretionary hyphens after such cases.
+%%%
+
+%%% ====================================================================
+%%% Institution abbreviations:
+
+@String{inst-STAN-CS = "Stanford University, Department of Computer
+ Science"}
+
+@String{inst-STAN-CS:adr = "Stanford, CA, USA"}
+
+%%% ====================================================================
+%%% Journal abbreviations:
+
+@String{j-CACM = "Communications of the Association for
+ Computing Machinery"}
+
+@String{j-CBM = "Computers in Biology and Medicine"}
+
+@String{j-CC = "Computers and Chemistry"}
+
+@String{j-CGF = "Computer Graphics Forum"}
+
+@String{j-CGIP = "Computer Graphics and Image Processing"}
+
+@String{j-COMP-GRAPHICS = "Computer Graphics"}
+
+@String{j-COMP-PHYS-COMM = "Computer Physics Communications"}
+
+@String{j-CPC = "Computer Physics Communications"}
+
+@String{j-DDJ = "Dr. Dobb's Journal of Software Tools"}
+
+@String{j-EPODD = "Electronic Publishing\emdash Origination,
+ Dissemination, and Design"}
+
+@String{j-GUTENBERG = "Cahiers {GUTenberg}"}
+
+@String{j-OR = "Opuscula Romana"}
+
+@String{j-PROC-SID = "Proceedings of the Society for Information
+ Display"}
+
+@String{j-SIGGRAPH = "ACM SIG{\-}GRAPH\emdash Com{\-}puter
+ Graphics"}
+
+@String{j-SPE = "Soft{\-}ware\emdash Prac{\-}tice and
+ Experience"}
+
+@String{j-TEXNIQUES = "{\TeX{}}{\-}niques, Publications for the
+ {\TeX{}} community"}
+
+@String{j-TOG = "ACM Transactions on Graphics"}
+
+@String{j-TUGboat = "{\TUB{}}"}
+
+@String{j-USENIX-SCP = "{USENIX} Summer Conference Proceedings"}
+
+%%% ====================================================================
+%%% Publisher abbreviations:
+
+@String{pub-ADOBE = "{Adobe Systems Incorporated}"}
+
+@String{pub-ADOBE:adr = "1585 Charleston Road, P.~O. Box 7900,
+ Mountain View, CA 94039-7900, USA, Tel:
+ (415) 961-4400"}
+
+@String{pub-ANSI = "American National Standards Institute"}
+
+@String{pub-ANSI:adr = "1430 Broadway, New York, N. Y., 10018"}
+
+@String{pub-AP = "Academic Press"}
+
+@String{pub-AP:adr = "New York, NY, USA"}
+
+@String{pub-ARBORTEXT = "Arbortext, Inc."}
+
+@String{pub-ARBORTEXT:adr = "Ann Arbor, MI, USA"}
+
+@String{pub-ATT-BELL = "AT\&T Bell Laboratories"}
+
+@String{pub-ATT-BELL:adr = "Murray Hill, NJ, USA"}
+
+@String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
+
+@String{pub-AW:adr = "Reading, MA, USA"}
+
+@String{pub-DP = "Digital Press"}
+
+@String{pub-DP:adr = "12 Crosby Drive, Bedford, MA 01730, USA"}
+
+@String{pub-ELLIS-HORWOOD = "Ellis Horwood"}
+
+@String{pub-ELLIS-HORWOOD:adr = "New York, NY, USA"}
+
+@String{pub-GP = "Graphics Press"}
+
+@String{pub-GP:adr = "Box 430, Cheshire, CT 06410, USA"}
+
+@String{pub-HRW = "Holt, Rinehart, and Winston"}
+
+@String{pub-HRW:adr = "New York, NY, USA"}
+
+@String{pub-MASARYKOVA = "Masarykova Universita"}
+
+@String{pub-MASARYKOVA:adr = "Brno, Czechoslovakia"}
+
+@String{pub-MEGATEK = "Megatek Corporation"}
+
+@String{pub-MEGATEK:adr = "9645 Scranton Rd, San Diego, CA 92121, USA"}
+
+@String{pub-MH = "Mc{\-}Graw-Hill"}
+
+@String{pub-MH:adr = "New York, NY, USA"}
+
+@String{pub-MIT = "MIT Press"}
+
+@String{pub-MIT:adr = "Cambridge, MA, USA"}
+
+@String{pub-ORA = "O'Reilly \& {Associates, Inc.}"}
+
+@String{pub-ORA:adr = "981 Chestnut Street, Newton, MA 02164, USA"}
+
+@String{pub-OXFORD = "Oxford University Press"}
+
+@String{pub-OXFORD:adr = "Walton Street, Oxford OX2 6DP, UK"}
+
+@String{pub-PH = "Pren{\-}tice-Hall"}
+
+@String{pub-PH:adr = "Englewood Cliffs, NJ 07632, USA"}
+
+@String{pub-STAN-CS = "Stanford University, Department of Computer
+ Science"}
+
+@String{pub-STAN-CS:adr = "Stanford, CA, USA"}
+
+@String{pub-SV = "Spring{\-}er-Ver{\-}lag"}
+
+@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/
+ London, UK~/ etc."}
+
+@String{pub-SYBEX = "Sybex"}
+
+@String{pub-SYBEX:adr = "2021 Challenger Driver, Suite 100, Alameda,
+ CA 94501, USA"}
+
+@String{pub-TUG = "{\TeX} Users Group"}
+
+@String{pub-TUG:adr = "Providence, RI, USA"}
+
+@String{pub-URW = "URW Verlag"}
+
+@String{pub-URW:adr = "Hamburg, Germany"}
+
+@String{pub-USENIX = "USENIX"}
+
+@String{pub-USENIX:adr = "Berkeley, CA, USA"}
+
+@String{pub-USNPS = "U. S. Naval Postgraduate School"}
+
+@String{pub-USNPS:adr = "Monterey, CA 93940, USA"}
+
+@String{pub-USNWL = "U. S. Naval Weapons Laboratory"}
+
+@String{pub-USNWL:adr = "Dahlgren, VA 22448, USA"}
+
+%%% ====================================================================
+%%% Series abbreviations:
+
+@String{ser-LNCS = "Lecture Notes in Computer Science"}
+
+%%% ====================================================================
+%%% Bibliography entries sorted by citation label:
+
+@Misc{Adobe:colophon,
+ author = pub-ADOBE,
+ title = "{Colophon}\emdash {Adobe Systems News} {Publication}",
+ address = pub-ADOBE:adr,
+ bibdate = "Mon Mar 14 23:15:58 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Adobe:PLP88,
+ author = "Glenn C. Reid",
+ title = "{PostScript} Language Program Design",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xii + 224",
+ year = "1988",
+ ISBN = "0-201-14396-8",
+ ISBN-13 = "978-0-201-14396-6",
+ LCCN = "QA76.73.P67 R45 1988",
+ bibdate = "Sat Aug 27 11:13:46 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Adobe:PLR85,
+ author = pub-ADOBE,
+ title = "{PostScript} Language Reference Manual",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "ix + 321",
+ year = "{\noopsort{1985a}}1985",
+ ISBN = "0-201-10174-2",
+ ISBN-13 = "978-0-201-10174-4",
+ LCCN = "QA76.73.P67 A33 1985",
+ bibdate = "Sat Aug 27 11:13:49 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Adobe:PLT85,
+ author = pub-ADOBE,
+ title = "{PostScript} Language Tutorial and Cookbook",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "x + 243",
+ year = "{\noopsort{1985b}}1985",
+ ISBN = "0-201-10179-3",
+ ISBN-13 = "978-0-201-10179-9",
+ LCCN = "QA76.73.P67 A34 1985",
+ bibdate = "Sat Aug 27 11:13:42 1994",
+}
+
+@TechReport{Aldus:tiff,
+ author = "Aldus Corporation and Microsoft Corporation",
+ title = "Tag Image File Format ({TIFF}) Specification Revision
+ 5.0",
+ institution = "Aldus Corporation, 411 First Avenue South, Suite 200,
+ Seattle, WA 98104, Tel: (206) 622-5500, and Microsoft
+ Corporation, 16011 NE 36th Way, Box 97017, Redmond, WA
+ 98073-9717, Tel: (206) 882-8080",
+ month = aug # " 8",
+ year = "1988",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Andrews:TB10-2-177-178,
+ author = "Phil Andrews",
+ title = "{{Integration of \TeX\ and graphics at the Pittsburgh
+ Supercomputing Center}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "177--178",
+ month = jul,
+ year = "1989",
+ bibdate = "Wed Apr 7 10:22:07 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ abstract = "Drivers which support \protect\verb|\special| commands
+ which include CGM files.",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Article{Anonymous:TB10-1-118,
+ author = "Anonymous",
+ title = "{{GUTenberg Congr\`es:\ {\TeX} et les graphiques,
+ Paris, 16--17 May 1989}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "118--118",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Manual{ANSI:gks,
+ title = "Information Systems\emdash Com\-puter Graphics\emdash
+ Graph\-i\-cal Kernel System ({GKS}). {ANSI}
+ {X3}.124-1985",
+ organization = pub-ANSI,
+ address = pub-ANSI:adr,
+ year = "1985",
+ bibdate = "Mon Mar 14 23:18:01 1994",
+ note = "Includes Fortran bindings to GKS.",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{ANSI:phigs,
+ title = "Information Systems\emdash Com\-puter Graphics\emdash
+ Pro\-gram\-mer's Hierarchical Interactive Graphical
+ System. Draft proposal {X3}.144.1988",
+ organization = pub-ANSI,
+ address = pub-ANSI:adr,
+ year = "1988",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{ANSI:phigs+,
+ title = "{PHIGS}+ Functional Description, Revision 2.0",
+ organization = pub-ANSI,
+ address = pub-ANSI:adr,
+ month = jul # " 20",
+ year = "1987",
+ bibdate = "Mon Mar 14 23:18:31 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Appelt:TB9-3-284-287,
+ author = "Wolfgang Appelt",
+ title = "{{Typesetting chess}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "284--287",
+ month = Nov,
+ year = "1988",
+ acknowledgement = ack-spqr,
+}
+
+@Manual{Arbortext:1986,
+ author = "{Arbortext Inc}",
+ title = "Manual for {DVIPS}",
+ year = "1986",
+ note = "See notes on LPEXT distributed with the software.",
+ acknowledgement = ack-spqr,
+}
+
+@Book{ATT:UPM83-2,
+ author = "AT{\&T}",
+ key = "ATT",
+ title = "{UNIX} Programmer's Manual",
+ volume = "2",
+ publisher = pub-HRW,
+ address = pub-HRW:adr,
+ pages = "vii + 616",
+ year = "1983",
+ ISBN = "0-03-061743-X",
+ ISBN-13 = "978-0-03-061743-0",
+ LCCN = "QA76.8.U65 B44 1983",
+ bibdate = "Mon Sep 30 17:04:17 1996",
+ acknowledgement = ack-nhfb,
+ xxnote = "NB: special form AT{\&T} required to get correct
+ alpha-style labels.",
+}
+
+@Article{Beck:TB11-3-373-380,
+ author = "Micah Beck and A. Siegel",
+ title = "{TransFig}: Portable Figures for {\TeX}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "373--380",
+ year = "1990",
+ bibdate = "Wed Apr 7 10:22:09 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ abstract = "Fig is a public domain drawing program which runs
+ Sunview or X Windows; Transfig is a set of programs to
+ translate Fig format into a variety of formats,
+ including {\PiCTeX}, {\LaTeX} pictures and {\PS}.",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Article{Beebe:dvi-drivers,
+ author = "Nelson H. F. Beebe",
+ title = "A {\TeX} {DVI} Driver Family",
+ journal = j-TEXNIQUES,
+ volume = "5",
+ pages = "71--114",
+ month = aug,
+ year = "1987",
+ note = "Proceedings of the Eighth Annual Meeting of the \TeX{}
+ Users Group",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Beebe:plot79,
+ author = "Nelson H. F. Beebe",
+ title = "A User's Guide to {\PLOT}",
+ institution = "University of Utah",
+ year = "1980",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Beebe:plot79-biomed,
+ author = "Nelson H. F. Beebe and R. P. C. Rodgers",
+ title = "{\PLOT}: a comprehensive portable {Fortran} scientific
+ line graphics system, as applied to biomedical
+ research",
+ journal = j-CBM,
+ volume = "19",
+ number = "6",
+ pages = "385--402",
+ year = "1989",
+}
+
+@Article{Beebe:tex-graphics,
+ author = "Nelson H. F. Beebe",
+ title = "{\TeX{}} and Graphics: The State of the Problem",
+ journal = j-GUTENBERG,
+ volume = "2",
+ pages = "13--53",
+ year = "1989",
+ note = "Presented to: Congr{\`{e}}s GUTenberg, Paris, France,
+ 16--17 May 1989",
+}
+
+@TechReport{Bentley/Kernighan:1984,
+ author = "Jon Bentley and Brian W. Kernighan",
+ title = "{\GRAP}\emdash a language for typesetting graphs",
+ type = "Computing Science Technical Report",
+ number = "114",
+ institution = pub-ATT-BELL,
+ address = pub-ATT-BELL:adr,
+ year = "1984",
+ note = "Also distributed as software documentation.",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Bentley:grap,
+ author = "Jon Louis Bentley and Brian W. Kernighan",
+ title = "{GRAP}\emdash {A} Language for typesetting graphs",
+ journal = j-CACM,
+ volume = "29",
+ number = "8",
+ pages = "782--792",
+ month = aug,
+ year = "1986",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Bentley:pic,
+ author = "Jon Louis Bentley",
+ title = "Programming Pearls\emdash Little Languages",
+ journal = j-CACM,
+ volume = "29",
+ number = "8",
+ pages = "711--721",
+ month = aug,
+ year = "1986",
+ note = "Description of the {\em pic\/} language.",
+ abstract = "Discusses the design of {\em ad hoc} languages for
+ specialist tasks, such as {\GRAP}.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Berendt:TB11-2-190-194,
+ author = "Gerhard Berendt",
+ title = "{{On the implementation of graphics into \TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "190--194",
+ month = jun,
+ year = "1990",
+ bibdate = "Wed Apr 7 10:22:10 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ abstract = "Picture macros which are implemented with a
+ combination of {\LaTeX} picture and {\EPIC}, and macros
+ for including {\PS} pictures.",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Book{Brown:UP85,
+ author = "Maxine Brown",
+ title = "Understanding {PHIGS}",
+ publisher = pub-MEGATEK,
+ address = pub-MEGATEK:adr,
+ year = "1985",
+ LCCN = "T385 .B761 1985",
+ bibdate = "Wed Dec 15 15:35:57 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Bruggemann-Klein:1989,
+ author = "Anne Br{\"{u}}ggemann-Klein and Derrick Wood",
+ title = "Drawing trees nicely with {\TeX}",
+ journal = j-EPODD,
+ volume = "3",
+ pages = "101--115",
+ year = "1989",
+ abstract = "Use pure {\TeX} to draw complicated trees.",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Carlisle:TB17-3-321,
+ author = "David Carlisle",
+ title = "{{{A {\LaTeX} tour, Part 2: The {\sf tools} and {\sf
+ graphics} distributions}}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "321--326",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB2-3-25,
+ author = "Lance Carnes",
+ title = "{{\TeX\ for the HP3000}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "25",
+ month = nov,
+ year = "1981",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Childs:TB10-1-44-46,
+ author = "Bart Childs and Alan Stolleis and Don Berryman",
+ title = "{{A portable graphics inclusion}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "44--46",
+ month = apr,
+ year = "1989",
+ bibdate = "Wed Apr 7 10:22:10 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ abstract = "Discussion of standards for \verb|\special| commands
+ to include external figure files.",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Unpublished{Clark:1989,
+ author = "James Clark",
+ title = "{DVITOPS} User Manual",
+ year = "1989",
+ note = "Unpublished machine-readable documentation.",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Clark:TB12-1-157-165,
+ author = "Adrian Clark",
+ title = "Practical halftoning with {\TeX}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "157--165",
+ year = "1991",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Clark:TB13-3-253,
+ author = "Malcolm Clark",
+ title = "{{Portable graphics in {\TeX}}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "253--260",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB8-3-270,
+ author = "Adrian F. Clark",
+ title = "{{Halftone output from \TeX}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "270",
+ month = nov,
+ year = "1987",
+}
+
+@Article{Damrau:TB13-3-315,
+ author = "Jackie Damrau",
+ title = "{{Discovering graphics in {\LaTeX} documents}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "315--321",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dvonch:color-pdl,
+ author = "Mary Ann Dvonch and Paul Roetling and Robert Buckley",
+ title = "Color Descriptors in Page Description Languages",
+ journal = j-PROC-SID,
+ volume = "30",
+ number = "2",
+ pages = "177--181",
+ year = "1989",
+ bibdate = "Sun Dec 4 12:30:46 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Ehrbar:TB7-3-171,
+ author = "Hans Ehrbar",
+ title = "{{Statistical graphics with \TeX}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "171--175",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Wed Apr 07 10:22:13 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Book{Enderle:CGP84,
+ author = "G. Enderle and K. Kansy and G. Pfaff",
+ title = "Computer Graphics Programming. {GKS}\emdash The
+ Graphics Standard",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "xvi + 542",
+ year = "1984",
+ ISBN = "0-387-11525-0, 3-540-11525-0",
+ ISBN-13 = "978-0-387-11525-2, 978-3-540-11525-0",
+ LCCN = "T385 .E531 1984",
+ bibdate = "Wed Dec 15 07:59:26 1993",
+ series = "Symbolic Computation, Editor: J.
+ Encarna{\c{c}}{\~{a}}o and P. Hayes",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{epic,
+ author = "Sunil Podar",
+ title = "Enhancements to the Picture Environment of {\LaTeX}",
+ type = "Technical Report",
+ number = "86-17",
+ institution = "Department of Computer Science, S.U.N.Y",
+ year = "1986",
+ note = "Version 1.2: July 14, 1986.",
+ abstract = "Describes the {\EPIC} macros, which extend the
+ capabilities of {\LaTeX} picture without requiring new
+ facilities.",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Eppstein:TB6-1-31,
+ author = "David Eppstein",
+ title = "{{Trees in \TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "31--35",
+ month = mar,
+ year = "1985",
+ abstract = "Drawing simple horizontal trees in plain {\TeX} or
+ {\LaTeX}.",
+ acknowledgement = ack-spqr,
+}
+
+@Manual{Finston:2003:URM,
+ author = "Laurence D. Finston",
+ title = "{3DLDF} user and reference manual: $3$-dimensional
+ drawing with {\MP} output",
+ organization = "????",
+ address = "????",
+ pages = "ix + 269",
+ year = "2003",
+ bibdate = "Tue Jul 12 10:58:15 2005",
+ note = "Manual edition 1.0 for 3DLDF version 1.0 September
+ 2003.",
+ URL = "http://dante.ctan.org/CTAN/graphics/3DLDF/3DLDF.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Finston:2004:URM,
+ author = "Laurence D. Finston",
+ title = "{3DLDF} user and reference manual: $3$-dimensional
+ drawing with {\MP} output",
+ organization = "????",
+ address = "????",
+ pages = "x + 296",
+ year = "2004",
+ bibdate = "Tue Jul 12 10:58:15 2005",
+ note = "Manual edition 1.1.5.1 for 3DLDF version 1.1.5.1
+ January 2004.",
+ URL = "http://dante.ctan.org/CTAN/graphics/3DLDF/3DLDF.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Foley:FIC82,
+ author = "James D. Foley and Andries van Dam",
+ title = "Fundamentals of Interactive Computer Graphics",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xx + 664",
+ year = "1982",
+ ISBN = "0-201-14468-9",
+ ISBN-13 = "978-0-201-14468-0",
+ LCCN = "T385 .F63 1982",
+ bibdate = "Wed Dec 15 08:01:46 1993",
+ series = "The Systems Programming Series",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Fossmeier:TB12-2-229-232,
+ author = "Reinhard F{\"o}{\ss}meier",
+ title = "{X} bitmaps in {\TeX}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "229--232",
+ year = "1991",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Fossmeier:TB15-4-492,
+ author = "Reinhard F{\"o}{\ss}meier",
+ title = "{{Stereographic pictures using {\TeX}}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "492--495",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Frick:1999:SGP,
+ author = "Arne Frick and Georg Sander and Kathleen Wang",
+ title = "Simulating Graphs As Physical Systems",
+ journal = j-DDJ,
+ volume = "24",
+ number = "8",
+ pages = "58, 60--64",
+ month = aug,
+ year = "1999",
+ CODEN = "DDJOEB",
+ ISSN = "1044-789X",
+ bibdate = "Fri Jul 16 19:10:34 MDT 1999",
+ URL = "http://www.ddj.com/",
+ abstract = "Automatically generating comprehensible graphs for
+ large amounts of data is a difficult problem in
+ computer science. Our authors describe an algorithm
+ based on a physical system of springs for drawing a
+ useful and aesthetically pleasing graph from a large
+ data set.",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Fujita:TB16-1-80,
+ author = "Shinsaku Fujita",
+ title = "{{{\XYMTeX} for drawing chemical structural
+ formulas}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "80--88",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@InProceedings{Goncalves:2004:FRM,
+ author = "Luis Nobre Gon{\c{c}}alves",
+ title = "{\FEATPOST} and a Review of $3${D} {\MP} Packages",
+ crossref = "Syropoulos:2004:TXD",
+ pages = "112--124",
+ year = "2004",
+ CODEN = "LNCSD9",
+ ISSN = "0302-9743",
+ bibdate = "Tue Nov 16 17:43:44 2004",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Goossens:1997:LGC,
+ author = "Michel Goossens and Sebastian Rahtz and Frank
+ Mittelbach",
+ title = "The {\LaTeX} Graphics Companion: Illustrating
+ Documents with {\TeX} and {PostScript}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xxi + 554",
+ year = "1997",
+ ISBN = "0-201-85469-4",
+ ISBN-13 = "978-0-201-85469-5",
+ LCCN = "Z253.4.L38G663 1997",
+ bibdate = "Fri Jul 11 07:51:47 1997",
+ price = "US\$39.75",
+ series = "Tools and Techniques for Computer Typesetting",
+ acknowledgement = ack-nhfb,
+ keywords = "LaTeX (Computer file); Computerized typesetting.;
+ PostScript (Computer program language); Scientific
+ illustration -- Computer programs.; Mathematics
+ printing -- Computer programs.; Technical publishing --
+ Computer programs.",
+}
+
+@Article{Gourlay:music-printing,
+ author = "John S. Gourlay",
+ title = "A language for music printing",
+ journal = j-CACM,
+ volume = "29",
+ number = "5",
+ pages = "388--401",
+ month = may,
+ year = "1986",
+ ISSN = "0001-07782",
+ bibdate = "Sun Aug 14 18:32:13 MDT 1994",
+ acknowledgement = ack-nhfb,
+ keywords = "design; human factors; languages",
+ review = "ACM CR 8612-1130",
+ subject = "J.5 Computer Applications, ARTS AND HUMANITIES, Music
+ \\ I.7.2 Computing Methodologies, TEXT PROCESSING,
+ Document Preparation, Format and notation \\ I.7.2
+ Computing Methodologies, TEXT PROCESSING, Document
+ Preparation, Languages",
+}
+
+@Article{Haas/Kane:1987,
+ author = "Roswitha T. Haas and Kevin C. O'Kane",
+ title = "Typesetting Chemical Structure Formulas with the Text
+ Formatter {\TeX}/{\LaTeX}",
+ journal = j-CC,
+ volume = "11",
+ number = "4",
+ pages = "251--271",
+ year = "1987",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Hamilton-Kelly:TB11-1-103-119,
+ author = "Brian {Hamilton Kelly}",
+ title = "{{Some macros to draw crosswords}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "103--119",
+ month = apr,
+ year = "1990",
+ acknowledgement = ack-spqr,
+}
+
+@Manual{Hammerlindl:2004:ASB,
+ author = "Andy Hammerlindl and John Bowman and Tom Prince",
+ title = "{{\tt Asymptote}}: a script-based vector graphics
+ language",
+ organization = "Faculty of Science, University of Alberta",
+ address = "Edmonton, AB, Canada",
+ year = "2004",
+ bibdate = "Tue Jul 12 11:15:03 2005",
+ note = "{\tt Asymptote} is a powerful script-based vector
+ graphics language for technical drawing, inspired by
+ \MP{} but with an improved C++-like syntax. {\tt
+ Asymptote} provides for figures the same high-quality
+ level of typesetting that \LaTeX{} does for scientific
+ text.",
+ URL = "http://asymptote.sourceforge.net/",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Harrington:CGP83,
+ author = "Steven Harrington",
+ title = "Computer Graphics\emdash {A} Programming Approach",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ pages = "xv + 448",
+ year = "1983",
+ ISBN = "0-07-026751-0",
+ ISBN-13 = "978-0-07-026751-0",
+ LCCN = "T385 .H34 1983",
+ bibdate = "Tue Dec 14 23:42:22 1993",
+ price = "US\$21.95",
+ acknowledgement = ack-nhfb,
+ libnote = "Missing from my library.",
+}
+
+@Book{Harrington:CGP87,
+ author = "Steven Harrington",
+ title = "Computer Graphics\emdash {A} Programming Approach",
+ publisher = pub-MH,
+ address = pub-MH:adr,
+ edition = "Second",
+ pages = "xiv + 466",
+ year = "1987",
+ ISBN = "0-07-026753-7",
+ ISBN-13 = "978-0-07-026753-4",
+ LCCN = "T385 .H34 1987",
+ bibdate = "Tue Dec 14 22:55:04 1993",
+ price = "US\$38.95",
+ acknowledgement = ack-nhfb,
+}
+
+@InCollection{Heinz:1990,
+ author = "Alois Heinz",
+ title = "Including pictures in {\TeX}",
+ crossref = "Clark:TAU90",
+ abstract = "General discussion of methods of graphics inclusion in
+ {\TeX}.",
+ acknowledgement = ack-spqr,
+}
+
+@TechReport{Hershey:1981:ACT,
+ author = "Allen V. Hershey",
+ title = "Advanced Computer Typography",
+ number = "NPS012-81-005",
+ institution = pub-USNPS,
+ address = pub-USNPS:adr,
+ month = dec,
+ year = "1981",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Hershey:calligraphy,
+ author = "Allen V. Hershey",
+ title = "Calligraphy for Computers",
+ number = "TR-2101",
+ institution = pub-USNWL,
+ address = pub-USNWL:adr,
+ month = aug,
+ year = "1967",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Hershey:computer-typography,
+ author = "Allen V. Hershey",
+ title = "A Computer System for Scientific Typography",
+ journal = j-CGIP,
+ volume = "1",
+ pages = "373--385",
+ year = "1972",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Hershey:fortran-cartography,
+ author = "Allen V. Hershey",
+ title = "{FORTRAN IV} Programming for Cartography and
+ Typography",
+ number = "TR-2339",
+ institution = pub-USNWL,
+ address = pub-USNWL:adr,
+ month = sep,
+ year = "1969",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Hershey:fortran-typography,
+ author = "Allen V. Hershey",
+ title = "Preparation of Reports with the {FORTRAN} Typographic
+ System",
+ number = "TN-K\slash 27-70",
+ institution = pub-USNWL,
+ address = pub-USNWL:adr,
+ month = sep,
+ year = "1970",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Hobby:1983:CMF,
+ author = "John Hobby and Gu Guoan",
+ title = "A {Chinese Meta-Font}",
+ type = "Report",
+ number = "STAN-CS-83-974",
+ institution = inst-STAN-CS,
+ address = inst-STAN-CS:adr,
+ year = "1983",
+ bibdate = "Sat Feb 10 14:51:21 1996",
+ acknowledgement = ack-hk,
+}
+
+@PhdThesis{Hobby:1986:DBT,
+ author = "John Douglas Hobby",
+ title = "Digitized Brush Trajectories",
+ type = "{Ph.D.} dissertation",
+ school = "Department of Computer Science, Stanford University",
+ address = "Stanford, CA, USA",
+ pages = "151",
+ month = jun,
+ year = "1986",
+ bibdate = "Wed May 25 08:06:33 2005",
+ note = "Also published as report STAN-CS-1070 (1985).",
+ URL = "http://wwwlib.umi.com/dissertations/fullcit/8602484",
+ abstract = "We consider the problem of finding a discrete set of
+ pixels that approximates the envelope of a convex brush
+ shape with respect to a given trajectory. Let the
+ digitization of a planar region be the set of pixels
+ whose centers lie inside of it. We develop mathematical
+ models for the width of digitized brush strokes, and we
+ give a class of polygonal brush shapes such that the
+ width of their envelope with respect to a given
+ trajectory is accurately reflected by the digitization
+ of the envelope. Polygonal brush shapes also have the
+ advantage that it is usually much easier to compute the
+ digitization of the envelope with respect to a given
+ trajectory. We present fast algorithms for
+ approximating a given brush shape with an appropriate
+ polygon so that the digitization of the envelope of the
+ modified brush will have more accurate and uniform
+ width than the digitization of the exact envelope
+ would. We also present an algorithm for finding a set
+ of pixels that represents the envelope of a dynamically
+ changing brush while preserving accurate and uniform
+ stroke width. This algorithm finds a polygonal path
+ with simple rational slopes that is digitally
+ equivalent to the given trajectory. Other possible
+ applications of this polygonal representation include
+ smoothing digitized curves, data compression, and curve
+ fitting.",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Hobby:1992:IM,
+ author = "John D. Hobby",
+ title = "Introduction to {\MP}",
+ crossref = "Zlatuska:1992:EPE",
+ pages = "21--36",
+ year = "1992",
+ bibdate = "Thu Sep 2 12:27:38 1999",
+ note = "Invited talk.",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Hobby:1995:DGM,
+ author = "John D. Hobby",
+ title = "Drawing Graphs with {\MP}",
+ organization = "AT\&T Bell Laboratories",
+ address = "Murray Hill, NJ, USA",
+ pages = "18",
+ year = "1995",
+ bibdate = "Tue Jul 12 11:58:06 2005",
+ URL = "http://ctan.tug.org/tex-archive/macros/latex/contrib/pdfslide/mpgraph.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Hobby:1997:MS,
+ author = "John D. Hobby",
+ title = "The {\MP} System",
+ organization = "????",
+ address = "????",
+ pages = "20",
+ day = "30",
+ month = dec,
+ year = "1997",
+ bibdate = "Tue Jul 12 11:38:32 2005",
+ URL = "file:///texlive-2004-11/texmf-dist/doc/metapost/base/mpintro.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Hobby:2001:MDS,
+ author = "John D. Hobby",
+ title = "{\MP} le dessin sous {\TeX}: manuels de l'utilisateur
+ pour {\MF} et graph",
+ journal = j-GUTENBERG,
+ volume = "41",
+ number = "??",
+ pages = "175",
+ year = "2001",
+ ISSN = "1140-9304",
+ bibdate = "Tue Jul 12 10:54:03 2005",
+ note = "French translation by Pierre Fournier et Jean-C{\^o}me
+ Charpentier.",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Hobby:2004:UMM,
+ author = "John D. Hobby",
+ title = "A User's Manual for {{\MP}}",
+ organization = "????",
+ address = "????",
+ pages = "i + 85",
+ year = "2004",
+ bibdate = "Tue Jul 12 11:48:44 2005",
+ URL = "file:///texlive-2004-11/texmf-dist/doc/metapost/base/mpman.pdf",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Hoenig:TB12-1-125-128,
+ author = "Alan Hoenig",
+ title = "Labelling figures in {\TeX} documents",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "125--128",
+ year = "1990",
+ abstract = "Problems of combining figures drawn using {\MF} with
+ labels typeset by {\TeX}.",
+ acknowledgement = ack-spqr,
+}
+
+@Book{Hoenig:1998:TUL,
+ author = "Alan Hoenig",
+ title = "{\TeX} Unbound: {\LaTeX} and {\TeX} Strategies for
+ Fonts, Graphics, \& More",
+ publisher = pub-OXFORD,
+ address = pub-OXFORD:adr,
+ pages = "ix + 580",
+ year = "1998",
+ ISBN = "0-19-509686-X (paperback), 0-19-509685-1 (hardcover)",
+ ISBN-13 = "978-0-19-509686-6 (paperback), 978-0-19-509685-9
+ (hardcover)",
+ LCCN = "Z253.4.L38H64 1997",
+ bibdate = "Wed Apr 29 14:32:29 1998",
+ price = "US\$60.00 (hardcover), US\$35.00 (paperback)",
+ URL = "http://www.oup-usa.org/gcdocs/gc_0195096851.html",
+ acknowledgement = ack-nhfb,
+ keywords = "Computer fonts; Computer graphics; Computerized
+ typesetting; Mathematics printing -- Computer programs;
+ METAFONT; Technical publishing -- Computer programs;
+ {\LaTeX} (Computer file); {\TeX} (Computer file)",
+}
+
+@Book{Holzgang:UPP87,
+ author = "David A. Holzgang",
+ title = "Understanding {PostScript} Programming",
+ publisher = pub-SYBEX,
+ address = pub-SYBEX:adr,
+ pages = "xxxii + 459",
+ year = "1987",
+ ISBN = "0-89588-396-1",
+ ISBN-13 = "978-0-89588-396-4",
+ LCCN = "QA76.73.P67 H65 1987",
+ bibdate = "Sat Aug 27 11:13:54 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hopgood:IGK83,
+ author = "F. Robert A. Hopgood and Julian R. Gallop and David A.
+ Duce and Dale C. Sutcliffe",
+ title = "Introduction to the Graphical Kernel System ({GKS})",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ pages = "xi + 200",
+ year = "1983",
+ ISBN = "0-12-355570-1",
+ ISBN-13 = "978-0-12-355570-0",
+ LCCN = "T385 .I57 1983",
+ bibdate = "Wed Dec 15 10:30:59 1993",
+ note = "{A. P. I. C.} Studies in Data Processing No. 19.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Hopgood:IGK86,
+ author = "F. Robert A. Hopgood and Julian R. Gallop and David A.
+ Duce and Dale C. Sutcliffe",
+ title = "Introduction to the Graphical Kernel System ({GKS})",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ edition = "Second",
+ pages = "xii + 250",
+ year = "1986",
+ ISBN = "0-12-355571-X (paperback)",
+ ISBN-13 = "978-0-12-355571-7 (paperback)",
+ LCCN = "T385 .I571 1986",
+ bibdate = "Wed Dec 15 10:31:02 1993",
+ note = "Revised for the International Standard. {A. P. I. C.}
+ Studies in Data Processing No. 28",
+ price = "UK\pounds 12.50",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Jeffrey:TB12-2-227-229,
+ author = "Alan Jeffrey",
+ title = "Labelled diagrams in {\MF}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "227--229",
+ year = "1991",
+ acknowledgement = ack-spqr,
+}
+
+@Book{Jones:IXW89,
+ author = "Oliver Jones",
+ title = "Introduction to the {X Window System}",
+ publisher = pub-PH,
+ address = pub-PH:adr,
+ pages = "xii + 511",
+ year = "1989",
+ ISBN = "0-13-499997-5",
+ ISBN-13 = "978-0-13-499997-5",
+ LCCN = "QA76.76.W56 J66 1989",
+ bibdate = "Wed Dec 15 10:35:42 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Kahrs:ditroff,
+ author = "Mark Kahrs and Lee Moore",
+ title = "Adventures with Type\-set\-ter-In\-de\-pen\-dent
+ {TROFF}",
+ journal = j-USENIX-SCP,
+ pages = "258--269",
+ month = jun # " 12--15",
+ year = "1984",
+ acknowledgement = ack-nhfb,
+}
+
+@InProceedings{Kamin:1997:SPL,
+ author = "Samuel N. Kamin and David Hyatt",
+ title = "A Special-Purpose Language for Picture-Drawing",
+ crossref = "USENIX:1997:PCD",
+ pages = "297--310",
+ year = "1997",
+ bibdate = "Mon Feb 03 15:29:55 2003",
+ note = "This paper describes FPIC, an implementation in ML of
+ a programmable extension to a PIC-like
+ \cite{Kernighan:pic} language. The authors raise
+ interesting points about the difficulty of doing this
+ correctly in ML, and conclude that a more powerful base
+ language (e.g., Haskell) might be more suitable. FPIC
+ includes support for both PostScript and \LaTeX{}
+ output.",
+ URL = "http://www.usenix.org/publications/library/proceedings/dsl97/full_papers/kamin/kamin_html/kamin.html",
+ acknowledgement = ack-nhfb,
+}
+
+@Unpublished{Karney:1989,
+ author = "Charles Karney",
+ title = "Getting {\TeX} labelling on graphics",
+ year = "1988",
+ note = "Electronic mail to {\TEXHAX}, 24 May 1989.",
+ abstract = "Suggestion of a scheme whereby the author nominates
+ captions for tagged points on a graph, passes these
+ through {\TeX} as \verb|\special|s and then has the
+ {\DVI} driver integrate these typeset captions back
+ into the graph being printed. This scheme has not yet
+ been implemented.",
+ acknowledgement = ack-spqr,
+}
+
+@Book{Karow:DFT87,
+ author = "Peter Karow",
+ title = "Digital Formats for Typefaces",
+ publisher = pub-URW,
+ address = pub-URW:adr,
+ pages = "400",
+ year = "1987",
+ ISBN = "3-926515-01-5",
+ ISBN-13 = "978-3-926515-01-8",
+ LCCN = "Z253.3 .K371 1987",
+ bibdate = "Wed Dec 15 10:35:50 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@TechReport{Kernighan:ditroff,
+ author = "Brian W. Kernighan",
+ title = "A Typesetter-independent {TROFF}",
+ number = "Computer Science Report 91",
+ institution = pub-ATT-BELL,
+ address = pub-ATT-BELL:adr,
+ year = "1981",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Kernighan:pic,
+ author = "Brian W. Kernighan",
+ title = "{PIC}\emdash {A} language for typesetting graphics",
+ journal = j-SPE,
+ volume = "12",
+ number = "1",
+ pages = "1--22",
+ month = jan,
+ year = "1982",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Kneser:TB12-1-28-30,
+ author = "Thomas Kneser",
+ title = "{\LaTeX}-paragraphs floating around figures",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "28--30",
+ year = "1991",
+ abstract = "Macros to allow `in-text' figures on the edge of
+ paragraphs.",
+ acknowledgement = ack-spqr,
+}
+
+@Book{Knuth:ct-a,
+ author = "Donald E. Knuth",
+ title = "The {\TeX}book",
+ volume = "{\noopsort{1986a}}A",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "ix + 483",
+ year = "1986",
+ ISBN = "0-201-13447-0",
+ ISBN-13 = "978-0-201-13447-6",
+ LCCN = "Z253.4.T47 K58 1986",
+ bibdate = "Wed Dec 15 10:36:52 1993",
+ series = "Computers and Typesetting",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:ct-b,
+ author = "Donald E. Knuth",
+ title = "{\TeX}: The Program",
+ volume = "B",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 594",
+ year = "{\noopsort{1986b}}1986",
+ ISBN = "0-201-13437-3",
+ ISBN-13 = "978-0-201-13437-7",
+ LCCN = "Z253.4.T47 K578 1986",
+ bibdate = "Wed Dec 15 10:36:54 1993",
+ series = "Computers and Typesetting",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:ct-c,
+ author = "Donald E. Knuth",
+ title = "The {\METAFONT}book",
+ volume = "C",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xi + 361",
+ year = "{\noopsort{1986c}}1986",
+ ISBN = "0-201-13445-4",
+ ISBN-13 = "978-0-201-13445-2",
+ LCCN = "Z250.8.M46 K58 1986",
+ bibdate = "Wed Dec 15 10:37:29 1993",
+ series = "Computers and Typesetting",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:ct-d,
+ author = "Donald E. Knuth",
+ title = "{\METAFONT}: The Program",
+ volume = "D",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 560",
+ year = "{\noopsort{1986d}}1986",
+ ISBN = "0-201-13438-1",
+ ISBN-13 = "978-0-201-13438-4",
+ LCCN = "Z250.8.M46 K578 1986",
+ bibdate = "Wed Dec 15 10:37:32 1993",
+ series = "Computers and Typesetting",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:ct-e,
+ author = "Donald E. Knuth",
+ title = "Computer Modern Typefaces",
+ volume = "E",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xv + 588",
+ year = "{\noopsort{1986e}}1986",
+ ISBN = "0-201-13446-2",
+ ISBN-13 = "978-0-201-13446-9",
+ LCCN = "Z250.8.M46 K574 1986",
+ bibdate = "Wed Dec 15 10:37:33 1993",
+ series = "Computers and Typesetting",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Knuth:halftone,
+ author = "Donald E. Knuth",
+ title = "Digital Halftones by Dot Diffusion",
+ journal = j-TOG,
+ volume = "6",
+ number = "4",
+ pages = "245--273",
+ month = oct,
+ year = "1987",
+ bibdate = "Fri Aug 26 08:57:23 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Knuth:TB8-1-14,
+ author = "Donald Knuth and Pierre MacKay",
+ title = "{{Mixing right-to-left texts with left-to-right
+ texts}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "14",
+ month = apr,
+ year = "1987",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Knuth:TB8-2-135,
+ author = "Donald E. Knuth",
+ title = "{{Fonts for digital halftones}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "135--160",
+ month = jul,
+ year = "1987",
+ acknowledgement = ack-spqr,
+}
+
+@TechReport{Knuth:tex-errors,
+ author = "Donald E. Knuth",
+ title = "The Errors of {\TeX}",
+ number = "{STAN-CS-88-1223}",
+ institution = pub-STAN-CS,
+ address = pub-STAN-CS:adr,
+ month = sep,
+ year = "1988",
+ bibdate = "Mon Mar 14 23:27:07 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Knuth:TMN79,
+ author = "Donald E. Knuth",
+ title = "{\TeX} and {\METAFONT}\emdash New Directions in
+ Typesetting",
+ publisher = pub-DP,
+ address = pub-DP:adr,
+ pages = "xi + 201 + 105",
+ year = "1979",
+ ISBN = "0-932376-02-9",
+ ISBN-13 = "978-0-932376-02-2",
+ LCCN = "Z253.3 .K58 1979",
+ bibdate = "Wed Dec 15 10:37:42 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Kotz:gnuplot,
+ author = "David Kotz",
+ title = "{GNUPLOT \LaTeX} Tutorial Version 2.0",
+ organization = "Computer Science Department, Duke University",
+ month = feb,
+ year = "1990",
+ note = "See also \cite{Williams:gnuplot}.",
+ acknowledgement = ack-nhfb,
+}
+
+@Unpublished{Kwok:1988,
+ author = "Conrad Kwok",
+ title = "{EEPIC}: Extensions to {\EPIC} and {\LaTeX} Picture
+ environment",
+ year = "1988",
+ bibdate = "Mon Feb 10 07:34:44 1997",
+ note = "Unpublished machine-readable document.",
+ abstract = "Macros which re-implement some of {\EPIC} and {\LaTeX}
+ picture with appropriate \verb|\special| commands from
+ the {\TPIC} set.",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Laan:TB17-2-222,
+ author = "Kees van der Laan",
+ title = "{{Turtle graphics and {\TeX}\Dash a child can do
+ it}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "222--228",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB17-3-269,
+ author = "Kees van der Laan",
+ title = "{{{Graphics and {\TeX}\Dash A reappraisal of
+ {\MF}/MetaPost/{\PS}}}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "269--279",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Book{Lamport:LDP85,
+ author = "Leslie Lamport",
+ title = "{\LaTeX}\emdash {A} Document Preparation System\emdash
+ User's Guide and Reference Manual",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 242",
+ year = "1985",
+ ISBN = "0-201-15790-X",
+ ISBN-13 = "978-0-201-15790-1",
+ LCCN = "Z253.4.L38 L35 1986",
+ bibdate = "Wed Dec 15 10:38:04 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Lesenko:TB18-3-166,
+ author = "Sergey Lesenko",
+ title = "{{{\acro{DVIPDF}} and {Graphics}}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "166--169",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Levine:CPC-58-181,
+ author = "Michael J. S. Levine",
+ title = "A {\LaTeX} graphics routine for drawing {Feynman}
+ diagrams",
+ journal = j-CPC,
+ volume = "58",
+ pages = "181--198",
+ year = "1990",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Maclenan:TB12-1-66-69,
+ author = "M. P. Maclenan and G. M. Burns",
+ title = "An approach to drawing circuit diagrams for text
+ books",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "66--69",
+ year = "1991",
+ abstract = "A library of pictograms built on {\PiCTeX}.",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Moore:TB18-3-159,
+ author = "Ross Moore",
+ title = "{{High quality labels on included graphics, using
+ {\Xy-pic}}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "159--165",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moore:TB19-1-61,
+ author = "Ross Moore",
+ title = "{{Erratum: {High} quality labels on included graphics,
+ using {\Xy-pic}, {\tubissue 18(3)}, pp. 151--158}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "61--61",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nelson:1985:JCG,
+ author = "Greg Nelson",
+ title = "Juno, a Constraint-Based Graphics System",
+ journal = j-COMP-GRAPHICS,
+ volume = "19",
+ number = "3",
+ pages = "235--243",
+ month = jul,
+ year = "1985",
+ CODEN = "CPGPBZ",
+ ISBN = "0-89791-166-0",
+ ISBN-13 = "978-0-89791-166-5",
+ ISSN = "0097-8930",
+ LCCN = "????",
+ bibdate = "Sat Dec 21 15:50:08 MST 1996",
+ bibsource = "Compendex database",
+ abstract = "Juno is a system that harmoniously integrates a
+ language for describing pictures with a
+ what-you-see-is-what-you-get image editor. Two of
+ Juno's novelties are that geometric constraints are
+ used to specify locations, and that the text of a Juno
+ program is modified in response to the interactive
+ editing of the displayed image that the program
+ produces.",
+ acknowledgement = ack-nhfb,
+ affiliation = "Xerox Palo Alto Research Cent, Palo Alto, CA, USA",
+ affiliationaddress = "Xerox Palo Alto Research Cent, Palo Alto, CA,
+ USA",
+ classification = "723",
+ conference = "SIGGRAPH '85 Conf Proc",
+ journalabr = "Comput Graphics (ACM)",
+ keywords = "computer graphics; Interactive; computer systems,
+ digital --- Interactive Operation; image processing ---
+ Image Analysis; computer programming --- Algorithms;
+ editor; metafont; implicit editing; juno",
+ meetingaddress = "San Francisco, CA, USA",
+ meetingdate = "Jul 22--26 1985",
+ meetingdate2 = "07/22--26/85",
+}
+
+@Article{Ness:tv-guide,
+ author = "David Ness",
+ title = "The Use of {\TeX{}} in a Commercial Environment",
+ journal = j-TEXNIQUES,
+ volume = "5",
+ pages = "115--123",
+ month = aug,
+ year = "1987",
+ note = "Proceedings of the Eighth Annual Meeting of the \TeX{}
+ Users Group",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Nicole:TB12-1-70,
+ author = "Olivier Nicole",
+ title = "{{A graphic driver to interface statistical software S
+ and {\PiCTeX}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "70--73",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Wed Apr 07 10:22:16 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@InCollection{Norris/Oakley:1990,
+ author = "A. C. Norris and A. L. Oakley",
+ title = "Electronic Publishing and Chemical Text Processing",
+ crossref = "Clark:TAU90",
+ acknowledgement = ack-spqr,
+}
+
+@Book{Nye:1988:XPM,
+ author = "Adrian Nye",
+ title = "Xlib Programming Manual for Version 11",
+ volume = "1",
+ publisher = pub-ORA,
+ address = pub-ORA:adr,
+ pages = "xxxiii + 615",
+ year = "1988",
+ ISBN = "0-937175-26-9",
+ ISBN-13 = "978-0-937175-26-2",
+ LCCN = "QA76.76.W56 D44 v.1 1988",
+ bibdate = "Wed Dec 15 10:40:05 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Nye:XRM88,
+ author = "Adrian Nye",
+ title = "Xlib Reference Manual for Version 11",
+ volume = "2",
+ publisher = pub-ORA,
+ address = pub-ORA:adr,
+ pages = "xiv + 701",
+ year = "1988",
+ ISBN = "0-937175-27-7",
+ ISBN-13 = "978-0-937175-27-9",
+ LCCN = "QA76.76.W56 D44 v.2 1988",
+ bibdate = "Wed Dec 15 10:40:05 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Ohl:1995:DFD,
+ author = "Thorsten Ohl",
+ title = "Drawing {Feynman} diagrams with {\LaTeX} and
+ {\METAFONT}",
+ journal = j-COMP-PHYS-COMM,
+ volume = "90",
+ number = "2--3",
+ pages = "340--354",
+ month = oct,
+ year = "1995",
+ CODEN = "CPHCBZ",
+ ISSN = "0010-4655",
+ bibdate = "Sat Dec 21 15:45:22 MST 1996",
+ bibsource = "Compendex database",
+ abstract = "feynMF is a {\LaTeX} package for easy drawing of
+ professional quality Feynman diagrams with METAFONT (or
+ METAPOST). feynMF lays out most diagrams satisfactorily
+ from the structure of the graph without any need for
+ manual intervention. Nevertheless all the power of
+ METAFONT (or METAPOST) is available for the most
+ complicated cases.",
+ acknowledgement = ack-nhfb,
+ affiliation = "Technische Hochschule Darmstadt",
+ affiliationaddress = "Darmstadt, Ger",
+ classification = "723; 723.5; 921.4; 723.1.1; 902.1; 931.4",
+ keywords = "Computer software; Computer graphics; Graph theory;
+ Computer programming languages; Algorithms; Drawing
+ (graphics); Quantum theory; Feynman diagrams; latex
+ (programming language); metafont (programming
+ language)",
+}
+
+@Article{Olejniczak-Burkert:TB10-4-627-637,
+ author = "Rolf Olejniczak-Burkert",
+ title = "{{{\it texpic\/}\emdash Design and Implementation of a
+ Picture Graphics Language in \TeX\ \`a la {\it
+ pic\/}}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "627--637",
+ month = dec,
+ year = "1989",
+ bibdate = "Wed Apr 07 10:22:23 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Book{Oreilly:XWS88,
+ author = "Tim O'Reilly and Valerie Quercia and Linda Lamb",
+ title = "{X} Window System User's Guide for Version 11",
+ volume = "3",
+ publisher = pub-ORA,
+ address = pub-ORA:adr,
+ year = "1988",
+ ISBN = "0-937175-29-3",
+ ISBN-13 = "978-0-937175-29-3",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Pickrell:TB11-1-26-31,
+ author = "Lee S. Pickrell",
+ title = "{{Combining graphics with {\TeX} on IBM PC-compatible
+ systems and LaserJet printers}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "26--31",
+ month = apr,
+ year = "1990",
+ bibdate = "Wed Apr 7 10:22:27 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Article{Pickrell:TB11-2-200-206,
+ author = "Lee S. Pickrell",
+ title = "{{Combining graphics with \TeX\ on PC systems with
+ laser printers, part II}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "200--206",
+ month = jun,
+ year = "1990",
+ bibdate = "Wed Apr 7 10:22:29 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Article{Plestenjak:1999:ADP,
+ author = "Bor Plestenjak",
+ title = "An algorithm for drawing planar graphs",
+ journal = j-SPE,
+ volume = "29",
+ number = "11",
+ pages = "973--984",
+ month = sep,
+ year = "1999",
+ CODEN = "SPEXBL",
+ ISSN = "0038-0644",
+ bibdate = "Sat Sep 18 18:25:59 MDT 1999",
+ bibsource = "http://www3.interscience.wiley.comjournalfinder.html",
+ URL = "http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=63501203&PLACEBO=IE.pdf;
+ http://www3.interscience.wiley.com/cgi-bin/abstract?ID=63501203",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Price:TB2-1-122,
+ author = "Lynne A. Price",
+ title = "{{Hebrew letter (with source)}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "122",
+ month = feb,
+ year = "1981",
+ acknowledgement = ack-nhfb,
+}
+
+@Manual{Publisher,
+ author = "{Arbortext Inc}",
+ title = "The {Publisher} User Manual",
+ publisher = pub-ARBORTEXT,
+ address = pub-ARBORTEXT:adr,
+ year = "1988",
+ acknowledgement = ack-spqr,
+}
+
+@TechReport{Rahtz:1987,
+ author = "Sebastian Rahtz",
+ title = "The right text-processing tools for the job?",
+ type = "CSMAN",
+ number = "87-4",
+ institution = "Computer Science, University of Southampton",
+ year = "1987",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Rahtz:1988,
+ author = "Sebastian Rahtz",
+ title = "The {Protestant Cemetery, Rome}: a study undertaken
+ under the auspices of the {Unione Internazionale degli
+ Istituti di Archeologia Storia e Storia dell'Arte in
+ Roma}",
+ journal = j-OR,
+ volume = "16",
+ pages = "149--167",
+ year = "1987",
+ acknowledgement = ack-spqr,
+}
+
+@InCollection{Ramek:1990:CSF,
+ author = "Michael Ramek",
+ title = "Chemical structure formulae and x/y diagrams with
+ {\TeX}",
+ crossref = "Clark:TAU90",
+ year = "1990",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Reckdahl:1996:UAG,
+ author = "Keith Reckdahl",
+ title = "{{{Using \acro{EPS} graphics in {\LaTeXe} documents,
+ Part 2: Floating figures, boxed figures, captions, and
+ math in figures}}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "288--310",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Reid:TB10-2-188-191,
+ author = "Tom Reid and Don Hosek",
+ title = "{{Report from the |DVI| driver standards committee}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "188--191",
+ month = jul,
+ year = "1989",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Renfrow:TB10-4-607,
+ author = "J. T. Renfrow",
+ title = "{{Methodologies for preparing and integrating {\PS}
+ graphics}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "607--626",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Wed Apr 07 10:22:30 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@TechReport{Renner:textyl,
+ author = "John S. Renner",
+ title = "{\TeX}tyl: a line-drawing interface for {\TeX}",
+ number = "OSU-CISRC-4\slash 87-TR9",
+ institution = "Department of Computer Science, Ohio State
+ University",
+ month = mar,
+ year = "1987",
+ acknowledgement = ack-nhfb,
+}
+
+@Unpublished{Reynolds:1987,
+ author = "J. C. Reynolds",
+ title = "User's manual for Diagram Macros",
+ month = dec,
+ year = "1987",
+ note = "Unpublished machine-readable document.",
+ acknowledgement = ack-spqr,
+}
+
+@Book{Roads:FCM87,
+ editor = "Curtis Roads and John Strawn",
+ title = "Foundations of Computer Music",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiii + 712",
+ year = "1987",
+ ISBN = "0-262-18114-2",
+ ISBN-13 = "978-0-262-18114-3",
+ LCCN = "ML1092 .F7 1985",
+ bibdate = "Wed Dec 15 10:41:13 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Roegel:1997:CAM,
+ author = "Denis Roegel",
+ title = "Creating {$3$D} animations with {{\MP}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "274--283",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ URL = "http://ctan.tug.org/tex-archive/graphics/metapost/contrib/macros/3d/doc/paper1997corrected.pdf",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rogers:TB10-1-39-44,
+ author = "David F. Rogers",
+ title = "{{Computer graphics and \TeX\emdash a challenge}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "39--44",
+ month = apr,
+ year = "1989",
+ bibdate = "Wed Apr 7 10:22:30 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Article{Rogers:TB18-4-246,
+ author = "David F. Rogers",
+ title = "{{{\it The {\LaTeX} Graphics Companion}, by {Michel
+ Goossens}, {Sebastian Rahtz} and {Frank Mittelbach}}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "246--246",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rose:TB18-3-151,
+ author = "{Kristoffer H\o{}gsbro Rose}",
+ title = "{{{Very} high level 2-dimensional graphics with {\TeX}
+ and {\Xy-pic}}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "151--158",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@TechReport{Rost:pex,
+ author = "Randi J. Rost",
+ title = "{PEX} Introduction and Overview",
+ number = "Version 3.20",
+ institution = "Digital Equipment Corporation, Workstation Systems
+ Engineering",
+ month = apr,
+ year = "1988",
+ note = "This document is present in the X Window System
+ Version 11 Release 3 in the file
+ \path|X11/X11/doc/extensions/pex/doc/intro/doc.ms|.",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Roth:RWP88,
+ editor = "Stephen E. Roth",
+ title = "Real World {PostScript}",
+ publisher = pub-AW,
+ address = pub-AW:adr,
+ pages = "xiv + 383",
+ year = "1988",
+ ISBN = "0-201-06663-7",
+ ISBN-13 = "978-0-201-06663-0",
+ LCCN = "Z286.D47 R4 1988",
+ bibdate = "Wed Dec 15 18:12:59 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Rubinstein:TB10-2-170-172,
+ author = "Zalman Rubinstein",
+ title = "{{Chess printing via \MF\ and \TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "170--172",
+ month = jul,
+ year = "1989",
+}
+
+@Article{Saito:TB8-2-103,
+ author = "Yasuki Saito",
+ title = "{{Report on \JTeX: A Japanese \TeX}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "103",
+ month = jul,
+ year = "1987",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Salomon:TB10-2-207-216,
+ author = "David Salomon",
+ title = "{{DDA methods in \TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "207--216",
+ month = jul,
+ year = "1989",
+ abstract = "Deals with the mathematical background to producing
+ good circles, arcs and lines from dots, using Digital
+ Differential Analyzer methods.",
+ acknowledgement = ack-spqr,
+}
+
+@Book{Scheifler:XWS88,
+ author = "Robert W. Scheifler and James Gettys and Ron Newman",
+ title = "{X Window System}: {C} Library and Protocol
+ Reference",
+ publisher = pub-DP,
+ address = pub-DP:adr,
+ pages = "xxix + 701",
+ year = "1988",
+ ISBN = "1-55558-012-2",
+ ISBN-13 = "978-1-55558-012-4",
+ LCCN = "QA76.76.W56 S34 1988",
+ bibdate = "Wed Dec 15 10:41:32 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Schopf:TB10-1-105-107,
+ author = "Rainer Sch{\"{o}}pf",
+ title = "{{Drawing histogram bars inside the \LaTeX\
+ picture--environment}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "105--107",
+ month = apr,
+ year = "1989",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Schrod:TB12-2-232-233,
+ author = "Joachim Schrod",
+ title = "Report on the {{\tt DVI}} driver standard",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "232--233",
+ year = "1991",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Schwer:TB11-2-194,
+ author = "Len Schwer",
+ title = "{{Including Macintosh graphics in {\LaTeX}
+ documents}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "194--200",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Wed Apr 07 10:22:30 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Article{SIGGRAPH:core77,
+ author = "ACM\slash SIGGRAPH",
+ title = "Status Report of the {Graphic Standards Planning
+ Committee of ACM\slash SIGGRAPH}",
+ journal = j-SIGGRAPH,
+ volume = "11",
+ number = "3",
+ year = "1977",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{SIGGRAPH:core79,
+ author = "ACM\slash SIGGRAPH",
+ title = "Status Report of the {Graphic Standards Planning
+ Committee of ACM\slash SIGGRAPH}",
+ journal = j-SIGGRAPH,
+ volume = "13",
+ number = "3",
+ month = aug,
+ year = "1979",
+ acknowledgement = ack-nhfb,
+}
+
+@InCollection{Simpson:1990:NTU,
+ author = "Rick Simpson",
+ title = "Non-traditional uses of {\MF}",
+ crossref = "Clark:TAU90",
+ year = "1990",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Sowa:1991:IGT,
+ author = "Friedrich Sowa",
+ title = "Integration of graphics into {\TeX}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "58--63",
+ year = "1991",
+ bibdate = "Wed Apr 7 10:22:30 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ abstract = "Describes BM2FONT, a program to turn bitmap pictures
+ (e.g.\ TIFF) into PK files for use by {\TeX}, with some
+ notes on halftoning.",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Article{Spivak:TB10-2-164-165,
+ author = "Michael Spivak and Michael Ballantyne and Yoke Lee",
+ title = "{{HI-\TeX\ cutting \& pasting}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "164--165",
+ month = jul,
+ year = "1989",
+ abstract = "Describes dvipaste, a system for merging dvi files.
+ The idea is that complex tables or figures will be
+ typeset on their own, to avoid burdening {\TeX}'s
+ memory, and then merged into the main {\DVI} file,
+ where space has been left, just before printing.",
+}
+
+@Article{Spragens:TB6-2-66,
+ author = "Alan Spragens",
+ title = "{{Graphics commands for {\TeX}\Dash Discussion in
+ {\TeX}hax conference}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "66--68",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB4-1-26,
+ author = "Georgia K. M. Tobin",
+ title = "{{Computer calligraphy}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "26",
+ month = apr,
+ year = "1983",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Tobin:TB5-1-36,
+ author = "Georgia K. M. Tobin",
+ title = "{{The OCLC Roman family of fonts}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "36",
+ month = may,
+ year = "1984",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Tobin:TB6-1-12,
+ author = "G. K. M. Tobin",
+ title = "{{A bit of doggerel}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "12",
+ month = mar,
+ year = "1985",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Tobin:TB8-1-26,
+ author = "Georgia K. M. Tobin",
+ title = "{{Some empirical observations on \MF\ design}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "26",
+ month = apr,
+ year = "1987",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Tobin:TB9-1-15-18,
+ author = "Georgia K. M. Tobin",
+ title = "{{The ABC's of special effects}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "15--18",
+ month = apr,
+ year = "1988",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Tobin:TB9-2-126-128,
+ author = "Georgia K. M. Tobin",
+ title = "{{Designing for low-res devices}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "126--128",
+ month = aug,
+ year = "1988",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Tufte:VDQ83,
+ author = "Edward R. Tufte",
+ title = "The Visual Display of Quantitative Information",
+ publisher = pub-GP,
+ address = pub-GP:adr,
+ pages = "197",
+ year = "1983",
+ ISBN = "0-9613921-0-X",
+ ISBN-13 = "978-0-9613921-0-9",
+ LCCN = "K27.S8 T84",
+ bibdate = "Wed Dec 15 10:58:53 1993",
+ price = "US\$34.00",
+ acknowledgement = ack-nhfb,
+}
+
+@Book{Ulichney:DH87,
+ author = "Robert Ulichney",
+ title = "Digital Halftoning",
+ publisher = pub-MIT,
+ address = pub-MIT:adr,
+ pages = "xiv + 362",
+ year = "1987",
+ ISBN = "0-262-21009-6",
+ ISBN-13 = "978-0-262-21009-6",
+ LCCN = "T385 .U451 1987",
+ bibdate = "Wed Dec 15 10:58:55 1993",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Vanderburg:TB8-3-291-300,
+ author = "Glenn L. Vanderburg and Thomas J. Reid",
+ title = "{{{\tt\bs special} issues}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "291--300",
+ month = nov,
+ year = "1987",
+ acknowledgement = ack-spqr,
+}
+
+@Article{vanderLaan:TB10-1-113-116,
+ author = "C. G. van der Laan",
+ title = "{{Typesetting bridge via \LaTeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "113--116",
+ month = apr,
+ year = "1989",
+ acknowledgement = ack-spqr,
+}
+
+@Article{vanHaagen:TB9-2-189-192,
+ author = "A. J. Van Haagen",
+ title = "{{Box plots and scatter plots with \TeX\ macros}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "189--192",
+ month = aug,
+ year = "1988",
+ acknowledgement = ack-spqr,
+}
+
+@Article{VanWyk:awk,
+ author = "Christopher J. Van Wyk",
+ title = "{AWK} as Glue for Programs",
+ journal = j-SPE,
+ volume = "16",
+ number = "4",
+ pages = "369--388",
+ month = apr,
+ year = "1986",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{VanWyk:ideal,
+ author = "Christopher J. Van Wyk",
+ title = "A High-Level Language for Specifying Pictures",
+ journal = j-TOG,
+ volume = "1",
+ number = "2",
+ pages = "163--182",
+ month = apr,
+ year = "1982",
+ bibdate = "Fri Aug 26 08:57:19 1994",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Waldschmidt:1988,
+ author = "H. Waldschmidt",
+ title = "An editor for constructing graphics with {\TeX}",
+ journal = j-CGF,
+ volume = "6",
+ number = "4",
+ pages = "359--364",
+ year = "1988",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Weiss:TB13-3-330,
+ author = "Neil A. Weiss",
+ title = "{{Creation and incorporation of {\PS} graphics with
+ {\TeX}-formatted labels into {\TeX} documents}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "330--334",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Feb 20 18:54:33 MST 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Book{Wichura:PM87,
+ author = "Michael J. Wichura",
+ title = "The {\PiCTeX} manual",
+ number = "6",
+ publisher = pub-TUG,
+ address = pub-TUG:adr,
+ year = "1987",
+ series = "{\TeX}niques: publications for the {\TeX} community",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Wichura:TB9-2-193-197,
+ author = "Michael J. Wichura",
+ title = "{{\PiCTeX: Macros for drawing \PiC tures}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "193--197",
+ month = aug,
+ year = "1988",
+ acknowledgement = ack-spqr,
+}
+
+@Article{Wilcox:TB10-2-179-187,
+ author = "Patricia Wilcox",
+ title = "{{{\small METAPLOT}: Machine-independent line graphics
+ for \TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "179--187",
+ month = jul,
+ year = "1989",
+ bibdate = "Wed Apr 7 10:22:30 1999",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ abstract = "METAPLOT is a program which translates files
+ describing vector graphics (HPGL) into {\MF} code; this
+ code is used to generate a figure as a single character
+ in a special font, using {\MF}.",
+ acknowledgement = ack-bnb # " and " # ack-nhfb # " and " # ack-spqr,
+}
+
+@Manual{Williams:gnuplot,
+ author = "Thomas Williams and Colin Kelley and John Campbell and
+ David Kotz and Russell Lang",
+ title = "{GNUPLOT}\emdash An Interactive Plotting Program",
+ month = "31 " # aug,
+ note = "Available in several Internet archives, including the
+ Free Software Foundation collection on
+ \path|prep.ai.mit.edu|. GNUPLOT can produce output for
+ many different devices, including {\LaTeX} picture
+ mode, {\PS}, and the X Window System. See also
+ \cite{Kotz:gnuplot}.",
+ year = "1990",
+ acknowledgement = ack-nhfb,
+}
+
+@InCollection{Winckler:1990:TFI,
+ author = "{J\"org} Winckler",
+ title = "{\TeX} fonts in image generation software",
+ crossref = "Clark:TAU90",
+ year = "1990",
+ acknowledgement = ack-spqr,
+}
+
+@TechReport{Wolcott:1976:CCT,
+ author = "Norman M. Wolcott and Joseph Hilsenrath",
+ title = "A Contribution to Computer Typesetting Techniques.
+ {Tables} of Coordinates for {Hershey}'s Repertoire of
+ Occidental Type Fonts and Graphics Symbols",
+ number = "PB-251 845",
+ institution = "U. S. National Bureau of Standards",
+ month = apr,
+ year = "1976",
+ note = "NBS Special Publication 424",
+ acknowledgement = ack-nhfb,
+}
+
+@Misc{Wood:plj,
+ author = "Patrick {Wood, editor}",
+ title = "{\POSTSCRIPT Language Journal}",
+ howpublished = "Pipeline Associates, Inc., P. O. Box 5763, Parsippany,
+ NJ 07054",
+ acknowledgement = ack-nhfb,
+}
+
+@Article{Wujastyk:TB9-3-246-251,
+ author = "Dominik Wujastyk",
+ title = "{{Further faces}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "246--251",
+ month = nov,
+ year = "1988",
+ acknowledgement = ack-spqr,
+}
+
+@TechReport{Xerox:color,
+ author = "Xerox Corporation",
+ title = "The {Xerox Color Encoding Standard}",
+ number = "XNSS 288811",
+ institution = "Xerox Systems Institute",
+ month = mar,
+ year = "1989",
+ acknowledgement = ack-nhfb,
+}
+
+%%% ====================================================================
+%%% The following entries are cross-referenced by preceding entries.
+%%% BibTeX requires that they follow all references to them, so we put
+%%% them at the end of the .bib file.
+%%% ====================================================================
+
+@Book{Clark:TAU90,
+ editor = "Malcolm Clark",
+ booktitle = "{\TeX} Applications, Uses, Methods",
+ title = "{\TeX} Applications, Uses, Methods",
+ publisher = pub-ELLIS-HORWOOD,
+ address = pub-ELLIS-HORWOOD:adr,
+ year = "1990",
+ ISBN = "0-13-912296-6",
+ ISBN-13 = "978-0-13-912296-5",
+ abstract = "Papers from the 1988 {\TeX}eter conference.",
+ acknowledgement = ack-spqr,
+}
+
+@Proceedings{Syropoulos:2004:TXD,
+ editor = "Apostolos Syropoulos and Karl Berry and Yannis
+ Haralambous and Baden Hughes and Steven Peter and John
+ Plaice",
+ booktitle = "{\TeX}, {XML}, and Digital Typography: International
+ Conference on {\TeX}, XML, and Digital Typography, held
+ jointly with the 25th Annual Meeting of the TeX Users
+ Group, TUG 2004, Xanthi, Greece, August 30--September
+ 3, 2004: Proceedings",
+ title = "{\TeX}, {XML}, and Digital Typography: International
+ Conference on {\TeX}, {XML}, and Digital Typography,
+ held jointly with the 25th Annual Meeting of the Te{X}
+ Users Group, {TUG 2004}, Xanthi, Greece, August
+ 30--September 3, 2004: Proceedings",
+ volume = "3130",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ pages = "viii + 263",
+ year = "2004",
+ CODEN = "LNCSD9",
+ DOI = "10.1007/b99374",
+ ISBN = "3-540-22801-2",
+ ISBN-13 = "978-3-540-22801-1",
+ ISSN = "0302-9743",
+ LCCN = "Z253.3 I58 2004",
+ bibdate = "Tue Nov 16 08:40:30 2004",
+ series = ser-LNCS,
+ URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t3130.htm;
+ http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3130;
+ http://www.springerlink.com/openurl.asp?genre=volume&id=doi:10.1007/b99374",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{USENIX:1997:PCD,
+ editor = "{USENIX}",
+ booktitle = "Proceedings of the Conference on Domain-Specific
+ Languages, October 15--17, 1997, Santa Barbara,
+ California",
+ title = "Proceedings of the Conference on Domain-Specific
+ Languages, October 15--17, 1997, Santa Barbara,
+ California",
+ publisher = pub-USENIX,
+ address = pub-USENIX:adr,
+ pages = "310",
+ year = "1997",
+ ISBN = "1-880446-89-8",
+ ISBN-13 = "978-1-880446-89-8",
+ LCCN = "QA76.7 .C663 1997",
+ bibdate = "Wed Jan 20 14:49:05 1999",
+ acknowledgement = ack-nhfb,
+}
+
+@Proceedings{Zlatuska:1992:EPE,
+ editor = "Ji{\v{r}}{\'\i} Zlatu{\v{s}}ka",
+ booktitle = "{Euro{\TeX}} 92: Proceedings of the 7th European
+ {\TeX} Conference",
+ title = "{Euro{\TeX}} 92: Proceedings of the 7th European
+ {\TeX} Conference",
+ publisher = pub-MASARYKOVA,
+ address = pub-MASARYKOVA:adr,
+ pages = "viii + 330",
+ month = sep,
+ year = "1992",
+ ISBN = "80-210-0480-0",
+ ISBN-13 = "978-80-210-0480-1",
+ bibdate = "Sat Aug 27 11:11:50 1994",
+ acknowledgement = ack-nhfb,
+}
+
+%%% From TEX-EURO at DHDURZ1.Berkeley.EDU Mon Jul 8 04:27:58 1991
+%%% Flags: 000000000001
+%%% Return-Path: <TEX-EURO at DHDURZ1.Berkeley.EDU>
+%%% Received: from cc.utah.edu by math.utah.edu (4.1/SMI-4.1-utah-csc-server)
+%%% id AA15473; Mon, 8 Jul 91 04:27:55 MDT
+%%% Received: from UCBCMSA.BITNET (MAILER at UCBCMSA) by CC.UTAH.EDU with PMDF#10043;
+%%% Mon, 8 Jul 1991 04:27 MST
+%%% Received: by UCBCMSA (Mailer R2.04) id 2047; Mon, 08 Jul 91 03:27:01 PDT
+%%% Date: Mon, 8 Jul 91 12:03:43 MES
+%%% From: Jens Pirnay <HRU003 at DJUKFA11.BITNET>
+%%% Subject: Re: texcad or similar thing for sun?
+%%% In-Reply-To: Message of Sun, 7 Jul 91 22:16:53 CET from
+%%% <weissenfels at BAUELEMENTE.E-TECHNIK.UNI-DORTMUND.DBP.DE>
+%%% Sender: TeX-Euro Distribution List for European TeX Users
+%%% <TEX-EURO at DHDURZ1.BITNET>
+%%% To: "Nelson H. F. Beebe" <beebe at math.utah.edu>
+%%% Reply-To: TeX-Euro Distribution List for European TeX Users
+%%% <TEX-EURO at DHDURZ1.BITNET>
+%%% Message-Id: <6497F39770002161 at CC.UTAH.EDU>
+%%% X-Envelope-To: beebe at MATH.UTAH.EDU
+%%%
+%%
+%%% Date: Mon, 08 Jul 91 11:53:48 MES
+%%% From: Jens Pirnay <HRU003 at DJUKFA11>
+%%% Subject: Re: texcad or similar thing for sun?
+%%% To: TeX-Euro Distribution List for European TeX Users
+%%% <TEX-EURO at DHDURZ1>
+%%% In-Reply-To: Message of Sun, 7 Jul 91 22:16:53 CET from
+%%% <weissenfels at BAUELEMENTE.E-TECHNIK.UNI-DORTMUND.DBP.DE>
+%%% ========================================================================
+%%% The question: "Is there anything like TEXCAD, TEXDRAW for Suns?"
+%%% The answer: Yes, indeed, it is called FIG (Facility for Interactive Gene-
+%%% ration if figures) an d runs under Sunview (fig) or X11 (xfig).
+%%%
+%%% The source code is available via ftp on nearly any better unix-server,
+%%% e.g. Passau (forwiss.uni-passau.de) or Stuttgart
+%%% (rusmv1.rus.uni-stuttgart.de).
+%%%
+%%% A short note about the features of the three most popular TeX-drawing
+%%% aids (= this means, the three I know :-) )
+%%% Name Machine Features
+%%% --------------------------------------------------------------
+%%% TeXCAD IBM-PC 45 % (most of LaTeX's abilities,
+%%% no beziers; translates to LaTeX)
+%%% TeXDraw 1.79 Atari-ST 80 % (LaTeX's abilities plus epics,
+%%% beziers: translates to LaTeX, PiCTeX,
+%%% Metafont; plus conversion of bitmap-
+%%% graphics to LaTeX or Metafont; imports
+%%% LaTeX, HPGL)
+%%% TeXDraw 2.00 Atari-ST(+) 100% (like 1.79 plus splines, ellipses,
+%%% IBM-PC (++) arcs; plus import of FIG, GEM, CSG;
+%%% plus translates FIG; plus support of
+%%% \special-packages (em, cs, tpic))
+%%% fig / xfig sun / X11 100 % (most of LaTeX's abilities plus
+%%% arcs, ellipses, splines; translates to
+%%% PostScript, LaTeX, tpic, HPGL, PicTeX)
+%%%
+%%% (+) betatest-stadium
+%%% (++) just started, to convert
+%%%
+%%% This rating is *VERY* subjective (remember I wrote TeXDraw ;-) )
+%%%
+%%% Jens Pirnay, Institut f. Physik III, Uni Regensburg, Germany
+%%% X400 : pirnay at vax1.rz.uni-regensburg.dbp.de
+%%% BITNET: hru003 at djukfa11
diff --git a/Master/texmf-dist/bibtex/bib/beebe/texjourn.bib b/Master/texmf-dist/bibtex/bib/beebe/texjourn.bib
new file mode 100644
index 00000000000..792e3c8d759
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/beebe/texjourn.bib
@@ -0,0 +1,1378 @@
+%%% -*-BibTeX-*-
+%%% /u/sy/beebe/tex/bib/texjourn.bib, Fri Oct 19 12:52:17 1990
+%%% Edit by Nelson H. F. Beebe <beebe at sandy.math.utah.edu>
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "1.45",
+%%% date = "05 August 2004",
+%%% time = "11:09:56 MDT",
+%%% filename = "texjourn.bib",
+%%% address = "University of Utah
+%%% Department of Mathematics, 110 LCB
+%%% 155 S 1400 E RM 233
+%%% Salt Lake City, UT 84112-0090
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 585 1640, +1 801 581 4148",
+%%% checksum = "35113 1378 5955 54698",
+%%% email = "beebe at math.utah.edu, beebe at acm.org,
+%%% beebe at computer.org, beebe at ieee.org
+%%% (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "bibliography",
+%%% supported = "yes",
+%%% docstring = "This file contains a bibliography of
+%%% journals that are known to accept papers
+%%% for publication in TeX format, and actually
+%%% use that format for publishing. It does
+%%% NOT include journals that reproduce
+%%% author-supplied hardcopy, or that rekey the
+%%% text for typesetting by another system.
+%%%
+%%% At version 1.44, the year coverage looked
+%%% like this:
+%%%
+%%% 1985 ( 1) 1991 ( 1) 1997 ( 1)
+%%% 1986 ( 0) 1992 ( 2) 1998 ( 0)
+%%% 1987 ( 1) 1993 ( 0) 1999 ( 0)
+%%% 1988 ( 1) 1994 ( 2) 2000 ( 0)
+%%% 1990 ( 0) 1996 ( 0) 2002 ( 1)
+%%%
+%%% Periodical: 65
+%%%
+%%% Total entries: 65
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+
+@Preamble{"\input bibnames.sty "
+ # "\input path.sty "}
+
+%% NB: Elsevier at present does not provide authors with the actual
+%% journal production styles, but instead with a compatible preprint
+%% style.
+
+@String{ack-bnb = "Barbara N. Beeton
+ e-mail: \path|bnb@math.ams.org|"}
+
+@String{ack-bz = "Borut Znidar,
+ DALCOM d.o.o.,
+ Stegne 27,
+ 61000 Ljubljana, Slovenia"}
+
+@String{ack-dl = "Dave Love,
+ e-mail: \path|FX%nnga.daresbury.ac.uk@NSFnet-Relay.AC.UK|"}
+
+@String{ack-eg = "Edgar Goodaire,
+ e-mail: \path|edgar%munucs.mun.ca@uwavm.acs.washington.edu|"}
+
+@String{ack-glg = "Gary L. Gray,
+ Engineering Mechanics \& Astronautics,
+ University of Wisconsin-Madison,
+ Madison, WI, USA,
+ Tel: +1 608 262-7418,
+ FAX: +1 608 262-3735,
+ e-mail: \path|gray@cmgroup.engr.wisc.edu|"}
+
+@String{ack-md = "Michael Doob,
+ Department of Mathematics and Astronomy,
+ University of Manitoba,
+ 341 Machray Hall,
+ Winnipeg R3T 2N2, Manitoba, Canada,
+ Tel: (204) 474-9796,
+ e-mail: \path|mdoob@ccu.umanitoba.ca|"}
+
+@String{ack-ms = "Mark Steinberger,
+ The University at Albany, State University of New York,
+ Albany, NY, USA,
+ e-mail: \path|mark@csc.albany.edu|"}
+
+@String{ack-mz = "Mona Zeftel,
+ Addison-Wesley Publishing Company,
+ Reading, MA, USA,
+ e-mail: \path|crw@wjh12.harvard.edu|"}
+
+@String{ack-nhfb = "Nelson H. F. Beebe,
+ University of Utah,
+ Department of Mathematics, 110 LCB,
+ 155 S 1400 E RM 233,
+ Salt Lake City, UT 84112-0090, USA,
+ Tel: +1 801 581 5254,
+ FAX: +1 801 585 1640, +1 801 581 4148,
+ e-mail: \path|beebe@math.utah.edu|,
+ \path|beebe@acm.org|,
+ \path|beebe@computer.org|,
+ \path|beebe@ieee.org| (Internet),
+ URL: \path|http://www.math.utah.edu/~beebe/|"}
+
+@String{ack-np = "Nico A. F. M. Poppelier,
+ TeXnique,
+ Schiermonnikoog 7,
+ 3524 AH Utrecht,
+ The Netherlands,
+ e-mail: BITnet: \path|Poppelier@Hutruu53| or
+ Internet: \path|N.Poppelier@elsevier.NL|"}
+
+@String{ack-pj = "Peter Jansson,
+ Department of Geology and Geophysics,
+ University of Minnesota,
+ Pillsbury Hall \#108,
+ 310 Pillsbury Drive S.E.,
+ Minneapolis, MN 55455,
+ Tel: (612) 624-6860,
+ e-mail: \path|fvm6215@ux.acs.umn.edu|"}
+
+@String{ack-ts = "Tom Schneider,
+ National Cancer Institute,
+ Laboratory of Mathematical Biology,
+ Frederick, Maryland 21702-1201,
+ e-mail: \path|toms@ncifcrf.gov|"}
+
+@String{ack-wk = "Werner Krandick,
+ e-mail: \path=Werner.Krandick@risc.uni-linz.ac.at="}
+
+%% =====================================================================
+%% Journal abbreviations:
+
+@String{j-TEXLINE = "{\TeX}line"}
+
+%% =====================================================================
+%% Publisher abbreviations:
+
+@String{pub-AMS = "American Mathematical Society"}
+
+@String{pub-AMS:adr = "Providence, RI, USA"}
+
+@String{pub-AP = "Academic Press"}
+
+@String{pub-AP:adr = "New York, NY, USA"}
+
+@String{pub-APS = "American Physical Society"}
+
+@String{pub-APS:adr = "Ridge, NY 11961, USA"}
+
+@String{pub-BIRKHAUSER = "Birkh{\"{a}}user"}
+
+@String{pub-BIRKHAUSER:adr = "Cambridge, MA, USA; Berlin, Germany; Basel,
+ Switzerland"}
+
+@String{pub-ESP = "Elsevier Science Publishers"}
+
+@String{pub-ESP:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-IOS = "IOS Press"}
+
+@String{pub-IOS:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-NH = "North-Holland Publishing Company"}
+
+@String{pub-NH:adr = "Amsterdam, The Netherlands"}
+
+@String{pub-SV = "Spring{\-}er-Ver{\-}lag"}
+
+@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg,
+ Germany~/ London, UK~/ etc."}
+
+@String{pub-WILEY = "Wiley"}
+
+@String{pub-WILEY:adr = "New York, NY, USA"}
+
+%% =====================================================================
+%% Periodical entries:
+
+@Periodical{MAPLETECH,
+ editor = "Tony Scott",
+ key = "MAPLETECH",
+ title = "The Maple Technical Newsletter",
+ organization = "Mathematical Institute, University of Oxford",
+ publisher = pub-BIRKHAUSER,
+ address = pub-BIRKHAUSER:adr,
+ ISSN = "1061-5733",
+ bibdate = "Fri Apr 1 18:55:48 1994",
+ note = "Published twice annually.",
+ acknowledgement = ack-nhfb,
+}
+
+@Periodical{tj-appl-math-comp,
+ key = "APPL-MATH-COMP",
+ title = "Applied Mathematics and Computation",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ CODEN = "AMHCBQ",
+ ISSN = "0096-3003",
+ bibdate = "Sat Sep 24 12:36:50 1994",
+ note = "From volume 59, number 1, November 1993, the journal
+ cover proclaims in a fancy logo ``Now accepting
+ \LaTeX{} manuscripts''. Contact Victor van Beuren,
+ Editor, Physical Sciences Journals Group, Elsevier
+ Science Inc., 655 Avenue of the Americas, New York, NY
+ 10010, e-mail: \path=vvb@panix.com=, for further
+ details.",
+}
+
+@Periodical{tj-acp,
+ key = "ACP",
+ title = "{Atmospheric Chemistry and Physics}",
+ publisher = "European Geophysical Society",
+ year = "2002",
+ ISSN = "1680-7316",
+ bibdate = "Thu Jan 17 11:20:58 2002",
+ note = "Typeset with pdf\LaTeX. Authors are strongly
+ encouraged to submit manuscripts in \LaTeX{} using the
+ egs.cls style file. As a reward, page charges will be
+ lower than for submission in other formats. In the
+ first step, a pdf file will be produced suitable for
+ on-line viewing. After an Internet-based discussion of
+ the scientific contents the paper will (if accepted) be
+ formatted in the traditional two-column layout using
+ the same \LaTeX{} source.",
+ URL = "http://www.atmos-chem-phys.org/technical-tex.htm",
+ acknowledgement = ack-nhfb,
+}
+
+@Periodical{tj-bull-ams,
+ key = "BAMS",
+ title = "{Bulletin of the American Mathematical Society}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "BAMOAD",
+ ISSN = "0273-0979",
+ LCCN = "QA1 .B84",
+ bibdate = "Sat Sep 24 13:00:25 1994",
+ note = "Use of \AmSTeX{} began in 1983; completely in
+ \AmSTeX{} and \AmS-\LaTeX{} since late 1986; style
+ files available at \path|e-math.ams.org|.",
+ acknowledgement = ack-bnb # " and " # ack-eg,
+}
+
+@Periodical{tj-can-j-math,
+ key = "CJM",
+ title = "{Canadian Journal of Mathematics}",
+ CODEN = "CJMAAB",
+ ISSN = "0008-414X",
+ LCCN = "QA1 .C36",
+ bibdate = "Sat Sep 24 13:00:23 1994",
+ note = "Completely done in {\TeX} since about 1988, including
+ covers and index. The Bulletin consists of four issues
+ of 144 pages each per year, while the Journal consists
+ of six issues of 224 pages each. The final output is
+ produced from PostScript files, so the particular
+ variation of {\TeX} ({\LaTeX}, {\AMSTeX}, plain) isn't
+ important, as long as the source document can be
+ adapted to conform to the style of each journal. A
+ CMS{\TeX} style file for plain {\TeX} is used
+ internally, and a {\LaTeX} style file is nearly
+ complete.",
+ acknowledgement = ack-eg # " and " # ack-md,
+}
+
+@Periodical{tj-can-math-bull,
+ key = "CMB",
+ title = "{Canadian Mathematical Bulletin}",
+ CODEN = "CMBUA3",
+ ISSN = "0008-4395",
+ bibdate = "Thu Aug 05 11:09:53 2004",
+ note = "The Canadian Mathematical Society employs \TeX{} for
+ their typesetting, and encourages authors to submit
+ that way. See also the note under
+ \cite{tj-can-j-math}.",
+ acknowledgement = ack-eg # " and " # ack-md,
+}
+
+@Periodical{tj-cgf,
+ key = "CGF",
+ title = "{Computer Graphics Forum}",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ CODEN = "CGFODY",
+ ISSN = "0167-7055",
+ LCCN = "T385 .C5746",
+ bibdate = "Sat Sep 24 13:02:30 1994",
+ note = "Publication switched from troff to {\TeX} in summer
+ 1992.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-cmp,
+ key = "CMP",
+ title = "{Current Mathematical Publications}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "CUMPBW",
+ ISSN = "0361-4794",
+ LCCN = "Z6653 .C85",
+ bibdate = "Sat Sep 24 13:41:02 1994",
+ note = "Prepared completely with \TeX{} since 1985; issue
+ indexes prepared with \TeX{} from 1983.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-comment-math,
+ key = "COMMENTMATH",
+ title = "{Commentationes Mathematicae Universitatis
+ Carolinae}",
+ publisher = "Charles University",
+ address = "Praha, Czechoslovakia",
+ CODEN = "CMUCAA",
+ ISSN = "0010-2628",
+ LCCN = "QA1 .C715",
+ bibdate = "Sat Sep 24 13:04:01 1994",
+ note = "Published with \AmSTeX{} since 1990. Articles using
+ \verb|amsppt.sty| are accepted.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-cpc,
+ key = "CPC",
+ title = "{Computer Physics Communications}",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ CODEN = "CPHCBZ",
+ ISSN = "0010-4655",
+ LCCN = "QC52 .C65",
+ note = "\LaTeX{} format accepted for special proceedings
+ issues.",
+ acknowledgement = ack-np,
+}
+
+@Periodical{tj-dokl-math,
+ key = "DOKLMATH",
+ title = "{Russian Academy of Sciences. Doklady. Mathematics}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ ISSN = "1064-5624",
+ bibdate = "Sat Feb 9 07:32:51 2002",
+ note = "Translation into English of the entire pure
+ mathematics section of the ``Doklady
+ Rossi\u\i{}sko\u\i{} Akademi\u\i{} Nauk''. (Formerly
+ ``Soviet Mathematics---Doklady''.) Prepared with
+ \AmSTeX{} beginning in 1983.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-epodd,
+ editor = "David F. Brailsford and Richard K. Furuta",
+ key = "EPODD",
+ title = "Electronic Pub\-lish\-ing\emdash{}Orig\-i\-na\-tion,
+ Dissemination, and Design",
+ publisher = pub-WILEY,
+ address = pub-WILEY:adr,
+ year = "1988" # "\unskip--",
+ CODEN = "EPODEU",
+ ISSN = "0894-3982",
+ bibdate = "Sat Sep 24 13:41:11 1994",
+ note = "The publisher provides style files for {\TeX},
+ {\LaTeX}, and {\tt troff} article formats.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-informatica,
+ key = "INFORMATICA",
+ title = "Informatica",
+ publisher = "The Slovene Society Informatika",
+ address = "Ljubljana, Slovenia",
+ CODEN = "INFOFF",
+ ISSN = "0350-5596",
+ bibdate = "Sat Feb 9 07:33:41 2002",
+ note = "Typeset with {\LaTeX}. Authors can submit articles
+ using the {\tt informat} style option, which is printed
+ in its entirety in the back of each issue.",
+ acknowledgement = ack-bz,
+ subtitle = "An International Journal of Computing and
+ Informatics",
+}
+
+@Periodical{tj-info-sci,
+ key = "INFO-SCI",
+ title = "Information Sciences",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ CODEN = "ISIJBC",
+ ISSN = "0020-0255",
+ LCCN = "Z699.A1 I59",
+ bibdate = "Sat Sep 24 12:40:33 1994",
+ note = "Contact Victor van Beuren, Editor, Physical Sciences
+ Journals Group, Elsevier Science Inc., 655 Avenue of
+ the Americas, New York, NY 10010, e-mail:
+ \path=vvb@panix.com=, for further details.",
+}
+
+@Periodical{tj-int-j-approx-reasoning,
+ key = "INT-J-APPROX-REASONING",
+ title = "International Journal of Approximate Reasoning",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ CODEN = "IJARE4",
+ ISSN = "0888-613X",
+ LCCN = "QA76.76.E95 I577",
+ bibdate = "Sat Sep 24 12:40:33 1994",
+ note = "Official publication of the North American Fuzzy
+ Information Processing Society. Vol. 1, no. 1 (January
+ 1987) --. Contact Victor van Beuren, Editor, Physical
+ Sciences Journals Group, Elsevier Science Inc., 655
+ Avenue of the Americas, New York, NY 10010, e-mail:
+ \path=vvb@panix.com=, for further details.",
+}
+
+@Periodical{tj-intcom,
+ editor = "Vyacheslav M. Nesterov",
+ key = "INTCOM",
+ title = "{Interval Computations}",
+ address = "Box 52, St.Petersburg 195256, Russia, E-mail:
+ \path=nest@nit.spb.su= (Internet)",
+ year = "1991",
+ ISSN = "0135-4868",
+ note = "A refereed international journal, {\em Interval
+ Computations\/} is the only periodical in the world
+ devoted specifically to various aspects of reliable
+ numerical computations based on the interval approach.
+ It is managed by an international editorial board from
+ Bulgaria, Germany, Japan, Russia, and the United
+ States, and printed in Russia. The journal includes
+ various items in the fields of theoretical research,
+ computer tools, applications, interdisciplinary
+ research and other relevant areas.
+
+ The IC has been prepared with {\TeX} since 1992.
+ Recently a new style has been designed based on
+ standard {\LaTeX} {\tt article} style with changes in
+ fonts, headings layout, running heads etc. It uses
+ 10.8pt Baskerville for body text (the unusual font size
+ is selected for better wedding with CM math) and
+ horizontally-squeezed Palatino for headings. For
+ mathematical formulae, standard Computer Modern is
+ preserved. Proofs are made using em{\TeX} DVIHPLJ on a
+ Hewlett-Packard LaserJet IIIp, and final pages are
+ printed at 600dpi. Using V{\TeX} is now under
+ consideration.
+
+ Papers are accepted in any {\TeX} variety; {\LaTeX}
+ {\tt article.sty} preferred.",
+ xxCODEN = "none",
+}
+
+@Periodical{tj-izv-math,
+ key = "IZVMATH",
+ title = "{Russian Academy of Sciences. Izvestiya.
+ Mathematics}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ note = "Translation into English of ``Izvestiya
+ Rossi\u\i{}sko\u\i{} Akademi\u\i{} Nauk Seriya
+ Matematicheskaya''. (Formerly ``Mathematics of the
+ USSR---Izvestiya''.) Prepared with \AmSTeX{} since
+ 1986.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-j-app-mech,
+ key = "JAMECH",
+ title = "{Journal of Applied Mechanics}",
+ CODEN = "JAMCAV",
+ ISSN = "0021-8936",
+ LCCN = "TA1 .J6",
+ bibdate = "Sat Sep 24 13:10:31 1994",
+ note = "{\TeX} macros available from Charles Beardsley,
+ Managing Director of Publications, ASME, Tel: +1 212
+ 705-7722.",
+ acknowledgement = ack-glg,
+}
+
+@Periodical{tj-j-comput-biol,
+ key = "J-COMPUT-BIOL",
+ title = "Journal of Computational Biology",
+ publisher = "Mary Ann Liebert Inc.,",
+ address = "2 Madison Avenue, Larchmont, NY 10538-1962, USA",
+ year = "1994",
+ CODEN = "JCOBEM",
+ ISSN = "1066-5277",
+ bibdate = "Sat Feb 09 07:22:07 2002",
+ note = "\TeX{} is the preferred form for manuscript
+ submission.",
+ URL = "http://www.catchword.com/rpsv/cw/mal/10665277/contp1.htm",
+ acknowledgement = ack-nhfb,
+}
+
+@Periodical{tj-j-logic-prog,
+ key = "J-LOGIC-PROG",
+ title = "The Journal of Logic Programming",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ CODEN = "JLPRE2",
+ ISSN = "0743-1066",
+ bibdate = "Sat Sep 24 12:55:11 1994",
+ note = "Vol. 1, no. 1 (June 1984) --. Contact Victor van
+ Beuren, Editor, Physical Sciences Journals Group,
+ Elsevier Science Inc., 655 Avenue of the Americas, New
+ York, NY 10010, e-mail: \path=vvb@panix.com=, for
+ further details.",
+}
+
+@Periodical{tj-j-phys,
+ key = "JP",
+ title = "{Journal of Physics}",
+ note = "Plain \TeX{} macros available.",
+ acknowledgement = ack-dl,
+}
+
+@Periodical{tj-jclt,
+ editor = "Rex Jaeschke",
+ key = "JCLT",
+ title = "{Journal of C Language Translation}",
+ ISSN = "1042-5721",
+ bibdate = "Sat Sep 24 13:12:59 1994",
+ note = "Vol. 1, no. 1 (June 1989)--. Ceased with vol. 3, no.
+ 4, published in 1992.",
+ acknowledgement = ack-nhfb,
+}
+
+@Periodical{tj-jcs,
+ key = "JCompSecurity",
+ title = "Journal of Computer Security",
+ publisher = pub-IOS,
+ address = pub-IOS:adr,
+ year = "1992",
+ note = "Style files are available from the journal editors.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-jg,
+ key = "JG",
+ title = "{Journal of Glaciology}",
+ publisher = "British Glaciological Society",
+ address = "Cambridge, UK",
+ CODEN = "JOGLAO",
+ ISSN = "0022-1430",
+ LCCN = "GB2401 .J68",
+ bibdate = "Sat Sep 24 13:15:01 1994",
+ note = "First issue typeset by {\TeX} in 1991.",
+ acknowledgement = ack-pj,
+}
+
+@Periodical{tj-j-lin-alg-appl,
+ key = "J-LIN-ALG-APPL",
+ title = "Linear Algebra and Its Applications",
+ publisher = pub-NH,
+ address = pub-NH:adr,
+ CODEN = "LAAPAW",
+ ISSN = "0024-3795",
+ bibdate = "Sat Sep 24 12:47:06 1994",
+ note = "Vol. 1 (January 1968) --. Contact Victor van Beuren,
+ Editor, Physical Sciences Journals Group, Elsevier
+ Science Inc., 655 Avenue of the Americas, New York, NY
+ 10010, e-mail: \path=vvb@panix.com=, for further
+ details.",
+}
+
+@Periodical{tj-jhep,
+ key = "JHEP",
+ title = "Journal of High Energy Physics",
+ howpublished = "Online journal.",
+ publisher = "Societa italiana di fisica",
+ address = "Bologna, Italy",
+ year = "1997",
+ CODEN = "JHEPFG, JHEPAB (paper archive)",
+ ISSN = "1029-8479",
+ LCCN = "QC793 .J68",
+ bibdate = "Sat Feb 09 07:07:34 2002",
+ note = "The paper version of the journal was discontinued at
+ the end of 2000, but publication continues in
+ electronic form. The master archive is hosted at the
+ ``Florence National Library, which is the Italian body
+ officially in charge of keeping the legal archive of
+ all editorial products published in Italy, both
+ electronic and paper, thereby ensuring their legal
+ validity.'' See
+ \path=http://jhep.mse.jhu.edu/JOURNAL/IoPP_SISSA.html=
+ for details. Articles are marked up exclusively in
+ \TeX{}, with PostScript for figures, and are available
+ in DVI, PDF, and PostScript formats.",
+ URL = "http://jhep.mse.jhu.edu/",
+ acknowledgement = ack-nhfb,
+}
+
+@Periodical{tj-jmb,
+ key = "JMB",
+ title = "{Journal of Molecular Biology}",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ CODEN = "JMOBAK",
+ ISSN = "0022-2836",
+ LCCN = "QH301 .J73",
+ bibdate = "Sat Sep 24 13:41:40 1994",
+ note = "{\LaTeX} and {\BibTeX} style files \path|jmb.sty| and
+ \path|jmb.bst| have been provided by Tom Schneider
+ (e-mail \path|toms@ncifcrf.gov|).",
+ acknowledgement = ack-ts,
+}
+
+@Periodical{tj-jnl-alg-geom,
+ key = "JALGGEOM",
+ title = "{Journal of Algebraic Geometry}",
+ publisher = "University Press, Inc.",
+ address = "Naperville, IL, USA",
+ ISSN = "1056-3911",
+ bibdate = "Sat Sep 24 13:18:32 1994",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-jnl-ams,
+ key = "JAMS",
+ title = "{Journal of the American Mathematical Society}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ ISSN = "0894-0347",
+ LCCN = "QA1 .J9763",
+ bibdate = "Sat Sep 24 13:18:30 1994",
+ note = "Prepared with \AmSTeX{} and \AmS-\LaTeX{}; style files
+ available at \path|e-math.ams.org|.",
+ acknowledgement = ack-bnb,
+ xxCODEN = "none",
+}
+
+@Periodical{tj-jnl-diff-geom,
+ key = "JDIFFGEOM",
+ title = "{Journal of Differential Geometry}",
+ publisher = "Lehigh University",
+ address = "Bethlehem, PA, USA",
+ CODEN = "JDGEAS",
+ ISSN = "0022-040X",
+ LCCN = "QA641 .J67",
+ bibdate = "Sat Sep 24 13:18:26 1994",
+ note = "Prepared with \TeX{} since 1988.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-jsc,
+ editor = "Bruno Buchberger",
+ key = "JSYMBOLCOMP",
+ title = "{Journal of Symbolic Computation}",
+ publisher = pub-AP,
+ address = pub-AP:adr,
+ year = "1985",
+ ISSN = "0747-7171",
+ LCCN = "QA76.95 .J68",
+ bibdate = "Sat Sep 24 13:18:36 1994",
+ note = "A {\LaTeX} style file for the journal is available
+ from the publisher, and from
+ \path=ftp.risc.uni-linz.ac.at= in the directory
+ \path=/pub/jsc= in the files \path=jsc.sty= and
+ \path=jscguide.tex=. The resolution is 600 dpi. The
+ software used is PCTEX.",
+ acknowledgement = ack-wk,
+ xxCODEN = "none",
+}
+
+@Periodical{tj-jtb,
+ key = "JTB",
+ title = "{Journal of Theoretical Biology}",
+ CODEN = "JTBIAP",
+ ISSN = "0022-5193",
+ LCCN = "QH301 .J75",
+ bibdate = "Sat Sep 24 13:19:42 1994",
+ note = "{\LaTeX} and {\BibTeX} style files \path|jmb.sty| and
+ \path|jmb.bst| have been provided by Tom Schneider
+ (e-mail \path|toms@ncifcrf.gov|).",
+ acknowledgement = ack-ts,
+}
+
+@Periodical{tj-math-comp,
+ key = "MATHCOMP",
+ title = "{Mathematics of Computation}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "MCMPAF",
+ ISSN = "0025-5718",
+ LCCN = "QA47 .M29",
+ bibdate = "Sat Sep 24 13:21:32 1994",
+ note = "Use of \AmSTeX{} began in 1983; completely in
+ \AmSTeX{} and \AmS-\LaTeX{} since 1988; style files
+ available at \path|e-math.ams.org|.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-math-rev,
+ key = "MATHREV",
+ title = "{Mathematical Reviews}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "MAREAR",
+ ISSN = "0025-5629",
+ LCCN = "QA1 .M76",
+ bibdate = "Sat Sep 24 13:21:25 1994",
+ note = "Beginning in November 1979, \TeX{} has been used for
+ issue indexes; since January 1985, the entire journal
+ has been prepared in \TeX{}. The data for this journal
+ is archived with several database services and is also
+ available on CD-ROM as MathSci.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-mathematica-j,
+ editor = "Stephen Wolfram",
+ key = "MJ",
+ title = "{Mathematica Journal}",
+ address = "Advanced Book Program, Addison-Wesley Publishing
+ Company, 350 Bridge Parkway, Redwood City, CA 94065",
+ ISSN = "1047-5974",
+ LCCN = "QA76.95 .M387",
+ bibdate = "Sat Sep 24 13:22:07 1994",
+ note = "Published both electronically and in print using
+ {\TeX}.",
+ acknowledgement = ack-mz,
+ xxCODEN = "none",
+}
+
+@Periodical{tj-memo-ams,
+ key = "MEMO",
+ title = "{Memoirs of the American Mathematical Society}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "MAMCAU",
+ ISSN = "0065-9266",
+ LCCN = "QA3 .A57",
+ bibdate = "Sat Sep 24 13:22:08 1994",
+ note = "Copy is author prepared; \AmSTeX{} and \AmS-\LaTeX{}
+ style files available at \path|e-math.ams.org|.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-nar,
+ key = "NAR",
+ title = "{Nucleic Acids Research}",
+ CODEN = "NARHAD",
+ ISSN = "0305-1048",
+ LCCN = "QP620 .N8",
+ bibdate = "Sat Sep 24 13:23:22 1994",
+ note = "{\LaTeX} and {\BibTeX} style files \path|nar.sty| and
+ \path|nar.bst| have been provided by Tom Schneider
+ (e-mail: \path|toms@ncifcrf.gov|).",
+ acknowledgement = ack-ts,
+}
+
+@Periodical{tj-noti-ams,
+ key = "NOTIAMS",
+ title = "{Notices of the American Mathematical Society}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "AMNOAN",
+ ISSN = "0002-9920",
+ bibdate = "Wed Apr 7 08:41:02 1999",
+ note = "Use of \TeX{} began in 1982 with selected sections;
+ completely in \TeX{} from 1988 to 1994. Since 1995, the
+ journal has been typeset by Quark Express, although
+ author manuscripts in TeX are accepted, and
+ automatically converted to Quark format at the
+ publisher.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-np-a,
+ key = "NPa",
+ title = "{Nuclear Physics A}",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ CODEN = "NUPABL",
+ ISSN = "0375-9474",
+ LCCN = "QC173 .N8838",
+ bibdate = "Sat Sep 24 13:25:21 1994",
+ note = "\LaTeX{} format accepted.",
+ acknowledgement = ack-dl # " and " # ack-np,
+}
+
+@Periodical{tj-np-b,
+ key = "NPB",
+ title = "{Nuclear Physics B}",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ CODEN = "NUPBBO",
+ ISSN = "0550-3213",
+ LCCN = "QC173 .N8839",
+ bibdate = "Sat Sep 24 13:25:21 1994",
+ note = "\LaTeX{} format accepted.",
+ acknowledgement = ack-dl # " and " # ack-np,
+}
+
+@Periodical{tj-nyjm,
+ editor = "Mark Steinberger",
+ key = "NYJMATH",
+ title = "The New York Journal of Mathematics",
+ howpublished = "Electronic submission and publication only.",
+ organization = "University at Albany, State University of New York",
+ publisher = "University at Albany, State University of New York",
+ address = "Albany, NY, USA",
+ year = "1994",
+ ISSN = "1076-9803",
+ bibdate = "Tue Feb 22 10:10:29 1994",
+ note = "The New York Journal of Mathematics is a refereed
+ mathematics journal being launched by the University at
+ Albany, State University of New York.\par
+
+ The journal is broadly based in subject matter,
+ covering algebra, modern analysis, and
+ geometry/topology.\par
+
+ The papers will be presented via the \TeX{}
+ mathematical typesetting language, developed by Donald
+ Knuth. \TeX{} has become the standard for computer
+ typesetting of mathematical publications.\par
+
+ Access will be provided through a variety of electronic
+ means, including \path|listserv|, anonymous \path|ftp|
+ and \path|gopher|. In particular, access will be much
+ more convenient than that provided by a conventional
+ print journal. Because papers will be published as they
+ are accepted by the editorial board, publication delays
+ will be minimal.\par
+
+ The articles will be archived, date stamped, and
+ maintained by the University at Albany, State
+ University of New York. The University takes
+ responsibility for insuring the integrity of the
+ journal's archive in perpetuity.\par
+
+ The journal will have an ISSN number and will be
+ accessed by the major bibliographic publications in the
+ field.\par
+
+ The development of this journal is being underwritten
+ by the Office of Information Systems of the University
+ at Albany, State University of New York.\par
+
+ The New York Journal will be accessible by a
+ combination of \path|listserv| and \path|gopher|\slash
+ \path|ftp|.\par
+
+ By \path|listserv|, we will distribute abstracts of the
+ papers, together with instructions for retrieving them
+ via \path|ftp| and \path|gopher|.\par
+
+ The abstracts will be available on four separate
+ \path|listserv| lists: one will distribute abstracts
+ for every paper. The other three are specialty lists,
+ giving abstracts for papers in algebra, analysis and
+ geometry\slash topology, respectively. The reader may,
+ of course, subscribe to any combination of these
+ lists.",
+ acknowledgement = ack-ms,
+ note2 = "To subscribe, send a note to
+ \path|listserv@albnyvm1.bitnet|:
+
+ If you want to receive the abstracts for all the
+ papers, the body of your note should read\par
+
+ subscribe NYJMTH-A <your full name>\par
+
+ For the specialized lists, the body of your note should
+ read\par
+
+ Algebra: subscribe NYJM-ALG <your full
+ name>\par
+
+ Analysis: subscribe NYJM-AN <your full
+ name>\par
+
+ Geometry/Topology: subscribe NYJM-TOP <your full
+ name>\par
+
+ To avoid duplication, we will only be archiving the
+ postings on NYJMTH-A, the list carrying all the
+ abstracts. The archive for NYJMTH-A will also contain
+ the style specifications for submissions and the
+ templates for frontmatter.\par
+
+ The \path|gopher|\slash \path|ftp| archive will contain
+ both the abstract and a \path|.dvi| file for each
+ paper. Both abstract and \path|.dvi| will remain
+ unchanged from the official date of publication, as may
+ be verified by checking the date stamps.\par
+
+ The gopher archive may be accessed by typing
+ \path|gopher+ \path|nyjm.albany.edu=. It is also
+ available under the ``Academic Offerings, Departments
+ and Programs'' selection of the main gopher menu of the
+ State University of New York at Albany.\par
+
+ The same archive will be accessible by anonymous
+ \path|ftp| on the machine \path|ftp_nyjm.albany.edu| in
+ the directory \path|/pub/nyjm|. (This feature has not
+ yet been enabled.)\par
+
+ The reader must have access to a printer driver for
+ \TeX{} in order to print out the \path|.dvi| files.
+ Such a driver is present in most mathematics
+ departments. Math departments, libraries, and other
+ institutional subscribers are welcome to consult with
+ the Editor in Chief.",
+ xxCODEN = "none",
+}
+
+@Periodical{tj-phys-letters-a,
+ key = "PLA",
+ title = "{Physics Letters A}",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ CODEN = "PYLAAG",
+ ISSN = "0375-9601",
+ LCCN = "QC1 .P45",
+ bibdate = "Sat Sep 24 13:27:26 1994",
+ note = "\LaTeX{} format accepted.",
+ acknowledgement = ack-np,
+}
+
+@Periodical{tj-phys-letters-b,
+ key = "PLB",
+ title = "{Physics Letters A and B}",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ CODEN = "PYLBAJ",
+ ISSN = "0370-2693",
+ LCCN = "QC1 .P6562",
+ bibdate = "Sat Sep 24 13:27:26 1994",
+ note = "\LaTeX{} format accepted.",
+ acknowledgement = ack-np,
+}
+
+@Periodical{tj-phys-repd,
+ key = "PRep",
+ title = "{Physics Reports}",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ CODEN = "PRPLCM",
+ ISSN = "0370-1573",
+ LCCN = "QC1 .P6563",
+ bibdate = "Sat Sep 24 13:27:56 1994",
+ note = "\LaTeX{} format accepted on an experimental basis.",
+ acknowledgement = ack-np,
+}
+
+@Periodical{tj-phys-rev-a,
+ key = "PRA",
+ title = "{Physical Review A}",
+ publisher = pub-APS,
+ address = pub-APS:adr,
+ CODEN = "PLRAAN",
+ ISSN = "1050-2947",
+ LCCN = "QC1 .P42",
+ bibdate = "Sat Sep 24 13:33:58 1994",
+ note = "\LaTeX{} format accepted.",
+ acknowledgement = ack-dl,
+}
+
+@Periodical{tj-phys-rev-b,
+ key = "PRB",
+ title = "{Physical Review B}",
+ publisher = pub-APS,
+ address = pub-APS:adr,
+ CODEN = "PRBMDO",
+ ISSN = "0163-1829",
+ LCCN = "QC176.A1 P513",
+ bibdate = "Sat Sep 24 13:33:58 1994",
+ note = "\LaTeX{} format accepted.",
+ acknowledgement = ack-dl,
+}
+
+@Periodical{tj-phys-rev-c,
+ key = "PRC",
+ title = "{Physical Review C}",
+ publisher = pub-APS,
+ address = pub-APS:adr,
+ CODEN = "PRVCAN, PRDOF8",
+ ISSN = "0556-2813, 1089-4918",
+ LCCN = "QC770 .P45",
+ bibdate = "Sat Sep 24 13:33:58 1994",
+ note = "\LaTeX{} format accepted.",
+ acknowledgement = ack-dl,
+}
+
+@Periodical{tj-phys-rev-d,
+ key = "PRD",
+ title = "{Physical Review D}",
+ publisher = pub-APS,
+ address = pub-APS:adr,
+ CODEN = "PRVDAQ",
+ ISSN = "0556-2821",
+ LCCN = "QC721 .P457",
+ bibdate = "Sat Sep 24 13:33:58 1994",
+ note = "\LaTeX{} format accepted.",
+ acknowledgement = ack-dl,
+}
+
+@Periodical{tj-phys-rev-e1,
+ key = "PRE",
+ title = "{Physical Review E, Statistical physics, plasmas,
+ fluids, and related interdisciplinary topics}",
+ publisher = pub-APS,
+ address = pub-APS:adr,
+ CODEN = "PLEEE8",
+ ISSN = "1063-651X",
+ LCCN = "QC174.7 .P48 (E)",
+ bibdate = "Sat Sep 24 13:33:58 1994",
+ note = "\LaTeX{} format accepted.",
+ acknowledgement = ack-dl,
+}
+
+@Periodical{tj-phys-rev-e2,
+ key = "PRE",
+ title = "{Physical Review E, Statistical, nonlinear, and soft
+ matter physics}",
+ publisher = pub-APS,
+ address = pub-APS:adr,
+ CODEN = "PRESCM",
+ ISSN = "1063-651X",
+ LCCN = "QC1 .P4292",
+ bibdate = "Sat Feb 09 07:52:28 2002",
+ note = "\LaTeX{} format accepted.",
+ URL = "http://pre.aps.org",
+ acknowledgement = ack-dl,
+}
+
+@Periodical{tj-physica-d,
+ key = "P-D",
+ title = "{Physica D}",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ CODEN = "PDNPDT",
+ ISSN = "0167-2789",
+ LCCN = "QC1 .P3834",
+ bibdate = "Sat Sep 24 13:33:57 1994",
+ note = "\LaTeX{} format accepted for special proceedings
+ issues.",
+ acknowledgement = ack-np,
+}
+
+@Periodical{tj-proc-ams,
+ key = "PAMS",
+ title = "{Proceedings of the American Mathematical Society}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "PAMYAR",
+ ISSN = "0002-9939",
+ LCCN = "QA1 .A5215",
+ bibdate = "Sat Sep 24 13:36:35 1994",
+ note = "Use of \AmSTeX{} began in 1983; completely in
+ \AmSTeX{} and \AmS-\LaTeX{} since late 1986; style
+ files available at \path|e-math.ams.org|.",
+ acknowledgement = ack-bnb # " and " # ack-eg,
+}
+
+@Periodical{tj-proc-steklo,
+ key = "PROCSTEKLO",
+ title = "{Proceedings of the Steklov Institute of
+ Mathematics}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ ISSN = "0081-5438",
+ LCCN = "QA1 .A413",
+ bibdate = "Sat Sep 24 13:36:33 1994",
+ note = "Translation into English of the ``Trudy ordena Lenina
+ Matematicheskogo instuta imeni V. A. Steklova''.
+ Prepared with \AmSTeX{} began since 1987.",
+ acknowledgement = ack-bnb,
+ xxCODEN = "none",
+}
+
+@Periodical{tj-quart-app-math,
+ key = "QAM",
+ title = "{Quarterly of Applied Mathematics}",
+ publisher = "Brown University",
+ address = "Providence, RI, USA",
+ CODEN = "QAMAAY",
+ ISSN = "0033-569X",
+ LCCN = "QA1 .Q25",
+ bibdate = "Sat Sep 24 13:36:30 1994",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-sbor-math,
+ key = "SBORMATH",
+ title = "{Russian Academy of Sciences. Sbornik. Mathematics}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ ISSN = "1064-5616",
+ LCCN = "QA1 .M4112",
+ bibdate = "Sat Sep 24 13:36:27 1994",
+ note = "Translation into English of ``Matematicheski\u\i{}
+ Sbornik''. (Formerly ``Mathematics of the
+ USSR---Sbornik''.) Prepared with \AmSTeX{} since
+ 1987.",
+ acknowledgement = ack-bnb,
+ xxCODEN = "none",
+}
+
+@Periodical{tj-solstice,
+ key = "Solstice",
+ title = "Solstice: An Electronic Journal of Geography and
+ Mathematics",
+ publisher = "Institute of Mathematical Geography",
+ address = "2790 Briarcliff, Ann Arbor, MI 48105-1429, USA",
+ year = "1992",
+ ISBN = "1-877751-44-8; 1-877751-52-9; 1-877751-53-7",
+ ISSN = "1059-5325",
+ bibdate = "Sat Aug 27 11:16:20 1994",
+ acknowledgement = ack-bnb,
+ note-1 = "[These remarks are supplied by the Editor-in-Chief,
+ Sandra L. Arlinghaus:]
+
+ Printer: Digicopy, Corp., 858 Phoenix Dr., Ann Arbor,
+ MI 48108.
+
+ Frequency: Twice yearly, issued on astronomical
+ solstices (late June and late December). An effort is
+ made to have the transmission carry the time and date
+ stamp of the exact minute of the astronomical solstice
+ (sort like a first day cover marking for a stamp
+ collector).
+
+ The ISSN number was assigned by the Library of Congress
+ beginning with the winter issue, 1991.",
+ note-2 = "The rationale behind the ISBN assignment is as
+ follows. {\em Solstice\/} is also available in hard
+ copy (\$15.95) a year for those wishing it. The book
+ containing the full year's issues is given an ISBN. The
+ first number in the list is the number for the 1990
+ volume. The third number is the number for the 1991
+ volume. In addition, in the summer, single issues are
+ available. The second ISBN is the number for the single
+ summer 1991 issue.
+
+ Copyright: copyright is taken out on the hard copy.
+ Electronic files can be compared to the hard copy in a
+ library should a reader question whether or not a
+ document has been altered.
+
+ Here is some additional information.",
+ note-3 = "1. Reason for the name. Because geography and
+ mathematics have a history of mutual research
+ stimulation (Konigsberg bridge problem, four color
+ problem, \ldots), material from one discipline can shed
+ light on the other. Astronomical solstices are extreme
+ positions at which time northern and southern
+ hemispheres receive maximum and minimum daylight or
+ night. Between the solstices there is varying dominance
+ of day and night; so too, there is varying dominance of
+ mathematical and geographical interaction in articles
+ in Solstice. Of course, the extreme of a purely
+ geographical or a purely mathematical article is also
+ suitable for submission.
+
+ 2. Articles are refereed; the journal is
+ peer-reviewed.",
+ note-4 = "3. Members of the Editorial Board are listed below
+ (along with a brief notation of their affiliation):
+ Sandra L. Arlinghaus--Editor-in-Chief, Director, IMaGe.
+ William C. Arlinghaus, Professor and Chair, Dep't. of
+ Math. and C.S., Lawrence Technological University,
+ Southfield, MI Neal Brand, Professor, Dep't. of Math.
+ Univ. of North Texas. Kenneth H. Rosen, Mathematician,
+ Bell Labs. Michael Goodchild, Professor of Geography,
+ Univ. of California, Santa Barbara Daniel A. Griffith,
+ Professor of Geography, Syracuse University. Jonathan
+ D. Mayer, Professor of Geography, University of
+ Washington. John D. Nystuen, Professor of Geography and
+ Planning, Univ. of Michigan.
+
+ 4. List of content: [omitted]",
+ note-5 = "5. The journal is typeset using TeX. To gain
+ experience in publishing matters using TeX, it was very
+ helpful to me to be hired by the University of Chicago
+ Press to typeset, using TeX, a volume in their
+ ``Lecture Notes in Physics''--(Walter Welford's {\em
+ Useful Optics\/}--quite suitable, I think!). Generally,
+ {\em The TeXbook\/} is all that I need; once I
+ encountered a difficulty with some sort of `bold'
+ notation invented by an author. For that, a combination
+ of advice from a colleague in mathematics and from the
+ University of Michigan's Computing Center, helped me to
+ figure out a way to solve the problem.",
+ note-6 = "6. A number of the volumes in the IMaGe monograph
+ series are typeset using TeX. Monographs 9, 11, 12, 13
+ (Solstice hard copy for 1990), 14, and 15 (Solstice
+ hard copy for 1991) are TeX-ed. I typeset documents
+ using Plain TeX; the hard copy is obtained by uploading
+ the ASCII file into the University of Michigan's
+ mainframe and printing it out on their Xerox 9700
+ (series) machine. They have a number of them at various
+ sites across campus. The print quality is only 200 dpi,
+ so in that regard TeX-ed documents don't look as good
+ as they should--hence, difficulty in convincing
+ non-TeXers of its value. Every effort is made to get
+ hard copy right after a periodic maintenance of the
+ machines. Then photos are inserted (pasted
+ electronically) onto this hardcopy using a Xerox
+ DocuTech with its high resolution scanner.",
+ note-7 = "Copies are made from the master document stored,
+ temporarily at least, on one of the three 280 meg hard
+ drives in the DocuTech. We await the day when the files
+ can be downloaded from DocuTech hard drive onto a
+ floppy! What would be great of course is if Xerox would
+ make it so that a TeX file on a floppy could be
+ directly fed into the DocuTech--by-passing the
+ intermediate (conventional mainframe -- the DocuTech
+ functions as a mainframe) step.",
+ note-8 = "7. Copies of {\em Solstice\/} have been sent to {\em
+ Math. Reviews}. A letter was sent to the AMS, following
+ their statement in the September 1991 {\em Notices\/}
+ that there was no peer-reviewed online journal of
+ mathematics, informing them of {\em Solstice\/}'s
+ existence. There appears to be a great deal of
+ difficulty in archiving this sort of publication. The
+ earliest one I have found is Richard Zander's {\em
+ Flora Online\/}--he is Curator of Botany and the
+ Buffalo Museum of Science--this journal dates from
+ 1987. It is not a TeX-ed journal; it is peer-reviewed.
+ No doubt, though, you are aware of Michael
+ Strangelove's directory of electronic journals--think
+ he lists a subset that are TeX-ed. He's at the
+ University of Ottawa in the Department of Religious
+ Studies, I believe.",
+ note-9 = "8. Environmental issue--we see this as a sound manner
+ of document production; when hard copy is produced (to
+ suit demand--``just-in-time'' publishing) it is printed
+ on 100\% recycled paper with a large percentage of
+ fiber from post-consumer (20\% to 40\%, depending on
+ the lot) products. Obviously, the electronic
+ distribution of {\em Solstice}, free, across Bitnet and
+ Internet, is cheap and environmentally sensitive.
+
+ 9. Other media exposure of {\em Solstice\/}: {\sl
+ Science}, AAAS, 29 November, 1991, p. 1291; {\sl
+ Science News}, Jan. 25, 1992, p. 61. Contributed talk,
+ AMS, Baltimore, 1992--Abstract \#871-99-73, p. 145 {\sl
+ Abstracts of Papers Presented to The American
+ Mathematical Society\/} January 1992, Issue 79, Volume
+ 13, Number 1. {\sl Newsletter\/} of the Association of
+ American Geographers, June, 1992.",
+ xxCODEN = "none",
+}
+
+@Periodical{tj-stp-math-j,
+ key = "STPMATHJ",
+ title = "{St. Petersburg Mathematical Journal}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ ISSN = "1061-0022",
+ LCCN = "QA150 .A42",
+ bibdate = "Sat Sep 24 13:37:12 1994",
+ note = "Translation into English of ``Algebra i Analiz''.
+ (Formerly ``Leningrad Mathematical Journal''.) Prepared
+ with \AmSTeX{}.",
+ acknowledgement = ack-bnb,
+ xxCODEN = "none",
+}
+
+@Periodical{tj-sugaku,
+ key = "SUGAKU",
+ title = "{Sugaku Expositions}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ ISSN = "0898-9583",
+ LCCN = "QA1 .S855",
+ bibdate = "Sat Sep 24 13:42:18 1994",
+ note = "Translation into English of expository articles from
+ ``Sugaku''. Prepared with \AmSTeX{}.",
+ acknowledgement = ack-bnb,
+ xxCODEN = "none",
+}
+
+@Periodical{tj-tcs,
+ key = "TCS",
+ title = "{Theoretical Computer Science}",
+ publisher = pub-ESP,
+ address = pub-ESP:adr,
+ CODEN = "TCSCDI",
+ ISSN = "0304-3975",
+ LCCN = "QA267 .T46",
+ bibdate = "Sat Sep 24 13:38:28 1994",
+ note = "\LaTeX{} format accepted.",
+ URL = "http://www.elsevier.com:80/inca/publications/store/5/0/5/6/",
+ acknowledgement = ack-np,
+}
+
+@Periodical{tj-texline,
+ editor = "Malcolm Clark",
+ key = "TEXLINE",
+ title = j-TEXLINE,
+ year = "1987" # "\unskip--",
+ ISSN = "0961-3978",
+ note = "This is an informal newsletter of the {\TeX{}}
+ community.",
+ xxCODEN = "none",
+}
+
+@Periodical{tj-theor-comput-fluid-dyn,
+ editor = "Y. M. Hussaini",
+ key = "THEOR-COMPUT-FLUID-DYN",
+ title = "Theoretical and computational fluid dynamics",
+ publisher = pub-SV,
+ address = pub-SV:adr,
+ CODEN = "TCFDEP",
+ ISSN = "0935-4964",
+ bibdate = "Wed Apr 07 19:06:20 1999",
+ note = "Volume 1, number 1, appeared in 1989, and authors are
+ encouraged to submit articles in \LaTeX{} form. Tables
+ of contents are available online for issues beginning
+ with volume 8, number 1, 1996.",
+ URL = "http://link.springer-ny.com/link/service/journals/00162/index.htm",
+ acknowledgement = ack-nhfb,
+}
+
+@Periodical{tj-thy-prob-stat,
+ key = "TOPMS",
+ title = "{Theory of Probability and Mathematical Statistics}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "TPMSCO",
+ ISSN = "0094-9000",
+ LCCN = "QA273.A1 T453",
+ bibdate = "Sat Sep 24 13:38:57 1994",
+ note = "Translation into English of ``Teoria Veroyatnostei i
+ Matematicheskaya Statistika''. Prepared with
+ \AmSTeX{}.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-trans-ams,
+ key = "TAMS",
+ title = "{Transactions of the American Mathematical Society}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "TAMTAM",
+ ISSN = "0002-9947",
+ LCCN = "QA1 .A522",
+ bibdate = "Sat Sep 24 13:42:24 1994",
+ note = "Use of \AmSTeX{} began in 1983; author submission of
+ \AmSTeX{} manuscripts encouraged since 1987; \AmSTeX{}
+ and \AmS-\LaTeX{} since late 1986; style files
+ available at \path|e-math.ams.org|.",
+ acknowledgement = ack-bnb # " and " # ack-eg,
+}
+
+@Periodical{tj-trans-moscow,
+ key = "TRMOSCOW",
+ title = "{Transactions of the Moscow Mathematical Society}",
+ publisher = pub-AMS,
+ address = pub-AMS:adr,
+ CODEN = "TMMSD4",
+ ISSN = "0077-1554",
+ LCCN = "QA1 .M9883",
+ bibdate = "Sat Sep 24 13:40:04 1994",
+ note = "Translation into English of ``Trudy Moskovskogo
+ Matematicheskogo Obshchestva''. Prepared with \AmSTeX{}
+ since 1987.",
+ acknowledgement = ack-bnb,
+}
+
+@Periodical{tj-z-phys,
+ key = "ZP",
+ title = "{Zeitschrift F{\"u}r Physik}",
+ note = "Need to confirm this.",
+ acknowledgement = ack-dl,
+}
diff --git a/Master/texmf-dist/bibtex/bib/beebe/texnique.bib b/Master/texmf-dist/bibtex/bib/beebe/texnique.bib
new file mode 100644
index 00000000000..4dc3205e944
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/beebe/texnique.bib
@@ -0,0 +1,546 @@
+%%% -*-BibTeX-*-
+%%% /u/sy/beebe/tex/bib/texnique.bib, Sat Jul 7 15:46:01 1990
+%%% Edit by Nelson H. F. Beebe <beebe at plot79.math.utah.edu>
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "1.18",
+%%% date = "01 November 2000",
+%%% time = "08:29:07 MDT",
+%%% filename = "texnique.bib",
+%%% address = "Center for Scientific Computing
+%%% University of Utah
+%%% Department of Mathematics, 322 INSCC
+%%% 155 S 1400 E RM 233
+%%% Salt Lake City, UT 84112-0090
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 585 1640, +1 801 581 4148",
+%%% URL = "http://www.math.utah.edu/~beebe",
+%%% checksum = "40175 546 1745 15001",
+%%% email = "beebe at math.utah.edu, beebe at acm.org,
+%%% beebe at computer.org, beebe at ieee.org
+%%% (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% supported = "yes",
+%%% docstring = "This BibTeX file contains entries for the
+%%% TeX User Group TeXniques series.
+%%%
+%%% At version 1.18, the year coverage looked
+%%% like this:
+%%%
+%%% 1983 ( 1) 1986 ( 2) 1989 ( 0)
+%%% 1984 ( 0) 1987 ( 16) 1990 ( 2)
+%%% 1985 ( 0) 1988 ( 27)
+%%%
+%%% Article: 48
+%%%
+%%% Total entries: 48
+%%%
+%%% Journal article tags look like
+%%% author:abbrev-volume-number-page, where the
+%%% author part is the last name of the first
+%%% author: for example, Knuth:TQ13-1.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+
+@preamble{"\input bibnames.sty"}
+
+@string{j-TEXNIQUES = "{\TeX{}}{\-}niques, Publications for the {\TeX{}}
+ community"}
+
+@Article{McPherson:TQ1-1,
+ author = "Kent McPherson",
+ title = "{VAX Language-Sensitive Editor (LSEDIT) Quick Reference
+ Guide}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "1",
+ pages = "ii, 1--9",
+}
+
+@Article{Ferguson:TQ2-1,
+ author = "Michael J. Ferguson",
+ title = "Table Making\emdash{}the {INRS\TeX{}} Method",
+ journal = j-TEXNIQUES,
+ year = "1986",
+ volume = "",
+ number = "2",
+ pages = "1--14",
+}
+
+@Article{Aurbach:TQ3-1,
+ author = "R. L. Aurbach",
+ title = "User's Guide to the {Idx\TeX{}} Program",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "3",
+ pages = "i, 1--14",
+}
+
+@Article{Aurbach:TQ4-1,
+ author = "R. L. Aurbach",
+ title = "User's Guide to the {Glo\TeX{}} Program",
+ journal = j-TEXNIQUES,
+ year = "1986",
+ volume = "",
+ number = "4",
+ pages = "i, 1--10",
+}
+
+@Article{Childs:TQ5-1,
+ author = "Bart Childs",
+ title = "We've Come a Long Way, And ?",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "1--4",
+}
+
+@Article{Thiele:TQ5-5,
+ author = "Christina Thiele",
+ title = "{\TeX{}}, Linguistics, and Journal Production",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "5--26",
+}
+
+@Article{Levy:TQ5-27,
+ author = "Silvio Levy",
+ title = "Typesetting {Greek}",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "27--34",
+}
+
+@Article{Andrews:TQ5-35,
+ author = "Walter Andrews and Pierre MacKay",
+ title = "The {Ottoman Texts Project}",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "35--52",
+ bibdate = "Sat Aug 27 11:17:48 1994",
+}
+
+@Article{Saito:TQ5-53,
+ author = "Nobuo Saito and Kazuhiro Kitagawa",
+ title = "What Should We Do for {Japanese} {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "53--56",
+ bibdate = "Wed Aug 24 21:57:46 1994",
+}
+
+@Article{Saito:TQ5-57,
+ author = "Yasuki Saito",
+ title = "{Japanese} {\TeX{}}: {J\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "57--68",
+}
+
+@Article{McGaffey:TQ5-69,
+ author = "Robert W. McGaffey",
+ title = "Developing {\TeX{}} {DVI} Driver Standards",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "69--70",
+ bibdate = "Wed Aug 24 21:58:21 1994",
+}
+
+@Article{Beebe:TQ5-71,
+ author = "Nelson H. F. Beebe",
+ title = "A {\TeX{}} {DVI} Driver Family",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "71--114",
+}
+
+@Article{Ness:TQ5-115,
+ author = "David Ness",
+ title = "The Use of {\TeX{}} in a Commercial Environment",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "115--124",
+ bibdate = "Sat Aug 27 11:17:56 1994",
+}
+
+@Article{Levy:TQ5-125,
+ author = "Silvio Levy",
+ title = "Literate Programming in {C}",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "125--130",
+}
+
+@Article{Simpson:TQ5-131,
+ author = "Richard Simpson",
+ title = "Porting {\TeX{}} to the {IBM RT}",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "131--132",
+}
+
+@Article{Dyer:TQ5-133,
+ author = "Allen R. {Dyer, Esquire}",
+ title = "Text Formatting and the {Maryland} Lawyer",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "133--140",
+}
+
+@Article{Carr:TQ5-141,
+ author = "Leslie Carr",
+ title = "Of {\MF} and {\POSTSCRIPT}",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "5",
+ pages = "141--152",
+}
+
+@Article{Wichura:TQ6-1,
+ author = "Michael J. Wichura",
+ title = "The {PiC\TeX{}} Manual",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "6",
+ pages = "v, 1--85",
+}
+
+@Article{McCaskill:TQ7-1,
+ author = "Mary McCaskill",
+ title = "Producing {NASA} Technical Reports with {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "1--10",
+}
+
+@Article{Renfrow:TQ7-11,
+ author = "J. Tom Renfrow",
+ title = "Use of {\TeX{}} in an Integrated System Development
+ Environment",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "11--24",
+}
+
+@Article{Ness:TQ7-25,
+ author = "David Ness and James Slagle",
+ title = "{\TeX{}} and Databases",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "25--30",
+}
+
+@Article{Mann:TQ7-31,
+ author = "Laurie Mann",
+ title = "Producing Manual Sets Using Single-Sourcing",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "31--40",
+}
+
+@Article{Pollari:TQ7-41,
+ author = "Jean Pollari",
+ title = "Using {\TeX{}} to Produce Government Standard Documentation",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "41--52",
+}
+
+@Article{Jul:TQ7-53,
+ author = "Eric Jul",
+ title = "Implementing {\TeX{}} in a Production Environment: A
+ Case Study",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "53--60",
+}
+
+@Article{Tonkin:TQ7-61,
+ author = "Peter Tonkin and Alex Warman",
+ title = "How and Why a Trade Typesetter Chose {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "61--68",
+}
+
+@Article{Mooney:TQ7-69,
+ author = "James D. Mooney",
+ title = "An Experience in Textbook Production",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "69--82",
+}
+
+@Article{Harris:TQ7-83,
+ author = "Robert L. Harris",
+ title = "Using {\TeX{}} to Produce Kennel Club Yearbooks",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "83--96",
+}
+
+@Article{Barnhart:TQ7-97,
+ author = "Elizabeth Barnhart and David Ness",
+ title = "Layout for {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "97--116",
+}
+
+@Article{Childs:TQ7-117,
+ author = "Bart Childs and others",
+ title = "Syllabi for {\TeX{}} and {\MF{}} Courses",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "117--128",
+ bibdate = "Wed Nov 1 08:28:58 2000",
+}
+
+@Article{Parks:TQ7-129,
+ author = "Berkeley Parks",
+ title = "{\TeX{}} Tips for Getting Started",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "129--148",
+}
+
+@Article{Wittbecker:TQ7-149,
+ author = "Alan Wittbecker",
+ title = "The Art of Teaching {\TeX{}} for Production",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "149--154",
+}
+
+@Article{Farrell:TQ7-155,
+ author = "Shawn Farrell",
+ title = "Choosing Between {\TeX{}} and {\LaTeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "155--164",
+ bibdate = "Sat Sep 10 14:07:30 1994",
+}
+
+@Article{Kitagawa:TQ7-165,
+ author = "Kazuhiro Kitagawa and Nobuo Saito",
+ title = "Mathematics Textbook Publishing with {Japanese} {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "165--170",
+}
+
+@Article{Goldberg:TQ7-171,
+ author = "Jacques Goldberg",
+ title = "Approximate {\TeX{}} for {Semitic} Languages",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "171--178",
+}
+
+@Article{Ferguson:TQ7-179,
+ author = "Michael J. Ferguson",
+ title = "{\TeX{}} is Multilingual",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "179--188",
+}
+
+@Article{Saarinen:TQ7-189,
+ author = "Kauko Saarinen",
+ title = "Experiences with {\TeX{}} in {Finland}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "189--194",
+}
+
+@Article{vonBechtolsheim:TQ7-195,
+ author = "Stephan von Bechtolsheim",
+ title = "Using the {Emacs} Editor to Safely Edit {\TeX{}} Sources",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "195--202",
+}
+
+@Article{Price:TQ7-203,
+ author = "Lynne A. Price",
+ title = "Using {SGML} and {\TeX{}} for User Documentation",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "203--210",
+}
+
+@Article{Yap:TQ7-211,
+ author = "Ken Yap",
+ title = "{DVI} Previewers",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "211--218",
+}
+
+@Article{Kruse:TQ7-219,
+ author = "Robert L. Kruse",
+ title = "{Pre\TeX{}}: Tools for Typesetting Technical Books",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "219--226",
+}
+
+@Article{Schmidt:TQ7-227,
+ author = "Mike Schmidt",
+ title = "{Cap\TeX{}}: Industrial Strength {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "227--234",
+}
+
+@Article{Muller:TQ7-235,
+ author = "Paul M. Muller",
+ title = "{FAS\TeX{}}: A {PC} Text Editor and Front-End for {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "7",
+ pages = "235--254",
+}
+
+@Article{Huth:TQ8-1,
+ author = "Frances Huth",
+ title = "A Users' Guide for {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1987",
+ volume = "",
+ number = "8",
+ pages = "v, 1--51",
+}
+
+@Article{Urban:TQ9-1,
+ author = "Michael Urban",
+ title = "An Introduction to {\LaTeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1990",
+ volume = "",
+ number = "9",
+ pages = "iii, 1--56",
+}
+
+@Article{Botway:TQ10-1,
+ author = "L. Botway and C. Biemesderfer",
+ title = "{\LaTeX{}} Command Summary",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "10",
+ pages = "1--14",
+}
+
+@Article{Samuel:TQ11-1,
+ author = "Arthur Samuel",
+ title = "First Grade {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1983",
+ volume = "",
+ number = "11",
+ pages = "1--34",
+}
+
+@Article{Doob:TQ12-1,
+ author = "Michael Doob",
+ title = "A Gentle Introduction to {\TeX{}}",
+ journal = j-TEXNIQUES,
+ year = "1988",
+ volume = "",
+ number = "12",
+ pages = "iv, 1--88",
+}
+
+@Article{Knuth:TQ13-1,
+ author = "Donald E. Knuth and Tomas G. Rokicki and Arthur Samuel",
+ title = "{\MF{}}ware",
+ journal = j-TEXNIQUES,
+ year = "1990",
+ volume = "",
+ number = "13",
+ pages = "iv, 101--126, 201--239, 301--380, 401--441",
+}
diff --git a/Master/texmf-dist/bibtex/bib/beebe/tugboat.bib b/Master/texmf-dist/bibtex/bib/beebe/tugboat.bib
new file mode 100644
index 00000000000..be735ed4870
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/beebe/tugboat.bib
@@ -0,0 +1,39815 @@
+%%% -*-BibTeX-*-
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "1.34",
+%%% date = "13 January 2004",
+%%% time = "16:06:09 MST",
+%%% filename = "tugboat.bib",
+%%% address = "Center for Scientific Computing
+%%% University of Utah
+%%% Department of Mathematics, 110 LCB
+%%% 155 S 1400 E RM 233
+%%% Salt Lake City, UT 84112-0090
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 581 4148",
+%%% URL = "http://www.math.utah.edu/~beebe",
+%%% checksum = "47324 39815 135563 1363401",
+%%% email = "beebe at math.utah.edu, beebe at acm.org,
+%%% beebe at computer.org (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "bibliography, BibTeX, TeX Users Group,
+%%% TUGboat",
+%%% supported = "yes",
+%%% docstring = "This bibliography covers the contents of
+%%% TUGboat (ISSN 0896-3207, LCCN Z253.4.T47T83),
+%%% the Communications of the TeX Users Group.
+%%%
+%%% At version 1.34, the year coverage looked
+%%% like this:
+%%%
+%%% 1980 ( 11) 1988 ( 125) 1996 ( 101)
+%%% 1981 ( 119) 1989 ( 169) 1997 ( 95)
+%%% 1982 ( 50) 1990 ( 164) 1998 ( 113)
+%%% 1983 ( 66) 1991 ( 190) 1999 ( 134)
+%%% 1984 ( 69) 1992 ( 136) 2000 ( 84)
+%%% 1985 ( 115) 1993 ( 107) 2001 ( 97)
+%%% 1986 ( 114) 1994 ( 129)
+%%% 1987 ( 138) 1995 ( 86)
+%%%
+%%% Article: 2446
+%%%
+%%% Total entries: 2446
+%%%
+%%% The master files for this bibliography are
+%%% maintained at
+%%%
+%%% ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.*
+%%% http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat
+%%%
+%%% A brief journal table-of-contents is available at:
+%%%
+%%% ftp://ftp.math.utah.edu/pub/tex/bib/toc/tugboat.html
+%%% http://www.math.utah.edu/pub/tex/bib/toc/tugboat.html
+%%%
+%%% The cross-referenced master index for the
+%%% journal is available at:
+%%%
+%%% ftp://ftp.math.utah.edu/pub/tex/bib/idx/tugboat/*
+%%% http://www.math.utah.edu/pub/tex/bib/idx/tugboat/index.html
+%%%
+%%% The TeX Users Group Web site is
+%%%
+%%% http://www.tug.org/
+%%%
+%%% and the Comprehensive TeX Archive Network
+%%% (CTAN) master sites are at
+%%%
+%%% ftp://ftp.dante.de/tex-archive
+%%% ftp://ftp.tex.ac.uk/tex-archive
+%%% ftp://ctan.tug.org/tex-archive
+%%%
+%%% The command
+%%%
+%%% finger ctan at tug.org
+%%%
+%%% will display the current list of CTAN
+%%% master sites, and their many mirrors around
+%%% the world.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+
+@String{ack-bnb = "Barbara N. Beeton,
+ American Mathematical Society,
+ P.O. Box 6248,
+ Providence, RI 02940,
+ USA,
+ Tel: +1 401 455 4014,
+ e-mail: \path|bnb@math.ams.org|"}
+
+@String{ack-nhfb = "Nelson H. F. Beebe,
+ Center for Scientific Computing,
+ University of Utah,
+ Department of Mathematics, 110 LCB,
+ 155 S 1400 E RM 233,
+ Salt Lake City, UT 84112-0090, USA,
+ Tel: +1 801 581 5254,
+ FAX: +1 801 581 4148,
+ e-mail: \path|beebe@math.utah.edu|,
+ \path|beebe@acm.org|,
+ \path|beebe@ieee.org| (Internet),
+ URL: \path|http://www.math.utah.edu/~beebe/|"}
+
+%%% ====================================================================
+%%% BibTeX database file for TUGboat created automatically with
+%%%
+%%% nawk -f tugboat.awk
+%%%
+%%% by beebe at psi.math.utah.edu on Sat Jul 5 17:27:22 MDT 2003
+%%%
+%%% Input files:
+%%% tb0180.cnt
+%%% tb0281.cnt
+%%% tb0382.cnt
+%%% tb0483.cnt
+%%% tb0584.cnt
+%%% tb0685.cnt
+%%% tb0786.cnt
+%%% tb0887.cnt
+%%% tb0988.cnt
+%%% tb1089.cnt
+%%% tb1190.cnt
+%%% tb1291.cnt
+%%% tb1392.cnt
+%%% tb1493.cnt
+%%% tb1594.cnt
+%%% tb1695.cnt
+%%% tb1796.cnt
+%%% tb1897.cnt
+%%% tb1998.cnt
+%%% tb2099.cnt
+%%% tb2100.cnt
+%%% tb2201.cnt
+%%% tb2302.cnt
+%%%
+%%% ====================================================================
+
+@Preamble{"\input tugboat.def"}
+
+@Preamble{"\input path.sty"}
+
+@String{j-TUGboat = "TUGboat"}
+
+@Article{Welland:TB1-1-2,
+ author = "Robert Welland",
+ title = "{Editor's Comments}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "2--3",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Palais:TB1-1-3,
+ author = "Richard Palais",
+ title = "{Message from the Chairman}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "3--7",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Swanson:TB1-1-7,
+ author = "Ellen Swanson",
+ title = "{Publishing \& \TeX}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "7--9",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spivak:TB1-1-10,
+ author = "Michael Spivak",
+ title = "{{\AmSTeX\Dash``A very friendly product}''}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "10--11",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Morris:TB1-1-12,
+ author = "Robert Morris",
+ title = "{Minutes of the first TUG meeting, February 1980}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "12--16",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zabala:TB1-1-16,
+ author = "Ignacio Zabala and Luis Trabb-Pardo",
+ title = "{The status of the Pascal implementation of \TeX}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "16--17",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB1-1-17,
+ author = "David Fuchs",
+ title = "{The format of {\TeX}'s {DVI} files}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "17--19",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hodge:TB1-1-19,
+ author = "Thea Hodge",
+ title = "{University of Minnesota CDC Cyber site report}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "19--20",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB1-1-20,
+ author = "Barbara Beeton",
+ title = "{Troubles with trace and Other oddities}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "20--20",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Winograd:TB1-1-Appendix-A,
+ author = "Terry Winograd and Bill Paxton",
+ title = "{An indexing facility for \TeX}",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "Appendix A",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Emch:TB1-1-22,
+ author = "G{\'e}rard Emch and Arnold Pizer",
+ title = "Letters",
+ journal = j-TUGboat,
+ volume = "1",
+ number = "1",
+ pages = "22--23",
+ month = oct,
+ year = "1980",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-1-2,
+ author = "Anonymous",
+ title = "{Addresses of authors}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "2--2",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Welland:TB2-1-3,
+ author = "Robert Welland",
+ title = "{Site Coordinators}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "3--3",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Palais:TB2-1-3,
+ author = "Richard Palais",
+ title = "{Chairman's report}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "3--5",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Morris:TB2-1-5,
+ author = "Robert Morris",
+ title = "{Report on the January 1981 TUG Steering Committee
+ meeting}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "5--6",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB2-1-6,
+ author = "Samuel B. Whidden",
+ title = "{1980 TUG Treasurer's report}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "6--6",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Morris:TB2-1-6,
+ author = "Robert Morris",
+ title = "{Informal TUG session}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "6--7",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Morris:TB2-1-7,
+ author = "Robert Morris",
+ title = "{A position on {\TeX} maintenance}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "7--8",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB2-1-9,
+ author = "Samuel B. Whidden",
+ title = "{{\TeX} support}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "9--10",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kim:TB2-1-10,
+ author = "Scott Kim",
+ title = "{Update on Pascal \MF}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "10--10",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB2-1-11,
+ author = "David Fuchs",
+ title = "{Erratum: {The format of {\TeX}'s DVI files}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "11--11",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zabala:TB2-1-11,
+ author = "Ignacio Zabala",
+ title = "{\TeX-Pascal and Pascal compilers (a status report)}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "11--12",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB2-1-12,
+ author = "David Fuchs",
+ title = "{{{\TeX} Font Metric files}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "12--16",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sherrod:TB2-1-17,
+ author = "Phil Sherrod and Alan Wright",
+ title = "{{\TeX} support programs}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "17--19",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lawson:TB2-1-20,
+ author = "C. L. Lawson and I. Zabala and M. D{\'{\i}}az",
+ title = "{{Brief functional characterization of the procedures
+ in the {\TeX}/Pascal compilation unit, {\tt SYSDEP}}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "20--31",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lawson:TB2-1-32,
+ author = "C. L. Lawson and I. Zabala and M. D{\'{\i}}az",
+ title = "{{Detailed specifications of procedures in the
+ {\TeX}/Pascal compilation unit, {\tt SYSDEP}}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "32--47",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doherty:TB2-1-48,
+ author = "Barry Doherty",
+ title = "{Output devices: {A new column}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "48--48",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berns:TB2-1-48,
+ author = "Eagle Berns",
+ title = "{{Status of {\TeX} on the Stanford 370/3033
+ systems}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "48--48",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doherty:TB2-1-48-2,
+ author = "Barry Doherty and Barbara Beeton",
+ title = "{AMS site report}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "48--49",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Incerpi:TB2-1-49,
+ author = "Janet Incerpi",
+ title = "{{The status of {\VAX}/{\TeX} at Brown}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "49--50",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hodge:TB2-1-51,
+ author = "T. D. Hodge",
+ title = "{{Report from the North Star, or, {\TeX} at the
+ University of Minnesota}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "51--51",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Stromquist:TB2-1-51,
+ author = "Ralph Stromquist",
+ title = "{{{\TeX} is available for Univac 1100 systems}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "51--51",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Totland:TB2-1-51,
+ author = "Helge Totland",
+ title = "{{Report on the use of {\TeX} at Computas A/S, Norway;
+ Nord 100 computer: 16 bit ``big mini''}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "51--52",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB2-1-53,
+ author = "Barbara Beeton",
+ title = "{Disappearing digits; {Undisciplined uppercase}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "53--53",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB2-1-53-2,
+ author = "Barbara Beeton",
+ title = "{How to prepare a file for publication in {\TUB}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "53--54",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Diaz:TB2-1-55,
+ author = "Max D{\'{\i}}az",
+ title = "{{\TeX} macro package}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "55--55",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Keller:TB2-1-56,
+ author = "Arthur M. Keller",
+ title = "{Anatomy of a {\TeX} macro package}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "56--86",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-1-87,
+ author = "Lynne A. Price and Patrick Milligan",
+ title = "{{{\tt NOFILL} program with Pascal source}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "87--97",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-1-98,
+ author = "Lynne A. Price",
+ title = "{List macros}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "98--110",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-1-111,
+ author = "Lynne A. Price",
+ title = "{Table of contents macros}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "111--118",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Milligan:TB2-1-119,
+ author = "Patrick Milligan and Lynne A. Price",
+ title = "{Utility macros}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "119--121",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-1-122,
+ author = "Lynne A. Price",
+ title = "{Hebrew letter (with source)}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "122--124",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-1-125,
+ author = "Lynne A. Price",
+ title = "{Two slides}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "125--126",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eck:TB2-1-127,
+ author = "David Eck",
+ title = "{Report from an early {\AmSTeX} user}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "127--127",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hirst:TB2-1-127,
+ author = "Graeme Hirst",
+ title = "Letters",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "127--127",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-1-128,
+ author = "Anonymous",
+ title = "{Appendix A.\ \ {Output samples from a paper by David
+ Eck}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "1",
+ pages = "128--135",
+ month = feb,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-2-2,
+ author = "Anonymous",
+ title = "{Addresses of officers, authors and others}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "2--2",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-2-3,
+ author = "Anonymous",
+ title = "{Official announcements}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "3--3",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Welland:TB2-2-3,
+ author = "Robert Welland",
+ title = "{Editor's remarks}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "3--3",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spivak:TB2-2-3,
+ author = "Michael Spivak",
+ title = "{Chairman's report}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "3--4",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Morris:TB2-2-4,
+ author = "Robert Morris",
+ title = "{Report on the {May} 1981 {TUG Steering Committee
+ meeting}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "4--5",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB2-2-5,
+ author = "Samuel B. Whidden",
+ title = "{TUG Treasurer's report}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "5--5",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Morris:TB2-2-5,
+ author = "Robert Morris",
+ title = "{Proposal for institutional support of TUG}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "5--6",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doherty:TB2-2-6,
+ author = "Barry Doherty",
+ title = "{{Report: {\TeX} Implementors' Workshop, Stanford,
+ 14--15 May 1981}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "6--7",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-2-8,
+ author = "Anonymous",
+ title = "{Workshop attendees}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "8--8",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pierce:TB2-2-8,
+ author = "Tom Pierce",
+ title = "{Preliminary announcement: TUG meeting, Cincinnati,
+ January 1982}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "8--8",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Milligan:TB2-2-9,
+ author = "Patrick Milligan",
+ title = "{Ask not what TUG can do for you, ask what you can do
+ for TUG!}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "9--10",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Milligan:TB2-2-10,
+ author = "Patrick Milligan",
+ title = "{A proposal for a machine independent tape interchange
+ standard}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "10--12",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB2-2-12,
+ author = "David Fuchs",
+ title = "{{The format of {\TeX}'s DVI files, Version I}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "12--16",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zabala:TB2-2-16,
+ author = "Ignacio Zabala",
+ title = "{Some feedback from PTEX installations}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "16--19",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Liang:TB2-2-19,
+ author = "Frank M. Liang",
+ title = "{{\TeX} and hyphenation}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "19--20",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Harris:TB2-2-21,
+ author = "Kent S. Harris and Robert M. McClure",
+ title = "{{\TeX} on small machines}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "21--24",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB2-2-25,
+ author = "David Fuchs",
+ title = "{Output device news flash (APS-5 and Linotron 202)}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "25--25",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-2-25,
+ author = "Anonymous",
+ title = "{Summary of computing equipment and output devices}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "25--25",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Trabb-Pardo:TB2-2-26,
+ author = "Luis Trabb-Pardo",
+ title = "{Imagen (Canon LBP-10)}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "26--27",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hodge:TB2-2-28,
+ author = "Thea Hodge and Michael Frisch",
+ title = "{{{\TeX} under the North Star}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "28--28",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sherrod:TB2-2-28,
+ author = "Phil Sherrod",
+ title = "{DECSystem-10/20 Implementation Workshop
+ announcement}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "28--29",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB2-2-29,
+ author = "Barbara Beeton",
+ title = "{AMS site report}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "29--29",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Milligan:TB2-2-29,
+ author = "Patrick Milligan",
+ title = "{{{\TeX} at the 1981 Spring DECUS U.S.\ Symposium}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "29--29",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schwab:TB2-2-29,
+ author = "Rachel Schwab",
+ title = "{{{\TeX} at NIH}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "29--30",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kelly:TB2-2-30,
+ author = "Bill Kelly",
+ title = "{An implementation report for the Univac 1100}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "30--33",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nichols:TB2-2-33,
+ author = "Monte Nichols",
+ title = "{{Availability of Oregon Software implementation of
+ {\TeX} for the {\VAX}/VMS}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "33--34",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smith:TB2-2-34,
+ author = "Barry Smith",
+ title = "{{{\TeX} for {\VAX}/VMS}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "34--34",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doherty:TB2-2-34,
+ author = "Barry C. W. Doherty",
+ title = "{TUG Font Committee}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "34--35",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hickey:TB2-2-35,
+ author = "Thomas B. Hickey",
+ title = "{{The status of {\MF} at OCLC}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "35--38",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{LeVeque:TB2-2-39,
+ author = "William J. LeVeque",
+ title = "{Font development at the {\AMS}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "39--40",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whitney:TB2-2-40,
+ author = "Ronald Whitney",
+ title = "{\tt TPHON}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "40--40",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doherty:TB2-2-40,
+ author = "Barry Doherty and Ronald Whitney",
+ title = "{Proofmode and magnification}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "40--42",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB2-2-42,
+ author = "Barbara Beeton",
+ title = "{Uppercase update; {Fickle fonts}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "42--43",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-2-43,
+ author = "Lynne Price",
+ title = "{Greetings from the Editor}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "43--43",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-2-43,
+ author = "Anonymous",
+ title = "{Macros on microfiche}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "43--43",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Milligan:TB2-2-43,
+ author = "Patrick Milligan",
+ title = "{Erratum: {\tt NOFILL} program}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "43--44",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Milligan:TB2-2-44,
+ author = "Patrick Milligan",
+ title = "{{\TeX} macros for automatic font code allocation}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "44--45",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McKay:TB2-2-46,
+ author = "Brendan McKay",
+ title = "{A macro menagerie}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "46--49",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spivak:TB2-2-50,
+ author = "Michael Spivak",
+ title = "{Macro madness}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "50--54",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Diaz:TB2-2-Appendix-A,
+ author = "Max D{\'{\i}}az",
+ title = "{F\'acil {\TeX}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "Appendix A",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-2-54,
+ author = "Lynne Price",
+ title = "{Greetings from the Editor}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "54--54",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-2-54,
+ author = "Anonymous",
+ title = "{Problems from the {\TeX}arcana course}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "54--56",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Stovall:TB2-2-57,
+ author = "Johnny Stovall",
+ title = "{Balancing columns of text and translation}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "57--57",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spivak:TB2-2-57,
+ author = "Michael Spivak",
+ title = "{Input-dependent macro redefinition}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "57--57",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-2-57,
+ author = "Lynne Price",
+ title = "Letters",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "57--58",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-2-58,
+ author = "Lynne Price",
+ title = "Dreamboat",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "2",
+ pages = "58--58",
+ month = jul,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-3-2,
+ author = "Anonymous",
+ title = "{Addresses of officers, authors and others}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "2--2",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-3-3,
+ author = "Anonymous",
+ title = "{Official announcements}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "3--3",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spivak:TB2-3-3,
+ author = "Michael Spivak",
+ title = "{Message from the Chairman}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "3--4",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB2-3-4,
+ author = "Samuel B. Whidden",
+ title = "{TUG Treasurer's report}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "4--4",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB2-3-5,
+ author = "Donald Knuth",
+ title = "{The current state of things}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "5--6",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pierce:TB2-3-7,
+ author = "Tom Pierce",
+ title = "{{{\TUG} Winter 1982 meeting, January 11--12, 1982,
+ Cincinnati, Ohio}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "7--7",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Samuel:TB2-3-7,
+ author = "Arthur Samuel",
+ title = "{Pascal-coded {\TeX} errata}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "7--8",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB2-3-8,
+ author = "David Fuchs",
+ title = "{The format of PXL files}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "8--12",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sauter:TB2-3-13,
+ author = "John Sauter",
+ title = "{Sample of output from an IDS-640}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "13--13",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thedford:TB2-3-14,
+ author = "Rilla Thedford",
+ title = "{Output device index}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "14--14",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mooney:TB2-3-14,
+ author = "Jim Mooney",
+ title = "{{A Varian output driver in {\VAX}/VMS Fortran}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "14--15",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Murphy:TB2-3-15,
+ author = "Timothy Murphy",
+ title = "{Diabolic {\TeX}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "15--21",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB2-3-21,
+ author = "David Fuchs",
+ title = "{News from the home front (Stanford)}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "21--22",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Frisch:TB2-3-22,
+ author = "Michael Frisch",
+ title = "{{{\TeX} under the North Star}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "22--23",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB2-3-23,
+ author = "Barbara Beeton",
+ title = "{A {\TUB} tour: {Excerpts from the {\TeX}nician's
+ log}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "23--25",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB2-3-25,
+ author = "Lance Carnes",
+ title = "{{{\TeX} for the HP3000}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "25--26",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plass:TB2-3-26,
+ author = "Susan Plass",
+ title = "{{{\TeX} for the IBM 370}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "26--27",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rosenschein:TB2-3-27,
+ author = "Jeffrey S. Rosenschein",
+ title = "{{{\TeX} in Israel}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "27--28",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rodgers:TB2-3-28,
+ author = "David Rodgers",
+ title = "{{{\TeX} at the University of Michigan, summary of
+ progress}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "28--29",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Morris:TB2-3-29,
+ author = "Robert Morris",
+ title = "{{{\VAX} on UNIX}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "29--29",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jackson:TB2-3-29,
+ author = "Calvin Jackson",
+ title = "{{{\TeX} at CalTech}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "29--32",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Incerpi:TB2-3-32,
+ author = "Janet Incerpi",
+ title = "{{The status of {\VAX}/{\TeX} at Brown}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "32--32",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nichols:TB2-3-32,
+ author = "Monte C. Nichols",
+ title = "{{{\VAX}/VMS site report}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "32--32",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Blair:TB2-3-32,
+ author = "John Blair",
+ title = "{{Enhancements of {\VAX}/VMS {\TeX} at Calma}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "32--34",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sauter:TB2-3-34,
+ author = "John Sauter",
+ title = "{``Poor man's'' {\TeX}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "34--35",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whitney:TB2-3-35,
+ author = "Ronald Whitney",
+ title = "{Font update}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "35--35",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB2-3-35,
+ author = "Barbara Beeton",
+ title = "{Don't just {\tt\char`\\let} {\TeX} hang,
+ {\tt\char`\\raise} or {\tt\char`\\lower} it}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "35--35",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-3-36,
+ author = "Lynne Price",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "36--36",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-3-36,
+ author = "Anonymous",
+ title = "{{\TUB} macro index}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "36--37",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Murphy:TB2-3-37,
+ author = "Timothy Murphy",
+ title = "{{Bubbles: A {\TeX}tension in search of a
+ {\TeX}pert}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "37--38",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plass:TB2-3-39,
+ author = "Michael F. Plass",
+ title = "{Charting your grammar with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "39--56",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nichols:TB2-3-57,
+ author = "Monte Nichols and Barbara Beeton",
+ title = "{Chemical notation using {\TeX}}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "57--58",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB2-3-58,
+ author = "Lynne Price",
+ title = "Problems",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "58--61",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-3-61,
+ author = "Anonymous",
+ title = "{Problems from the {\TeX}arcana class: {Answers}, and
+ another problem}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "61--65",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cole:TB2-3-66,
+ author = "J. M. Cole",
+ title = "Letters et alia",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "66--66",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sannella:TB2-3-66,
+ author = "Michael Sannella",
+ title = "{Formatting a book with {\TeX}: {Experiences} and
+ observations}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "66--74",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-3-xx,
+ author = "Anonymous",
+ title = "{Instructions for submitting {\TUB} articles on
+ magnetic tape}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "??--??",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB2-3-xx-2,
+ author = "Anonymous",
+ title = "{Membership application and order form}",
+ journal = j-TUGboat,
+ volume = "2",
+ number = "3",
+ pages = "??--??",
+ month = nov,
+ year = "1981",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-1-2,
+ author = "Anonymous",
+ title = "{Addresses of officers, authors and others}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "2--2",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-1-3,
+ author = "Anonymous",
+ title = "{Official announcements}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "3--3",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB3-1-3,
+ author = "Barbara Beeton",
+ title = "{Statement of editorial policy}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "3--4",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Morris:TB3-1-4,
+ author = "Robert Morris",
+ title = "{{Report on the January 1981 TUG {\SC} meeting}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "4--5",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-1-xx,
+ author = "Anonymous",
+ title = "{TUG Winter meeting, January 11--12, 1982, Cincinnati,
+ Ohio}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "??--??",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McGaffey:TB3-1-7,
+ author = "Robert McGaffey and Keith Penny",
+ title = "{Open letter to TUG}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "7--9",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB3-1-10,
+ author = "Lynne A. Price",
+ title = "{Report on the ANSI X3J6 meeting}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "10--10",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB3-1-10,
+ author = "Donald Knuth",
+ title = "{{Fixed-point glue setting\Dash an example of {\tt
+ WEB}}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "10--27",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Frisch:TB3-1-28,
+ author = "Michael J. Frisch",
+ title = "{{CDC {\TeX}}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "28--28",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB3-1-28,
+ author = "Lance Carnes",
+ title = "{HP3000 site report}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "28--29",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Canzii:TB3-1-29,
+ author = "G. Canzii and D. Lucarella and A. Pilenga",
+ title = "{{{\TeX} at the University of Milan}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "29--29",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Aiello:TB3-1-30,
+ author = "L. Aiello and S. Pavan",
+ title = "{{{\TeX} news from Pisa}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "30--31",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nichols:TB3-1-32,
+ author = "Monte C. Nichols",
+ title = "{{{\VAX}/VMS site report}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "32--32",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB3-1-32,
+ author = "Lance Carnes",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "32--32",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB3-1-33,
+ author = "Barbara Beeton",
+ title = "{Another hangup}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "33--33",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB3-1-33,
+ author = "Lynne Price",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "33--33",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-1-33,
+ author = "Anonymous",
+ title = "{{\TUB} macro index}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "33--35",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeman:TB3-1-35,
+ author = "Roger L. Beeman",
+ title = "{Display of a font in table form}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "35--38",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeman:TB3-1-39,
+ author = "Roger L. Beeman",
+ title = "{Seating charts}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "39--42",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-1-43,
+ author = "Anonymous",
+ title = "{{Problems from the {\TeX}arcana class: Answer to the
+ challenge problem}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "43--44",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB3-1-xx,
+ author = "Samuel B. Whidden",
+ title = "{TUG financial reports}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "??--??",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-1-xx-2,
+ author = "Anonymous",
+ title = "{Instructions for submitting {\TUB} articles on
+ magnetic tape}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "??--??",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-1-xx-3,
+ author = "Anonymous",
+ title = "{Membership application and order form}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "1",
+ pages = "??--??",
+ month = mar,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-2-2,
+ author = "Anonymous",
+ title = "{Addresses of officers, authors and others}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "2--2",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-2-3,
+ author = "Anonymous",
+ title = "{Official announcements}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "3--3",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-2-4,
+ author = "Anonymous",
+ title = "{{The {\TeX} logo: An important note}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "4--4",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plass:TB3-2-4,
+ author = "Susan Plass",
+ title = "{Report on business meetings, TUG Summer meeting,
+ Stanford University, July 25--27, 1982}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "4--5",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-2-xx,
+ author = "Anonymous",
+ title = "{{TUG Summer meeting and {\TeX}82 short course,
+ Stanford University, July 25--30, 1982}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "??--??",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB3-2-7,
+ author = "Pierre A. MacKay",
+ title = "{An informal interchange format for {\TeX} files}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "7--8",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whitney:TB3-2-9,
+ author = "Ron Whitney",
+ title = "{{Introduction to {\TeX} and TUG for new users}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "9--12",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-2-113,
+ author = "Anonymous",
+ title = "{{\TeX}82 memory structure}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "113",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB3-2-14,
+ author = "David Fuchs",
+ title = "{{The format of {\TeX}'s DVI files}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "14--19",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thedford:TB3-2-20,
+ author = "Rilla J. Thedford",
+ title = "{Output devices}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "20--20",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB3-2-20,
+ author = "David Fuchs",
+ title = "{News from Stanford}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "20--21",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plass:TB3-2-21,
+ author = "Susan Plass",
+ title = "{Fixes to known bugs in {\TeX}370}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "21--22",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Grosso:TB3-2-22,
+ author = "Paul Grosso",
+ title = "{{{\TeX} installation at the University of
+ Michigan}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "22--23",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nichols:TB3-2-23,
+ author = "Monte C. Nichols and David Kellerman",
+ title = "{{{\VAX}/VMS site report}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "23--23",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB3-2-24,
+ author = "Lance Carnes",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "24--24",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mong:TB3-2-25,
+ author = "Sao Khai Mong",
+ title = "{{A Fortran version of {\MF}}}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "25--25",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB3-2-25,
+ author = "Barbara Beeton",
+ title = "{Charting the generation gulf}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "25--26",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jackson:TB3-2-26,
+ author = "Calvin Jackson",
+ title = "{Font codes in popular use}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "26--26",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB3-2-27,
+ author = "Lynne Price",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "27--27",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-2-27,
+ author = "Anonymous",
+ title = "{{\TUB} macro index}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "27--28",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB3-2-28,
+ author = "Barbara Beeton",
+ title = "{Multi-column output format}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "28--33",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lamport:TB3-2-34,
+ author = "Leslie Lamport",
+ title = "{Some {\TeX} programming hacks}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "34--36",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB3-2-36,
+ author = "Barbara Beeton",
+ title = "{Unblocking an {\AmSTeX} tape}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "36--37",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Blanford:TB3-2-38,
+ author = "Mark Blanford",
+ title = "{Paragraphs in tables}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "38--38",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-2-38,
+ author = "Anonymous",
+ title = "{Hanging punctuation}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "38--38",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB3-2-xx,
+ author = "Samuel B. Whidden",
+ title = "{TUG financial reports}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "??--??",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB3-2-xx-2,
+ author = "Anonymous",
+ title = "{Membership application and order form}",
+ journal = j-TUGboat,
+ volume = "3",
+ number = "2",
+ pages = "??--??",
+ month = oct,
+ year = "1982",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-2,
+ author = "Anonymous",
+ title = "{Addresses of officers, authors and others}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "2--2",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-3,
+ author = "Anonymous",
+ title = "{Official announcements}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "3--3",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-4,
+ author = "Anonymous",
+ title = "{Library subscriptions\Dash What are they?}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "4--4",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spivak:TB4-1-4,
+ author = "Michael Spivak",
+ title = "{{Users' Course in {\AmSTeX}}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "4--4",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB4-1-xx,
+ author = "Samuel B. Whidden",
+ title = "{TUG financial reports}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "??--??",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB4-1-6,
+ author = "David Fuchs",
+ title = "{{\TeX}hax summary}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "6--9",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-10,
+ author = "Anonymous",
+ title = "{Chart: Output devices and computers}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "10--10",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-10-2,
+ author = "Anonymous",
+ title = "{Index to sample output from various devices}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "10--10",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB4-1-11,
+ author = "Nelson H. F. Beebe",
+ title = "{Low-cost downloadable font devices}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "11--12",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ion:TB4-1-12,
+ author = "Patrick Ion and Bill Hall and Rilla J. Thedford",
+ title = "{{{\TeX} on the OSP130}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "12--12",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-13,
+ author = "Anonymous",
+ title = "{Sample output from Florida Data OSP 130}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "13--13",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB4-1-14,
+ author = "David Fuchs",
+ title = "{News from all over}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "14--15",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bunner:TB4-1-16,
+ author = "Irene J. Bunner and John D. Johnson",
+ title = "{{{\TeX} on the HP-1000}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "16--16",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Furuta:TB4-1-17,
+ author = "Richard Furuta and Pierre MacKay",
+ title = "{Unix {\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "17--18",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Curtis:TB4-1-18,
+ author = "Pavel Curtis and Howard Trickey",
+ title = "{{Porting {\TeX} to {\VAX}/UNIX}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "18--20",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB4-1-21,
+ author = "Pierre MacKay and Richard Furuta",
+ title = "{{{\TeX} at the University of Washington: Tops-20,
+ Unix, Versatec, and the Monolithic}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "21--22",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nichols:TB4-1-22,
+ author = "Monte C. Nichols",
+ title = "{{{\VAX}/VMS site report}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "22--22",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Krapp:TB4-1-23,
+ author = "David Krapp",
+ title = "{{{\TeX} at Calma R\thinspace\&\thinspace D}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "23--23",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Naugle:TB4-1-23,
+ author = "Norman Naugle and Bart Childs",
+ title = "{{{\TeX} at Texas A\thinspace\&\thinspace M
+ University}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "23--23",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB4-1-24,
+ author = "Lance Carnes",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "24--24",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guthery:TB4-1-25,
+ author = "Scott Guthery",
+ title = "{Pictures are just big letters}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "25--25",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB4-1-26,
+ author = "Georgia K. M. Tobin",
+ title = "{Computer calligraphy}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "26--32",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-33,
+ author = "Anonymous",
+ title = "{Announcement: {\sl Fifth ATypI Working Seminar}, {The
+ computer and the hand in type design: The aesthetics
+ and technology of digital letterforms}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "33--33",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-33-2,
+ author = "Anonymous",
+ title = "{{\TUB\ macro index}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "33--35",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB4-1-35,
+ author = "Barbara Beeton",
+ title = "{How to build a {\tt\bs strut}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "35--36",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB4-1-36,
+ author = "Barbara Beeton",
+ title = "{Determining hashtable size and other quantities}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "36--37",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mohr:TB4-1-37,
+ author = "August Mohr",
+ title = "{Some layout macros}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "37--38",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McClure:TB4-1-38,
+ author = "Robert M. McClure",
+ title = "{Testing the widths of a font}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "38--38",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-39,
+ author = "Anonymous",
+ title = "{Hanging punctuation}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "39--39",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Code:TB4-1-40,
+ author = "Maria Code",
+ title = "{How to obtain {\TeX}82 on tape}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "40--40",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-40,
+ author = "Anonymous",
+ title = "{Announcement: {\sl Manipulation de Documents\Dash
+ Journ\'ees Francophones}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "40--40",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Siegman:TB4-1-41,
+ author = "A. E. Siegman",
+ title = "{{\TeX} as a programming language?}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "41--42",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-43,
+ author = "Anonymous",
+ title = "{{Textset, Inc.\Dash A service for {\TeX} users}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "43--43",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-44,
+ author = "Anonymous",
+ title = "{Quality Micro Systems\Dash Lasergrafix 1200}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "44--44",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-45,
+ author = "Anonymous",
+ title = "{{\TeX82 order form}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "45--46",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-1-47,
+ author = "Anonymous",
+ title = "{Membership application and order form}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "1",
+ pages = "47--48",
+ month = apr,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-50,
+ author = "Anonymous",
+ title = "{Addresses of officers, authors and others}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "50--50",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-551,
+ author = "Anonymous",
+ title = "{Official announcements}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "551",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB4-2-52,
+ author = "Pierre MacKay",
+ title = "{Message from the President}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "52--53",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-55,
+ author = "Anonymous",
+ title = "{Summary of the technical program, July 1983 TUG
+ meeting}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "55--57",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-57,
+ author = "Anonymous",
+ title = "{Participants, TUG meeting and {\AmSTeX}82 short
+ course}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "57--69",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plass:TB4-2-59,
+ author = "Susan Plass",
+ title = "{Final report of the Bylaws Committee}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "59--59",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-60,
+ author = "Anonymous",
+ title = "{{\TUG}\Dash {TUG Operating Procedures}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "60--61",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB4-2-62,
+ author = "Samuel B. Whidden",
+ title = "{TUG Treasurer's report}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "62--63",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB4-2-63,
+ author = "Lynne Price",
+ title = "{Report on ANSI X3J6}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "63--64",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB4-2-64,
+ author = "Donald Knuth",
+ title = "{A note on hyphenation}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "64--65",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB4-2-65,
+ author = "David Fuchs",
+ title = "{{{\TeX} vs.\ INI\TeX}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "65--66",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB4-2-66,
+ author = "David Fuchs",
+ title = "{{\TeX}hax summary}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "66--70",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-71,
+ author = "Anonymous",
+ title = "{Chart: Output devices and computers}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "71--71",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB4-2-72,
+ author = "David Fuchs",
+ title = "{{News from the {\TeX} Project}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "72--73",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mallett:TB4-2-73,
+ author = "Rick Mallett",
+ title = "{{{\TeX}82 on CP-6}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "73--74",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plass:TB4-2-74,
+ author = "Susan Plass",
+ title = "{IBM site report}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "74--74",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Furuta:TB4-2-74,
+ author = "Richard Furuta",
+ title = "{Unix {\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "74--75",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nichols:TB4-2-75,
+ author = "Monte C. Nichols",
+ title = "{{{\VAX}/VMS site report}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "75--76",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mooney:TB4-2-76,
+ author = "Jim Mooney",
+ title = "{{Revised Varian output driver in {\VAX}/VMS
+ Fortran}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "76--76",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB4-2-76,
+ author = "Pierre MacKay",
+ title = "{{{\TeX} for Arabic script}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "76--96",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB4-2-77,
+ author = "Lance Carnes",
+ title = "{Table of ``small'' {\TeX} implementations}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "77--7",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB4-2-78,
+ author = "Lynne Price",
+ title = "{{Problems from the TUG meeting:} {Framed slides};
+ {Multiple marks}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "78--79",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-79,
+ author = "Anonymous",
+ title = "{{\TUB} macro index}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "79--80",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sterken:TB4-2-80,
+ author = "Jim Sterken",
+ title = "{First line of paragraph}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "80--81",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spivak:TB4-2-103,
+ author = "Michael Spivak",
+ title = "{Summary of {\AmSTeX}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "103--126",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-127,
+ author = "Anonymous",
+ title = "{Textset, Inc.}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "127--127",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-127-2,
+ author = "Anonymous",
+ title = "{{\TeX} lectures on tape}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "127--127",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-128,
+ author = "Anonymous",
+ title = "{Imagen Corporation\Dash Intelligent page printer
+ systems}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "128--128",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-129,
+ author = "Anonymous",
+ title = "{{{\TeX}82 Order Form}}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "129--130",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB4-2-131,
+ author = "Anonymous",
+ title = "{Membership application and order form}",
+ journal = j-TUGboat,
+ volume = "4",
+ number = "2",
+ pages = "131--132",
+ month = sep,
+ year = "1983",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-2,
+ author = "Anonymous",
+ title = "{Addresses of officers, authors and others}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "2--2",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-3,
+ author = "Anonymous",
+ title = "{Official announcements}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "3--3",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB5-1-4,
+ author = "Pierre MacKay",
+ title = "{Message from the {President}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "4--4",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB5-1-4,
+ author = "Donald E. Knuth.",
+ title = "{{\TeX} incunabula}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "4--11",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB5-1-12,
+ author = "Samuel B. Whidden.",
+ title = "{{TUG} 1983 financial report with comparisons}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "12--13",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-13,
+ author = "Anonymous",
+ title = "{Preliminary program\Dash {August} 1984 {Stanford}
+ meeting}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "13--14",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Canzii:TB5-1-14,
+ author = "G. Canzii and F. Genolini and D. Lucarella",
+ title = "{Hyphenation of {Italian} words}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "14--15",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-15,
+ author = "Anonymous",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "15--15",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-16,
+ author = "Anonymous",
+ title = "{Chart: {Output} devices and computers}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "16--16",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-17,
+ author = "Anonymous",
+ title = "{Index to sample output from various devices}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "17--17",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haus:TB5-1-17,
+ author = "Goffredo Haus",
+ title = "{How to tame your phototypesetter by {\TeX}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "17--17",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Noot:TB5-1-18,
+ author = "Han Noot",
+ title = "{{DVI}-code to the {Harris} 7500}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "18--21",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB5-1-22,
+ author = "David Fuchs",
+ title = "{News from the {\TeX} {Project}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "22--23",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lofstedt:TB5-1-23,
+ author = "Benedict L{\o}fstedt",
+ title = "{{CDC} {\TeX} at {RECAU}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "23--23",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guenther:TB5-1-24,
+ author = "Dean Guenther and Alan Hagen-Wittbecker and Janene
+ Winter",
+ title = "{{\TeX} at {Washington State} {University}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "24--5",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB5-1-26,
+ author = "Bart Childs",
+ title = "{Data {General} site report}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "26--26",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB5-1-26-2,
+ author = "Bart Childs",
+ title = "{Prime site report}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "26--26",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Furuta:TB5-1-27,
+ author = "Richard Furuta",
+ title = "{Unix {\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "27--28",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rodgers:TB5-1-28,
+ author = "D. L. Rodgers and J. J. Sterken and P. Grosso",
+ title = "{{\TeX} 1.0 on {Sun} workstations}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "28--29",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nichols:TB5-1-29,
+ author = "Monte C. Nichols",
+ title = "{{\VAX}/{VMS} site report}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "29--30",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kellerman:TB5-1-30,
+ author = "David Kellerman and Barry Smith",
+ title = "{Notice to {\VAX}/{VMS} users}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "30--30",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-31,
+ author = "Anonymous",
+ title = "{Metafont {Generic Font} file format}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "31--33",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-34,
+ author = "Anonymous",
+ title = "{Gray fonts for {Metafont} proofs}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "34--35",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB5-1-36,
+ author = "Georgia K. M. Tobin",
+ title = "{The {OCLC Roman} family of fonts}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "36--46",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB5-1-47,
+ author = "Lance Carnes",
+ title = "{Table of ``small'' {\TeX} implementations}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "47--47",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB5-1-48,
+ author = "Barbara Beeton",
+ title = "{{\tt\bs relax} and watch the numbers}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "48--48",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Daniels:TB5-1-49,
+ author = "Susan Daniels",
+ title = "{The {HP} {\TeX} macros}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "49--66",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB5-1-67,
+ author = "Don Knuth",
+ title = "{Comments on quality in publishing}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "67--67",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-67,
+ author = "Anonymous",
+ title = "{Classified}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "67--67",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-68,
+ author = "Anonymous",
+ title = "{Textset, {Inc.}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "68--68",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-69,
+ author = "Anonymous",
+ title = "{{\TeX}82 Order Form}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "69--70",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-1-71,
+ author = "Anonymous",
+ title = "{Membership application and order form}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "1",
+ pages = "71--72",
+ month = may,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-74,
+ author = "Anonymous",
+ title = "{Addresses of officers, authors and others}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "74--74",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-75,
+ author = "Anonymous",
+ title = "{Official announcements}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "75--75",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB5-2-76,
+ author = "Pierre MacKay",
+ title = "{Message from the {President}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "76--76",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Welland:TB5-2-77,
+ author = "Robert Welland",
+ title = "{Report of the {Publications Committee}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "77--77",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Keller:TB5-2-77,
+ author = "Arthur Keller",
+ title = "{Report of the {Special Projects} {Committee}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "77--78",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB5-2-78,
+ author = "Barbara Beeton",
+ title = "{Submitting items to {\TUB}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "78--78",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Southall:TB5-2-79,
+ author = "Richard Southall",
+ title = "{First principles of typographic design for document
+ production}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "79--90",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jurgensen:TB5-2-91,
+ author = "Helmut J{\"u}rgensen",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "91--91",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Desarmenien:TB5-2-91,
+ author = "Jacques D{\'e}sarm{\'e}nien",
+ title = "{How to run {\TeX} in a {French} environment:
+ {Hyphenation}, fonts, typography}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "91--102",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schulze:TB5-2-103,
+ author = "Bernd Schulze",
+ title = "{German hyphenation and {\it Umlaut\/}s in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "103--104",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB5-2-105,
+ author = "Donald E. Knuth",
+ title = "{A course on {\MF} programming}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "105--118",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hobby:TB5-2-119,
+ author = "John D. Hobby and Gu Guoan",
+ title = "{A {Chinese} meta-font}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "119--136",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-137,
+ author = "Anonymous",
+ title = "{Chart: {Output} devices and computers}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "137--137",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-138,
+ author = "Anonymous",
+ title = "{Index to sample output from various devices}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "138--138",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rokicki:TB5-2-138,
+ author = "Tom Rokicki",
+ title = "{{\tt Dvi\_QMS}: an example of a driver}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "138--139",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rokicki:TB5-2-139,
+ author = "Tom Rokicki",
+ title = "{\tt\char`\\special}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "139--140",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB5-2-141,
+ author = "David Fuchs",
+ title = "{News from the {\TeX} {Project}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "141--141",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-141,
+ author = "Anonymous",
+ title = "{{\TeX} users' activity in {Germany}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "141--141",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Crawford:TB5-2-141,
+ author = "John Crawford",
+ title = "{Prime site report}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "141--141",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Furuta:TB5-2-142,
+ author = "Richard Furuta",
+ title = "{Unix {\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "142--142",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smith:TB5-2-142,
+ author = "Barry Smith",
+ title = "{{\VAX}/{VMS} site report}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "142--142",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Felippa:TB5-2-143,
+ author = "Carlos A. Felippa",
+ title = "{Feedback from {\TeX} users at {Lockheed}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "143--144",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB5-2-145,
+ author = "Lance Carnes",
+ title = "{Table of ``small'' {\TeX} implementations}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "145--145",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB5-2-146,
+ author = "Malcolm Clark",
+ title = "{Mathematical communication with a deaf and blind
+ student using {\TeX}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "146--146",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-146,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "146--146",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-147,
+ author = "Anonymous",
+ title = "{Call for papers: {\TeX} for scientific documentation,
+ {Varenna}, {Italy}, {May} 16--17, 1985}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "147--147",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB5-2-148,
+ author = "Samuel B. Whidden",
+ title = "{{\TUG} 1984 financial report with comparisons}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "148--149",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dupree:TB5-2-149,
+ author = "Chuck Dupree",
+ title = "{Report of the {August} 1984 {\SC} meeting}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "149--152",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-153,
+ author = "Anonymous",
+ title = "{Profile of {\TeX} installations available to {TUG}
+ members}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "153--155",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-156,
+ author = "Anonymous",
+ title = "{Talaris talks {\TeX}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "156--157",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-158,
+ author = "Anonymous",
+ title = "{Quality {Micro Systems}, {Inc.}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "158--158",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-159,
+ author = "Anonymous",
+ title = "{Textset, {Inc.}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "159--159",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-160,
+ author = "Anonymous",
+ title = "{The {Metafoundry}}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "160--160",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-160-2,
+ author = "Anonymous",
+ title = "{Instructors wanted for {TUG} courses}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "160--160",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-161,
+ author = "Anonymous",
+ title = "{Membership application and order form}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "161--164",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-165,
+ author = "Anonymous",
+ title = "{Order form for {\AMS} publications}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "165--166",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB5-2-167,
+ author = "Anonymous",
+ title = "{{\TeX}82 order form}",
+ journal = j-TUGboat,
+ volume = "5",
+ number = "2",
+ pages = "167--168",
+ month = nov,
+ year = "1984",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-2,
+ author = "Anonymous",
+ title = "{Addresses of Officers, Authors and Others}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "2--2",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-3,
+ author = "Anonymous",
+ title = "{Official Announcements}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "3--3",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB6-1-4,
+ author = "Pierre MacKay",
+ title = "{Message from the President}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "4--4",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beck:TB6-1-4,
+ author = "Lawrence A. Beck",
+ title = "{ANSI X3V1.8 Liaison Report to the {\TUG}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "4--5",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-5,
+ author = "Anonymous",
+ title = "{Acknowledgement of Contributions}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "5--5",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Southall:TB6-1-6,
+ author = "Richard Southall",
+ title = "{First principles of typographic design for document
+ production: Corrigenda}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "6--6",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eppstein:TB6-1-7,
+ author = "Maureen Eppstein",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "7--7",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-8,
+ author = "Anonymous",
+ title = "{Generic font file format}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "8--12",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB6-1-12,
+ author = "G. K. M. Tobin",
+ title = "{A bit of doggerel}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "12--12",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-13,
+ author = "Anonymous",
+ title = "{Chart: Output devices and computers}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "13--15",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Furuta:TB6-1-15,
+ author = "Richard Furuta",
+ title = "{Device drivers included on the UNIX {\TeX}
+ distribution tape}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "15--15",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-15,
+ author = "Anonymous",
+ title = "{Index to sample output from various devices}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "15--15",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Luvisetto:TB6-1-15,
+ author = "M. L. Luvisetto and E. Ugolini",
+ title = "{A {\TeX}82 spooler for VT and dot matrix printers}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "15--16",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-16,
+ author = "Anonymous",
+ title = "{How to get the latest news via {\TeX}hax}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "16--17",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Crawford:TB6-1-17,
+ author = "John Crawford",
+ title = "{Prime site report}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "17--17",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Furuta:TB6-1-18,
+ author = "Richard Furuta",
+ title = "{Unix {\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "18--20",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smith:TB6-1-20,
+ author = "Barry Smith",
+ title = "{{\VAX/VMS site report}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "20--20",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cumiskey:TB6-1-21,
+ author = "James A. Cumiskey",
+ title = "{{\TeX} for tourists}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "21--25",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB6-1-26,
+ author = "Lance Carnes",
+ title = "{Table of ``small'' {\TeX} implementations}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "26--26",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Company:TB6-1-27,
+ author = "Addison-Wesley Publishing Company",
+ title = "{{\TeX} now on microcomputers}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "27--28",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB6-1-28,
+ author = "Lance Carnes",
+ title = "{PC\thinspace\TeX}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "28--29",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Platt:TB6-1-29,
+ author = "Craig Platt",
+ title = "{Macros for two-column format}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "29--30",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eppstein:TB6-1-31,
+ author = "David Eppstein",
+ title = "{Trees in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "31--35",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB6-1-36,
+ author = "Donald E. Knuth",
+ title = "{Recipes and fractions}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "36--38",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-38,
+ author = "Anonymous",
+ title = "{{\TeX}, the program}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "38--38",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-39,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "39--39",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-39-2,
+ author = "Anonymous",
+ title = "{Conference: {\TeX} for scientific documentation,
+ Como, Italy, May 16--17, 1985}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "39--39",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-39-3,
+ author = "Anonymous",
+ title = "{TUG Annual Meeting, Stanford University, August
+ 14--16, 1985}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "39--39",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-40,
+ author = "Anonymous",
+ title = "{{\TeX} and {\MF} reports available from Stanford
+ Computer Science Department}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "40--40",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-41,
+ author = "Anonymous",
+ title = "{Textset, Inc.\Dash {\TeX} and the IBM PC,
+ \TeX-to-PostScript}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "41--41",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-42,
+ author = "Anonymous",
+ title = "{Addison-Wesley\Dash Micro{\TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "42--42",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-43,
+ author = "Anonymous",
+ title = "{TUG\Dash {\TeX} Lectures on Tape}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "43--43",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-44,
+ author = "Anonymous",
+ title = "{Textset, Inc.\Dash Professional {\TeX}ware}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "44--44",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-445,
+ author = "Anonymous",
+ title = "{Talaris}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "445",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-446,
+ author = "Anonymous",
+ title = "{Personal {\TeX}, Inc.\Dash PC\thinspace{\TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "446",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-cover-3,
+ author = "Anonymous",
+ title = "{Intergraph Corporation}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "Cover 3",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-47,
+ author = "Anonymous",
+ title = "{Membership application and order form}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "47--48",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-49,
+ author = "Anonymous",
+ title = "{Order form for {\AMS} publications}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "49--50",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-1-51,
+ author = "Anonymous",
+ title = "{{\TeX}82 order form}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "1",
+ pages = "51--52",
+ month = mar,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-54,
+ author = "Anonymous",
+ title = "{Addresses of Officers, Authors and Others}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "54--54",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-55,
+ author = "Anonymous",
+ title = "{Official Announcements}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "55--55",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-56,
+ author = "Anonymous",
+ title = "{TUG 1985 Annual Meeting, Stanford University, August
+ 12--14, 1985}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "56--56",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jurgensen:TB6-2-56,
+ author = "Helmut J{\"u}rgensen",
+ title = "{Editor's message}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "56--56",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ferguson:TB6-2-57,
+ author = "Michael J. Ferguson",
+ title = "{A multilingual {\mtex}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "57--58",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB6-2-59,
+ author = "Barbara Beeton",
+ title = "{Mathematical symbols and cyrillic fonts ready for
+ distribution}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "59--63",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-64,
+ author = "Anonymous",
+ title = "{Chart: Output devices and computers}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "64--66",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-66,
+ author = "Anonymous",
+ title = "{Index to sample output from various devices}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "66--66",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spragens:TB6-2-66,
+ author = "Alan Spragens",
+ title = "{Graphics commands for {\TeX}\Dash Discussion in
+ {\TeX}hax conference}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "66--68",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Naugle:TB6-2-69,
+ author = "Norman W. Naugle and Tomas G. Rokicki",
+ title = "{Miscellaneous activity at Texas A\&M}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "69--72",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-73,
+ author = "Anonymous",
+ title = "{{\TeX}hax activity at Spring DECUS}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "73--73",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spragens:TB6-2-73,
+ author = "Alan Spragens",
+ title = "{CMS {\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "73--75",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Riesel:TB6-2-76,
+ author = "Hans Riesel",
+ title = "{Report on experience with {\TeX}80}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "76--79",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Marriott:TB6-2-80,
+ author = "Gregory Marriott",
+ title = "{A {\TeX}82 implementation on the HP9000 series 500}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "80--80",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Furuta:TB6-2-81,
+ author = "Richard Furuta",
+ title = "{Unix {\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "81--81",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smith:TB6-2-81,
+ author = "Barry Smith",
+ title = "{{\VAX}/VMS site report}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "81--81",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB6-2-82,
+ author = "Lance Carnes",
+ title = "{Table of ``small'' {\TeX} implementations}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "82--82",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hendrickson:TB6-2-83,
+ author = "Amy Hendrickson",
+ title = "{Some diagonal line hacks}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "83--86",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hendrickson:TB6-2-86,
+ author = "Amy Hendrickson",
+ title = "{A (possibly) totally useless macro}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "86--86",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mohr:TB6-2-87,
+ author = "August Mohr",
+ title = "{Multi-column layout in {\TeX}80}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "87--95",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bonnetain:TB6-2-96,
+ author = "Jean-Luc Bonnetain",
+ title = "{Author vs.\ proofreader}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "96--96",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Greene:TB6-2-96,
+ author = "John Greene",
+ title = "{Transatlantic {\TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "96--96",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-97,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "97--97",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-98,
+ author = "Anonymous",
+ title = "{International Conference on Text Processing and
+ Document Manipulation, Nottingham, England, April
+ 14--16, 1986}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "98--98",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-98-2,
+ author = "Anonymous",
+ title = "{PROTEXT II, Dublin, Ireland, October 21--25, 1985}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "98--98",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB6-2-99,
+ author = "Samuel B. Whidden",
+ title = "{TUG 1984 financial report with comparisons}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "99--100",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-100,
+ author = "Anonymous",
+ title = "{The Metafoundry\Dash Introducing {\smc mf medley}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "100--100",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-101,
+ author = "Anonymous",
+ title = "{{\TeX} and {\MF} reports available from the Stanford
+ Computer Science Department}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "101--101",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-102,
+ author = "Anonymous",
+ title = "{Addison-Wesley\Dash Micro{\TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "102--102",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-103,
+ author = "Anonymous",
+ title = "{Textset, Inc.}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "103--103",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-104,
+ author = "Anonymous",
+ title = "{Personal {\TeX}, Inc.\Dash PC\thinspace{\TeX} is
+ here}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "104--104",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-cover-3,
+ author = "Anonymous",
+ title = "{{\TeX} lectures on tape}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "Cover 3",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-105,
+ author = "Anonymous",
+ title = "{Membership application and order form}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "105--106",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-2-107,
+ author = "Anonymous",
+ title = "{{\TeX}82 order form}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "2",
+ pages = "107--108",
+ month = jul,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-110,
+ author = "Anonymous",
+ title = "{Addresses of officers, authors and others}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "110--110",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-111,
+ author = "Anonymous",
+ title = "{Official announcements}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "111--111",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB6-3-112,
+ author = "Pierre MacKay",
+ title = "{Message from the outgoing President}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "112--113",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB6-3-113,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "113--114",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-114,
+ author = "Anonymous",
+ title = "{Statement of principles}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "114--114",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rokicki:TB6-3-115,
+ author = "Tomas Rokicki",
+ title = "{Packed ({\tt PK}) font file format}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "115--120",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-121,
+ author = "Anonymous",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "121--121",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB6-3-122,
+ author = "Georgia K. M. Tobin",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "122--123",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB6-3-124,
+ author = "Barbara Beeton",
+ title = "{Mathematical symbols and cyrillic fonts ready for
+ distribution (revised)}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "124--128",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-129,
+ author = "Anonymous",
+ title = "{Charts: Output devices and computers}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "129--131",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-131,
+ author = "Anonymous",
+ title = "{Index to sample output from various devices}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "131--131",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-131-2,
+ author = "Anonymous",
+ title = "{The {\TeX} directories at the ``source''\Dash
+ Stanford}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "131--132",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-132,
+ author = "Anonymous",
+ title = "{{\TeX} in the UK and Ireland: \TeX line}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "132--132",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB6-3-132,
+ author = "Bart Childs",
+ title = "{Data General distribution news}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "132--133",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Platt:TB6-3-133,
+ author = "Craig Platt",
+ title = "{MVS {\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "133--134",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guenther:TB6-3-134,
+ author = "Dean Guenther",
+ title = "{{\TeX} at Washington State University}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "134--134",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hayashi:TB6-3-135,
+ author = "Tsunetoshi Hayashi",
+ title = "{Reports on {\TeX} implementation at HUCC}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "135--136",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Furuta:TB6-3-137,
+ author = "Richard Furuta",
+ title = "{Unix {\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "137--138",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smith:TB6-3-139,
+ author = "Barry Smith",
+ title = "{{\VAX/VMS site report}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "139--139",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-139,
+ author = "Anonymous",
+ title = "{Table of ``small'' {\TeX} implementations}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "139--139",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pfeffer:TB6-3-140,
+ author = "Mitch Pfeffer and Alan Hoenig",
+ title = "{Assembling a moderately-priced, high-performance
+ clone of the IBM PC for running \TeX}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "140--145",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB6-3-146,
+ author = "Barbara Beeton",
+ title = "{Review: The Boston Computer Society's IBM PC \&
+ compatibles technical word processor review}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "146--149",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB6-3-150,
+ author = "Barbara Beeton",
+ title = "{The {\tt PLAIN} truth: {\tt\bs buildrel}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "150--150",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lamport:TB6-3-150,
+ author = "Leslie Lamport",
+ title = "{Announcement of {\LaTeX} Version 2.09}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "150--151",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Leban:TB6-3-151,
+ author = "Bruce Leban",
+ title = "{A solution to the tower of Hanoi problem using
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "151--154",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cameron:TB6-3-155,
+ author = "A. G. W. Cameron",
+ title = "{Wiggly lines}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "155--155",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wonneberger:TB6-3-156,
+ author = "Reinhard Wonneberger",
+ title = "{Stream lists and related list types for {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "156--157",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-158,
+ author = "Anonymous",
+ title = "{{\LaTeX} command summary (Version 2.05) available
+ from TUG}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "158--158",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hendricks:TB6-3-158,
+ author = "Rick Hendricks",
+ title = "{Inquiry: Historical compilations}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "158--158",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hornbach:TB6-3-158,
+ author = "Kathy Hornbach",
+ title = "{Inquiry: 35mm slides with Sli{\TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "158--158",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-159,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "159--159",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-159-2,
+ author = "Anonymous",
+ title = "{Acknowledgement of contributions}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "159--159",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-160,
+ author = "Anonymous",
+ title = "{{\TeX} for Scientific Documentation, Strasbourg,
+ France, June 19--21, 1986}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "160--160",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-cover-3,
+ author = "Anonymous",
+ title = "{TUG Annual Meeting, Tufts University, July 28--31,
+ 1986}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "Cover 3",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB6-3-161,
+ author = "Samuel B. Whidden",
+ title = "{Proposed TUG 1986 budget}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "161--161",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-162,
+ author = "Anonymous",
+ title = "{Addison-Wesley\Dash Micro{\TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "162--162",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-163,
+ author = "Anonymous",
+ title = "{Textset, Inc.}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "163--163",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-164,
+ author = "Anonymous",
+ title = "{TUG\Dash {\TeX} lectures on videotape}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "164--165",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-166,
+ author = "Anonymous",
+ title = "{Personal {\TeX}, Inc.\Dash PC\thinspace{\TeX}}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "166--166",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-167,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "167--168",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-169,
+ author = "Anonymous",
+ title = "{TUG order form}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "169--172",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB6-3-173,
+ author = "Anonymous",
+ title = "{{\TeX}82 order form}",
+ journal = j-TUGboat,
+ volume = "6",
+ number = "3",
+ pages = "173--174",
+ month = nov,
+ year = "1985",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-4,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "4--5",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-6,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "6--6",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB7-1-7,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "7--7",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-7,
+ author = "Anonymous",
+ title = "{Acknowledgment of contributions}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "7--7",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-7-2,
+ author = "Anonymous",
+ title = "{Donald E. Knuth Scholarship}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "7--7",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-8,
+ author = "Anonymous",
+ title = "{Special credits for this issue}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "8--8",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-8-2,
+ author = "Anonymous",
+ title = "{Conference: \TeX\ for Scientific Documentation}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "8--8",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-8-3,
+ author = "Anonymous",
+ title = "{{\TeX\ Courses}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "8--9",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-9,
+ author = "Anonymous",
+ title = "{Software Column: Call for Papers}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "9--10",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-10,
+ author = "Anonymous",
+ title = "{Addenda: The BCS Word Processor Review}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "10--10",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lamport:TB7-1-11,
+ author = "Leslie Lamport",
+ title = "{{\LaTeX\ input to ACM journals}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "11--11",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Howell:TB7-1-11,
+ author = "Gordon Howell",
+ title = "{Translators to generate \TeX\ files}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "11--11",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuchs:TB7-1-12,
+ author = "David Fuchs",
+ title = "{News from the \TeX\ Project}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "12--12",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fox:TB7-1-12,
+ author = "Jim Fox",
+ title = "{CDC Cyber Site Report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "12--12",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB7-1-12,
+ author = "Bart Childs",
+ title = "{Data General Site Report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "12--12",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smith:TB7-1-13,
+ author = "Barry Smith",
+ title = "{Macintosh Site Report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "13--13",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB7-1-13,
+ author = "Pierre MacKay",
+ title = "{UNIX\ Site Report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "13--14",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smith:TB7-1-15,
+ author = "Barry Smith",
+ title = "{VAX/VMS Site Report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "15--15",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lamport:TB7-1-15,
+ author = "Leslie Lamport",
+ title = "{{\LaTeX\ News}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "15--16",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ferguson:TB7-1-16,
+ author = "Michael Ferguson",
+ title = "{Multilingual \mtex\ update}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "16--16",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Auerbach:TB7-1-17,
+ author = "Alan Auerbach",
+ title = "{Automatic page sizing}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "17--17",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-17,
+ author = "Anonymous",
+ title = "{Where to find \TeX\ file descriptions}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "17--17",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB7-1-18,
+ author = "B. Beeton",
+ title = "{The PLAIN truth: {\tt\bs displaylines}, {\tt\bs
+ ialign}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "18--19",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Appelt:TB7-1-20,
+ author = "W. Appelt and K. Horn",
+ title = "{Multiple changefiles in {\tt WEB}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "20--21",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damerell:TB7-1-22,
+ author = "R. M. Damerell",
+ title = "{Error detecting changes to TANGLE}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "22--24",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Trevorrow:TB7-1-25,
+ author = "A. Trevorrow",
+ title = "{DVIto\kern-.15em VDU: A \TeX\ page previewer}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "25--36",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Varian:TB7-1-37,
+ author = "H. Varian and J. Sterken",
+ title = "{MacDraw pictures in \TeX\ documents}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "37--40",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Maus:TB7-1-41,
+ author = "D. Maus and B. Baker",
+ title = "{DVILASER/PS extensions to \LaTeX}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "41--47",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fina:TB7-1-48,
+ author = "P. Fina",
+ title = "{Results of the 1985 TUG Questionnaire}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "48--50",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB7-1-51,
+ author = "A. Hoenig and M. Pfeffer",
+ title = "{{\TeX\ text editors for the IBM PC}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "51--54",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Senn:TB7-1-55,
+ author = "M. Senn",
+ title = "{{\TeX\ output previewers}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "55--56",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB7-1-57,
+ author = "B. Beeton",
+ title = "{{\TeX\ output devices}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "57--66",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB7-1-67,
+ author = "B. Beeton",
+ title = "{Memory Sizes in Various Implementations of \TeX}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "67--70",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carnes:TB7-1-71,
+ author = "L. Carnes",
+ title = "{``Small'' \TeX\ implementations}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "71--72",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-73,
+ author = "Anonymous",
+ title = "{Institutional Members}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "73--74",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-1-88,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "1",
+ pages = "88--88",
+ month = mar,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-91,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "91--92",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB7-2-93,
+ author = "Barbara Beeton",
+ title = "{Comments on the format of this issue}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "93--93",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB7-2-93-2,
+ author = "Barbara Beeton",
+ title = "{{\sl Computers \& Typesetting\/} coming out party}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "93--93",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gordon:TB7-2-93,
+ author = "Peter Gordon",
+ title = "{Introducing Donald Knuth and {\sl Computers \&
+ Typesetting}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "93--95",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB7-2-95,
+ author = "Donald Knuth",
+ title = "{Remarks to celebrate the publication of {\sl
+ Computers \& Typesetting}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "95--98",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jackson:TB7-2-98,
+ author = "Cal Jackson",
+ title = "{Comments on document design prompted by the new \TUB\
+ format}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "98--99",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hornbach:TB7-2-99,
+ author = "Kathy Hornbach",
+ title = "{{\VAX\ Language Sensitive Editor Templates and Guide
+ for use with \LaTeX}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "99--99",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB7-2-100,
+ author = "Georgia K. M. Tobin",
+ title = "Font Forum",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "100--101",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB7-2-101,
+ author = "Donald E. Knuth",
+ title = "{The \TeX\ logo in various fonts}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "101--102",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB7-2-102,
+ author = "Alan Hoenig",
+ title = "{Meta-\MF: An exhibit at the Cooper Union, NYC}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "102--102",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-102,
+ author = "Anonymous",
+ title = "{Addenda to the output device charts}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "102--102",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rokicki:TB7-2-103,
+ author = "Tomas Rokicki",
+ title = "{{\TeX\ on the Amiga}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "103--103",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fox:TB7-2-103,
+ author = "Jim Fox",
+ title = "{CDC Cyber site report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "103--103",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Crawford:TB7-2-103,
+ author = "John Crawford",
+ title = "{Prime 50 Series site report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "103--103",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pfeffer:TB7-2-104,
+ author = "Mitch Pfeffer and Alan Hoenig",
+ title = "{The Sperry IT: An IBM AT compatible}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "104--105",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ferguson:TB7-2-106,
+ author = "Michael J. Ferguson",
+ title = "{Table Making with INRS\TeX}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "106--109",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Becker:TB7-2-109,
+ author = "Helmut Becker",
+ title = "{WEB system extensions}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "109--109",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kennedy:TB7-2-109,
+ author = "John Kennedy",
+ title = "{Drama scripts}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "109--109",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fernandez:TB7-2-110,
+ author = "Sylvester Fernandez",
+ title = "{Marking changes in revised documents}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "110--110",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Alexander:TB7-2-110,
+ author = "James Alexander",
+ title = "{Side-by-side source/output samples; First-line
+ special handling}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "110--110",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kleine:TB7-2-111,
+ author = "Karl Kleine",
+ title = "{Customized editors for \TeX}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "111--111",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ludden:TB7-2-111,
+ author = "Jim Ludden",
+ title = "{Post-\LaTeX\ Index Formatting}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "111--111",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spivak:TB7-2-111,
+ author = "Mike Spivak",
+ title = "Letters",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "111--111",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-112,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "112--112",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-113,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "113--114",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-115,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "115--116",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-117,
+ author = "Anonymous",
+ title = "{{\TeX82 order form}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "117--118",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-119,
+ author = "Anonymous",
+ title = "{Addison-Wesley\Dash Computers \& Typesetting}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "119--119",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-120,
+ author = "Anonymous",
+ title = "{Personal \TeX, Inc.\Dash\TeX\ for the PC}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "120--120",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-121,
+ author = "Anonymous",
+ title = "{Talaris\Dash Talaris 810}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "121--121",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-122,
+ author = "Anonymous",
+ title = "{Computer Composition Corporation\Dash Typesetting
+ services}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "122--122",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-123,
+ author = "Anonymous",
+ title = "{Textset, Inc.\Dash New directions}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "123--123",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-124,
+ author = "Anonymous",
+ title = "{FTL systems Inc.\Dash \TeX\ for the Macintosh}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "124--124",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-2-cover-3,
+ author = "Anonymous",
+ title = "{Addison-Wesley\Dash \TeX\ news}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "2",
+ pages = "Cover 3",
+ month = jun,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-127,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "127--128",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB7-3-129,
+ author = "Bart Childs",
+ title = "{Message from the President}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "129--130",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-130,
+ author = "Anonymous",
+ title = "{Donald E. Knuth Scholarship}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "130--130",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB7-3-131,
+ author = "Pierre MacKay",
+ title = "{1987 Annual Meeting, Call for papers: \TeX\ for the
+ Humanities}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "131--131",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beck:TB7-3-132,
+ author = "Lawrence A. Beck",
+ title = "{Report from ANSI X3V1}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "132--132",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wonneberger:TB7-3-132,
+ author = "Reinhard Wonneberger",
+ title = "{Towards a \TeX\ philology group}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "132--133",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mann:TB7-3-133,
+ author = "Laurie Mann",
+ title = "{An idea exchange on \TeX\ training}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "133--133",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guntermann:TB7-3-134,
+ author = "Klaus Guntermann and Wolfgang R{\"u}lling",
+ title = "{Another approach to multiple changefiles}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "134--134",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guntermann:TB7-3-134-2,
+ author = "Klaus Guntermann and Joachim Schrod",
+ title = "{{\WEB\ adapted to C}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "134--137",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Alexander:TB7-3-138,
+ author = "James Alexander",
+ title = "{{\Tib: a reference setting package for \TeX}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "138--140",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rokicki:TB7-3-140,
+ author = "Tomas Rokicki",
+ title = "{Packed file format update}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "140--144",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-145,
+ author = "Anonymous",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "145--145",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bigelow:TB7-3-146,
+ author = "Charles Bigelow",
+ title = "{Notes on typeface protection}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "146--151",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sauter:TB7-3-151,
+ author = "John Sauter",
+ title = "{Building Computer Modern Fonts}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "151--152",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jansen:TB7-3-152,
+ author = "Rick Jansen",
+ title = "{{\TeX\ and Macintosh\dash new directions in
+ Preview}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "152--158",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damerell:TB7-3-159,
+ author = "R. M. Damerell",
+ title = "{{\tt Crudetype}: An adaptable device driver}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "159--163",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Brown:TB7-3-164,
+ author = "Malcolm Brown",
+ title = "{{\TeX hax returns}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "164--164",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guntermann:TB7-3-164,
+ author = "Klaus Guntermann",
+ title = "{Porting \TeX\ to the Atari ST}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "164--164",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fox:TB7-3-164,
+ author = "Jim Fox",
+ title = "{CDC Cyber site report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "164--165",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Platt:TB7-3-165,
+ author = "Craig Platt",
+ title = "{MVS \TeX\ site report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "165--166",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spragens:TB7-3-167,
+ author = "Alan Spragens",
+ title = "{CMS \TeX\ site report}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "167--167",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB7-3-167,
+ author = "Alan Hoenig and Mitch Pfeffer",
+ title = "{Real typesetting from your personal computer}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "167--168",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thull:TB7-3-169,
+ author = "Klaus Thull",
+ title = "{Harnessing \TeX\ to compute third root of unity
+ primes}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "169--170",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ehrbar:TB7-3-171,
+ author = "Hans Ehrbar",
+ title = "{Statistical graphics with \TeX}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "171--175",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB7-3-176,
+ author = "Jackie Damrau and Ken Yap",
+ title = "{Call for participation}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "176--176",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lamport:TB7-3-176,
+ author = "Leslie Lamport",
+ title = "{{\LaTeX\ bugs}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "176--176",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wonneberger:TB7-3-177,
+ author = "Reinhard Wonneberger",
+ title = "{Chapter mottos and optional semi-parameters}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "177--185",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hofmann:TB7-3-186,
+ author = "Thomas Hofmann",
+ title = "{A \LaTeX\ addition for formatting indexes}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "186--186",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Aurbach:TB7-3-187,
+ author = "Richard L. Aurbach",
+ title = "{Idx\TeX\ and Glo\TeX\dash indexes and glossaries}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "187--187",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lee:TB7-3-187,
+ author = "John Lee",
+ title = "{Form letters}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "187--187",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fox:TB7-3-187,
+ author = "Jim Fox",
+ title = "{Change bars}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "187--188",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sewell:TB7-3-188,
+ author = "Wayne Sewell",
+ title = "{Bugs in \MF ware}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "188--189",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-190,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "190--190",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-191,
+ author = "Anonymous",
+ title = "{INRIA course: Structures for Documents, Aussois,
+ France, January 19--23, 1987}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "191--191",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-191-2,
+ author = "Anonymous",
+ title = "{{\MF, \TeX\ and the Humanities, Rennes, France}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "191--191",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ohno:TB7-3-191,
+ author = "Yoshio Ohno",
+ title = "{Japanese \TeX\ Users Group}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "191--192",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB7-3-192,
+ author = "Barbara Beeton",
+ title = "{{\TeX\ in Europe, Summer 1986}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "192--193",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-193,
+ author = "Anonymous",
+ title = "{Contents: Proceedings of ``\TeX\ for Scientific
+ Documentation'', Strasbourg, France, June 19--21,
+ 1986}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "193--194",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-196,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "196--197",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lachmann:TB7-3-194,
+ author = "Susanne Lachmann",
+ title = "{The Tiger-\TeX\ Workstation}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "194--195",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-199,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "199--200",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-201,
+ author = "Anonymous",
+ title = "{{\TeX\ order form}}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "201--202",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-198,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "198--198",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB7-3-cover-3,
+ author = "Anonymous",
+ title = "{TUG\Dash Job opening, Technical assistant}",
+ journal = j-TUGboat,
+ volume = "7",
+ number = "3",
+ pages = "Cover 3",
+ month = oct,
+ year = "1986",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "3--4",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB8-1-5,
+ author = "Bart Childs",
+ title = "{President's message}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "5--5",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-5,
+ author = "Anonymous",
+ title = "{Acknowledgement of contributions}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "5--5",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-6,
+ author = "Anonymous",
+ title = "{Donald E. Knuth Scholarship}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "6--6",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB8-1-6,
+ author = "Donald Knuth",
+ title = "{It happened: announcement of \TeX\ 2.1}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "6--6",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wolf:TB8-1-7,
+ author = "Kurt Bernardo Wolf",
+ title = "{News of \TeX\ users in Mexico}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "7--7",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Krick:TB8-1-7,
+ author = "Linda Krick",
+ title = "{Attention, Australian TUG members}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "7--7",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Siegman:TB8-1-8,
+ author = "Tony Siegman",
+ title = "{Book publishing using \TeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "8--11",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lamport:TB8-1-12,
+ author = "Leslie Lamport",
+ title = "{{\TeX\ Output for the Future}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "12--12",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Levy:TB8-1-12,
+ author = "Silvio Levy",
+ title = "{{\tt WEB} adapted to C, another approach}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "12--13",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB8-1-14,
+ author = "Donald Knuth and Pierre MacKay",
+ title = "{Mixing right-to-left texts with left-to-right
+ texts}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "14--25",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB8-1-26,
+ author = "Georgia K. M. Tobin",
+ title = "{Some empirical observations on \MF\ design}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "26--28",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Billawala:TB8-1-29,
+ author = "Neenie Billawala",
+ title = "{Write-white printing engines and tuning fonts with
+ \MF}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "29--32",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB8-1-33,
+ author = "Barbara Beeton",
+ title = "{{\MF\ mode\_def\/ settings for various \TeX\ output
+ devices}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "33--33",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-34,
+ author = "Anonymous",
+ title = "{A new \TeX-based book typesetting package for the
+ Macintosh}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "34--34",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-34-2,
+ author = "Anonymous",
+ title = "{Charts: \TeX\ output devices}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "34--40",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB8-1-41,
+ author = "Nelson H. F. Beebe",
+ title = "{Public domain \TeX\ DVI driver family}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "41--42",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Trevorrow:TB8-1-42,
+ author = "Andrew Trevorrow",
+ title = "{DVIto\kern-.1emVDU 1.7 and PSPRINT 1.1}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "42--45",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-45,
+ author = "Anonymous",
+ title = "{Benson-Varian 9211 looking for a home}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "45--45",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Brown:TB8-1-46,
+ author = "Malcolm Brown",
+ title = "{Notes from \TeX hax}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "46--46",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fuss:TB8-1-46,
+ author = "Edgar Fu{\ss}",
+ title = "{{\TeX\&Co.\ on the ST, Part 2}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "46--47",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB8-1-47,
+ author = "Bart Childs",
+ title = "{Data General distribution news}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "47--47",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lillqvist:TB8-1-47,
+ author = "Tor Lillqvist",
+ title = "{{\TeX82 and \MF84 for the HP1000 A-series}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "47--48",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Crawford:TB8-1-48,
+ author = "John Crawford",
+ title = "{Prime 50 series site report}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "48",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fox:TB8-1-49,
+ author = "Jim Fox",
+ title = "{Multiple, independent marks}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "49--53",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Garavelli:TB8-1-53,
+ author = "John S. Garavelli",
+ title = "{Form letter macros}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "53--53",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bell:TB8-1-54,
+ author = "Edwin V. {Bell, II}",
+ title = "{AutoLetter: A \TeX\ form letter procedure}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "54--57",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Yap:TB8-1-58,
+ author = "Ken Yap",
+ title = "{Contents of \LaTeX\ style collection as of 15th
+ February 1987}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "58--59",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McKinstry:TB8-1-60,
+ author = "Graeme McKinstry",
+ title = "{Form letters}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "60--61",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zocchi:TB8-1-62,
+ author = "Maurizio Zocchi",
+ title = "{{\LaTeX's Index Processing}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "62--62",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wonneberger:TB8-1-63,
+ author = "Reinhard Wonneberger",
+ title = "{Typesetting `Normaltext'}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "63--72",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB8-1-73,
+ author = "Alan Hoenig",
+ title = "{{\TeX\ does windows}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "73--73",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB8-1-73,
+ author = "Donald Knuth",
+ title = "{Problem for a Saturday afternoon}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "73--73",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dyck:TB8-1-74,
+ author = "Jennifer Dyck",
+ title = "{APA style in \LaTeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "74--74",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hawkins:TB8-1-74,
+ author = "Judy Hawkins",
+ title = "{Chemical formulae}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "74--74",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Celoni:TB8-1-74,
+ author = "James R. {Celoni, S. J.}",
+ title = "{Ancient non-Roman languages}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "74--74",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Michailovsky:TB8-1-74,
+ author = "Boyd Michailovsky",
+ title = "{International Phonetic Alphabet}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "74--74",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cutter:TB8-1-74,
+ author = "Lawrence D. Cutter",
+ title = "{Line numbering}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "74--74",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nash:TB8-1-75,
+ author = "David Nash",
+ title = "{Dictionary formatting}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "75--75",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Horstman:TB8-1-75,
+ author = "Helen S. Horstman",
+ title = "{Printing out selected pages}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "75--75",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ryan:TB8-1-75,
+ author = "Raymond A. Ryan",
+ title = "{Wanted: Help for beginners}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "75--75",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thulin:TB8-1-76,
+ author = "Anders Thulin",
+ title = "{More hyphenation exceptions}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "76--76",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McWorter:TB8-1-76,
+ author = "William A. McWorter",
+ title = "{New fonts for mathematics?}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "76--77",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Wed Jul 09 12:06:16 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-77,
+ author = "Anonymous",
+ title = "{Workshop on Font Design Systems (Sophia-Antipolis,
+ France, 18--19 May 1987)}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "77--77",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-77-2,
+ author = "Anonymous",
+ title = "{Special Spring Quarter course (Stanford, Donald
+ Knuth): \TeX: The Program: A case study in software
+ design}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "77--77",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-78,
+ author = "Anonymous",
+ title = "{Call for Papers: Electronic Publishing, Document
+ Manipulation and Typography (Nice, France, 20--22 April
+ 1988)}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "78--87",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-79,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "79--80",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-81,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "81--82",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-83,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "83--84",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-85,
+ author = "Anonymous",
+ title = "{{\TeX\ order form}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "85--86",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-cover-3,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "Cover 3",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-1-cover-3-2,
+ author = "Anonymous",
+ title = "{TUG\Dash Job opening, Technical assistant}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "1",
+ pages = "Cover 3",
+ month = apr,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-2-99,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "99--100",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB8-2-101,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "101--101",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Koren:TB8-2-101,
+ author = "Gideon Koren",
+ title = "{How to improve the chances for acceptance of your
+ scientific paper}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "101--102",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Alexander:TB8-2-102,
+ author = "James Alexander",
+ title = "{{\Tib: a reference setting package, update}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "102--102",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rezende:TB8-2-102,
+ author = "Pedro de Rezende",
+ title = "{Portuguese hyphenation table for \TeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "102--102",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ferguson:TB8-2-102,
+ author = "Michael Ferguson",
+ title = "{A (hopefully) final extension of multilingual
+ \mtex}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "102--103",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Saito:TB8-2-103,
+ author = "Yasuki Saito",
+ title = "{Report on \JTeX: A Japanese \TeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "103--116",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sewell:TB8-2-117,
+ author = "E. Wayne Sewell",
+ title = "{Multiple changefiles: the adventure continues}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "117--118",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sewell:TB8-2-118,
+ author = "E. Wayne Sewell",
+ title = "{How to {\tt MANGLE} your software: the \WEB\ system
+ for Modula-2}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "118--122",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sewell:TB8-2-123,
+ author = "E. Wayne Sewell",
+ title = "{The {\tt SCANTEX} processor}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "123--128",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gourlay:TB8-2-128,
+ author = "John S. Gourlay",
+ title = "{Blacker Thoughts}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "128--129",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sauter:TB8-2-129,
+ author = "John Sauter",
+ title = "{Updated Computer Modern fonts for the LN03}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "129--130",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Crawford:TB8-2-131,
+ author = "John Crawford",
+ title = "{MFtool: A \MF\ script-driven processing facility}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "131--131",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB8-2-132,
+ author = "Barbara Beeton",
+ title = "{Update: \MF\ {\bf mode\_def\/} settings for \TeX\
+ output devices}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "132--134",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB8-2-135,
+ author = "Donald E. Knuth",
+ title = "{Fonts for digital halftones}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "135--160",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McGaffey:TB8-2-161,
+ author = "Robert W. McGaffey",
+ title = "{The ideal \TeX\ driver}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "161--163",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB8-2-163,
+ author = "Don Hosek",
+ title = "{{\TeX\ output devices (with charts)}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "163--170",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dunn:TB8-2-171,
+ author = "Alec Dunn",
+ title = "{Using PostScript with \TeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "171--173",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-2-237,
+ author = "Anonymous",
+ title = "{Index to sample output from various devices}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "237--237",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vanderburg:TB8-2-174,
+ author = "Glenn L. Vanderburg",
+ title = "{TEX-L access for Bitnet users}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "174--174",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mann:TB8-2-174,
+ author = "Laurie Mann",
+ title = "{{\TeX\ and training: A case study}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "174--176",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB8-2-176,
+ author = "Bart Childs",
+ title = "{Data General site report}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "176--177",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guenther:TB8-2-178,
+ author = "Dean Guenther",
+ title = "{IBM VM/CMS site report}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "178--178",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pierson:TB8-2-178,
+ author = "Gil Pierson",
+ title = "{SAS merged with \TeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "178--179",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB8-2-179,
+ author = "Pierre MacKay",
+ title = "{Unix \TeX\ site report}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "179--181",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB8-2-177,
+ author = "Adrian F. Clark",
+ title = "{Enhancements to \TeX\ on the \VAX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "177--177",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kohlmayr:TB8-2-181,
+ author = "Gerhard F. Kohlmayr",
+ title = "{A bug in \TeXtures\ v0.95 prerelease}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "181--181",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smith:TB8-2-181,
+ author = "Barry Smith",
+ title = "{Work-around for an ImageWriter problem affecting
+ \TeXtures\ output}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "181--181",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB8-2-182,
+ author = "Alan Hoenig and Mitch Pfeffer",
+ title = "{Update: Real typesetting from your PC}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "182--182",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Appelt:TB8-2-182,
+ author = "Wolfgang Appelt",
+ title = "{Macros with keyword parameters}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "182--184",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kabelschacht:TB8-2-184,
+ author = "Alois Kabelschacht",
+ title = "{{\tt\bs expandafter} in conditionals; a
+ generalization of PLAIN's {\tt\bs loop}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "184--185",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Barnhart:TB8-2-185,
+ author = "Elizabeth Barnhart",
+ title = "{{\TeX\ in the commercial environment\Dash
+ multi-column output}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "185--189",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{LeHardy:TB8-2-190,
+ author = "Charles LeHardy",
+ title = "{Diglot typesetting}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "190--192",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bruggemann-Klein:TB8-2-193,
+ author = "Anne Br{\"u}ggemann-Klein",
+ title = "{First line special handling with \TeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "193--197",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Yap:TB8-2-198,
+ author = "Ken Yap",
+ title = "{Contents of \LaTeX\ style collection as of 15th May
+ 1987}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "198--200",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Aurbach:TB8-2-201,
+ author = "Richard Aurbach",
+ title = "{Automated index generation for \LaTeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "201--209",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB8-2-210,
+ author = "Donald Knuth",
+ title = "{Saturday morning problem\Dash solution}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "210--210",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB8-2-211,
+ author = "Alan Hoenig",
+ title = "{{\TeX\ does windows\Dash conclusion}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "211--215",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fox:TB8-2-216,
+ author = "Jim Fox",
+ title = "{Comment on ``\TeX\ does windows''}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "216--216",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Alexander:TB8-2-216,
+ author = "James Alexander",
+ title = "{Time line macro}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "216--216",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB8-2-217,
+ author = "Donald Knuth",
+ title = "{Reply: Printing out selected pages}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "217--217",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Black:TB8-2-217,
+ author = "Mike Black",
+ title = "{Using the Windows environment}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "217--217",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-2-218,
+ author = "Anonymous",
+ title = "{TUG Annual Meeting, University of Washington, August
+ 24--26, 1987}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "218--218",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-2-219,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "219--220",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Boston:TB8-2-220,
+ author = "Boston and Mass. and 22--24 October 1987",
+ title = "{PROTEXT IV}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "220--220",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Munster:TB8-2-221,
+ author = "University of M{\"u}nster and 8--9 October 1987",
+ title = "{6th German \TeX\ meeting}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "221--221",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB8-2-221,
+ author = "Lynne A. Price",
+ title = "{SGML and \TeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "221--225",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whidden:TB8-2-225,
+ author = "Samuel B. Whidden",
+ title = "{Treasurer's report}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "225--227",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-2-228,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "228--230",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-2-231,
+ author = "Anonymous",
+ title = "{TUG membership application; \TeX\ order form}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "231--232",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-2-252,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "2",
+ pages = "252--252",
+ month = jul,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-3-255,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "255--256",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB8-3-257,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "257--257",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thedford:TB8-3-258,
+ author = "Rilla Thedford",
+ title = "{The Volunteer Tree}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "258--258",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Marle:TB8-3-259,
+ author = "Charles-Michel Marle",
+ title = "{Book publishing using \TeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "259--260",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mann:TB8-3-260,
+ author = "Laurie Mann",
+ title = "{{\TeX\ training, etc.\Dash A TUG meeting trip
+ report}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "260--262",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB8-3-262,
+ author = "Barbara Beeton",
+ title = "{From the Editor}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "262--262",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB8-3-262,
+ author = "Bart Childs",
+ title = "{Proposed minimum standards for \TeX\ distributions}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "262--263",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Reid:TB8-3-264,
+ author = "Thomas J. Reid",
+ title = "{{\tt TANGLE} modification causes problems in \MF\ and
+ PK files}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "264--265",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-3-266,
+ author = "Anonymous",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "266--267",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Henderson:TB8-3-268,
+ author = "Doug Henderson",
+ title = "{Update: \MF\ {\bf mode\_def\/} settings for \TeX\
+ output devices}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "268--270",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB8-3-270,
+ author = "Adrian F. Clark",
+ title = "{Halftone output from \TeX}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "270--274",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hohti:TB8-3-275,
+ author = "Aarno Hohti and Okko Kanerva",
+ title = "{Generating an {\sl APL\/} font}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "275--278",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB8-3-279,
+ author = "Don Hosek",
+ title = "{{\TeX\ output devices (with charts)}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "279--286",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Reid:TB8-3-287,
+ author = "Thomas J. Reid",
+ title = "{DVI driver considerations for high-volume printing
+ systems}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "287--291",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vanderburg:TB8-3-291,
+ author = "Glenn L. Vanderburg and Thomas J. Reid",
+ title = "{{\tt\bs special} issues}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "291--300",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Toal:TB8-3-301,
+ author = "Graham Toal",
+ title = "{{\TeX\ information for users in the U.K.}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "301--301",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Brown:TB8-3-301,
+ author = "Malcolm Brown",
+ title = "{{\TeX hax Notes}}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "301--303",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lammarsch:TB8-3-304,
+ author = "Joachim Lammarsch",
+ title = "{6th Meeting of the ``\TeX-Interessenten'' in
+ Germany}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "304--304",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guntermann:TB8-3-304,
+ author = "Klaus Guntermann",
+ title = "{Atari ST site report}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "304--304",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB8-3-304,
+ author = "Bart Childs",
+ title = "{Data General site report}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "304--304",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pfeffer:TB8-3-305,
+ author = "Mitch Pfeffer and Alan Hoenig",
+ title = "{Running \TeX\ on a 386-based computer: Twice as fast
+ as an AT}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "305--306",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB8-3-307,
+ author = "Christina Thiele",
+ title = "{What constitutes a well-documented macro?}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "307--308",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB8-3-309,
+ author = "Donald E. Knuth",
+ title = "{Macros for Jill}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "309--314",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Reid:TB8-3-315,
+ author = "Thomas J. Reid",
+ title = "{Floating figures at the right, and Some random text
+ for testing}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "315--320",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Yap:TB8-3-320,
+ author = "Ken Yap",
+ title = "{Contents of \LaTeX\ style collection as of 15th
+ September 1987}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "320--323",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB8-3-323,
+ author = "Jackie Damrau",
+ title = "{The \LaTeX\ user's column}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "323--326",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB8-3-306,
+ author = "Peter Flynn",
+ title = "{Request for contributions to a new publication}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "306--306",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Boes:TB8-3-326,
+ author = "Jeffery Boes",
+ title = "{Reply: Printing out selected pages}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "326--326",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lipp:TB8-3-326,
+ author = "Stephen C. Lipp",
+ title = "{Title formatting macro wanted}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "326--327",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-3-328,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "328--328",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-3-329,
+ author = "Anonymous",
+ title = "{Exeter University: \TeX88, 18--20 July 1988}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "329--330",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-3-cover-3,
+ author = "Anonymous",
+ title = "{Call for papers: TUG Annual Meeting, Montr\'eal,
+ 22--24 August 1988}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "Cover 3",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-3-331,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "331--332",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-3-333,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "333--334",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB8-3-352,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "8",
+ number = "3",
+ pages = "352--352",
+ month = nov,
+ year = "1987",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "3--4",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB9-1-5,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "5--5",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wittbecker:TB9-1-5,
+ author = "Alan Wittbecker",
+ title = "{{\TUB{} docks at fire station}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "5--5",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-6,
+ author = "Anonymous",
+ title = "{Donald E. Knuth Scholarship}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "6--6",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB9-1-6,
+ author = "Barbara Beeton",
+ title = "{Notes from the Editor}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "6--7",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lamport:TB9-1-8,
+ author = "Leslie Lamport",
+ title = "{Document Production: Visual or Logical?}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "8--10",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Breitenlohner:TB9-1-11,
+ author = "Peter Breitenlohner",
+ title = "{Still another aspect of multiple change files: The
+ PATCH processor}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "11--12",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB9-1-12,
+ author = "Pierre A. MacKay",
+ title = "{Turkish hyphenations for \TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "12--14",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB9-1-15,
+ author = "Georgia K. M. Tobin",
+ title = "{The ABC's of special effects}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "15--18",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Messer:TB9-1-19,
+ author = "Robert Messer",
+ title = "{Blackboard Bold}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "19--20",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Levy:TB9-1-20,
+ author = "Silvio Levy",
+ title = "{Using Greek fonts with \TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "20--24",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB9-1-25,
+ author = "Don Hosek",
+ title = "{{\TeX{} output devices (with charts)}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "25--33",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Brown:TB9-1-34,
+ author = "Marcus Brown",
+ title = "{An ASCII previewer for \TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "34--36",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB9-1-37,
+ author = "Don Hosek",
+ title = "{A screen previewer for VM/CMS}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "37--37",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dunne:TB9-1-37,
+ author = "Shane Dunne",
+ title = "{Why \TeX{} should NOT output \PS{}\Dash yet}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "37--39",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-39,
+ author = "Anonymous",
+ title = "{Index to sample output from various devices}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "39--39",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rokicki:TB9-1-40,
+ author = "Tom Rokicki",
+ title = "{The Commodore Amiga: A magic \TeX{} machine}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "40--41",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB9-1-41,
+ author = "Bart Childs",
+ title = "{Data General site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "41--41",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-42,
+ author = "Anonymous",
+ title = "{Fujitsu ports \TeX{} 1.0 onto M-series}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "42--42",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guenther:TB9-1-42,
+ author = "Dean Guenther",
+ title = "{IBM VM/CMS site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "42--42",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB9-1-42,
+ author = "Pierre MacKay",
+ title = "{Unix \TeX{} site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "42--44",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Morgan:TB9-1-44,
+ author = "Tim Morgan",
+ title = "{{\TeX{} to C converter}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "44--45",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kellerman:TB9-1-45,
+ author = "David Kellerman",
+ title = "{{\VAX/VMS site report}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "45--45",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB9-1-46,
+ author = "Alan Hoenig and Mitch Pfeffer",
+ title = "{Writers' tools I: PC spelling and grammar checkers}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "46--47",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB9-1-47,
+ author = "Alan Hoenig and Mitch Pfeffer",
+ title = "{Grapevine reports of inexpensive versions of \TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "47--48",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kinch:TB9-1-48,
+ author = "Richard J. Kinch and Jennifer L. Vollbrecht",
+ title = "{Turbo\TeX: A new port in C for Unix and MS-DOS}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "48--52",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Crisanti:TB9-1-52,
+ author = "Ester Crisanti and Alberto Formigoni and Paco La
+ Bruna",
+ title = "{easy\TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "52--56",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bechtolsheim:TB9-1-57,
+ author = "Stephan v. Bechtolsheim",
+ title = "{A tutorial on {\tt\bs expandafter}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "57--61",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Walker:TB9-1-61,
+ author = "James W. Walker",
+ title = "{Macros for outlining}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "61--64",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hendrickson:TB9-1-64,
+ author = "Amy Hendrickson",
+ title = "{A macro writing tool: Generating new definitions}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "64--64",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gariepy:TB9-1-65,
+ author = "Alonzo Gariepy",
+ title = "{French in \TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "65--69",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Partl:TB9-1-70,
+ author = "Hubert Partl",
+ title = "{German \TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "70--72",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Yap:TB9-1-73,
+ author = "Ken Yap",
+ title = "{Contents of \LaTeX{} style collection as of 4th
+ February 1988}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "73--75",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB9-1-76,
+ author = "Jackie Damrau",
+ title = "{The \LaTeX{} user's column}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "76--77",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McPherson:TB9-1-78,
+ author = "Kent McPherson",
+ title = "{Page layout in \LaTeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "78--82",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bartlett:TB9-1-83,
+ author = "Frederick H. Bartlett",
+ title = "{Automatic page balancing macros wanted; Replies:
+ Inverted pyramidal titles; Logarithmic time scales}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "83--85",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-86,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "86--86",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-87,
+ author = "Anonymous",
+ title = "{TUG 1988 Annual Meeting, Montr\'eal, August 22--24}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "87--87",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-87-2,
+ author = "Anonymous",
+ title = "{Videotapes of Knuth's software course based on \TeX:
+ The Program}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "87--87",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-88,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "88--90",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-91,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "91--93",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-95,
+ author = "Anonymous",
+ title = "{{\TeX{} order form}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "95--96",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-1-112,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "1",
+ pages = "112--112",
+ month = apr,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-2-115,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "115--116",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB9-2-117,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "117--117",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goucher:TB9-2-117,
+ author = "Ray Goucher",
+ title = "{Los Alamos sets new membership record}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "117--117",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-2-117,
+ author = "Anonymous",
+ title = "{Donald Knuth awarded Franklin Medal}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "117--117",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Barnhart:TB9-2-118,
+ author = "Elizabeth Barnhart",
+ title = "{{\TeX{} in the publishing environment: A survey of
+ production/commercial users}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "118--120",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB9-2-121,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "121--121",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB9-2-121-2,
+ author = "Barbara Beeton",
+ title = "{New version(s) of \TeX{} and \MF}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "121--122",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB9-2-122,
+ author = "Bart Childs",
+ title = "{64-bit \TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "122--122",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lichtenwalder:TB9-2-123,
+ author = "Klaus Lichtenwalder",
+ title = "{Porting \TeX{} to C}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "123--124",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kennedy:TB9-2-124,
+ author = "David Kennedy",
+ title = "{{\TeX{} adapted to CWEB}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "124--125",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vanderburg:TB9-2-125,
+ author = "Glenn Vanderburg",
+ title = "{Some useful variations of standard fonts}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "125--125",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB9-2-126,
+ author = "Georgia K. M. Tobin",
+ title = "{Designing for low-res devices}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "126--128",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB9-2-129,
+ author = "Bart Childs",
+ title = "{{\TeX{} fonts and suggested magnifications}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "129--131",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wujastyk:TB9-2-131,
+ author = "Dominik Wujastyk",
+ title = "{The many faces of \TeX: A survey of digital {\manual
+ META}fonts}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "131--151",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB9-2-152,
+ author = "Donald E. Knuth",
+ title = "{A Punk Meta-Font}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "152--168",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB9-2-169,
+ author = "Don Hosek",
+ title = "{{\TeX{} output devices (with charts)}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "169--177",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dunne:TB9-2-178,
+ author = "Shane Dunne",
+ title = "{Why \TeX{} should NOT output \PS{}\Dash yet:
+ Addendum}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "178--178",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wolfe:TB9-2-178,
+ author = "Warren Wolfe",
+ title = "{ASCII Preview with vu\TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "178--180",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-2-151,
+ author = "Anonymous",
+ title = "{Index to sample output from various devices}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "151--151",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB9-2-181,
+ author = "Bart Childs",
+ title = "{{\TeX{} on the Cray}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "181--181",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB9-2-181-2,
+ author = "Bart Childs",
+ title = "{Data General site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "181--181",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smith:TB9-2-181,
+ author = "Barry Smith",
+ title = "{Macintosh site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "181--181",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB9-2-182,
+ author = "Barbara Beeton",
+ title = "{Controlling {\tt<ctrl-M>}; Ruling the depths}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "182--183",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Breitenlohner:TB9-2-183,
+ author = "Peter Breitenlohner",
+ title = "{German \TeX, a next step}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "183--185",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wichura:TB9-2-186,
+ author = "Michael J. Wichura",
+ title = "{Some problems with the INRS\TeX{} table making
+ macros}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "186--188",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haagen:TB9-2-189,
+ author = "A. J. Van Haagen",
+ title = "{Box plots and scatter plots with \TeX{} macros}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "189--192",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wichura:TB9-2-193,
+ author = "Michael J. Wichura",
+ title = "{{\PiCTeX: Macros for drawing \PiC tures}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "193--197",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB9-2-198,
+ author = "Jackie Damrau",
+ title = "{The \LaTeX{} user's column}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "198--199",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Yap:TB9-2-200,
+ author = "Ken Yap",
+ title = "{Contents of \LaTeX{} style collection as of 19th June
+ 1988}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "200--203",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bechtolsheim:TB9-2-203,
+ author = "Stephan v. Bechtolsheim",
+ title = "{A note on processing parts with \LaTeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "203--204",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McPherson:TB9-2-204,
+ author = "Kent McPherson",
+ title = "{Page layout in \LaTeX: Erratum}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "204--204",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-2-205,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "205--205",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gaulle:TB9-2-206,
+ author = "Bernard Gaulle",
+ title = "{GUTenberg meeting report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "206--207",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-2-207,
+ author = "Anonymous",
+ title = "{Knuth Scholarship winner}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "207--207",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-2-208,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "208--210",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-2-211,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "211--212",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-2-226,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "226--226",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-2-M,
+ author = "Anonymous",
+ title = "{TUG Membership List Supplement}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "2",
+ pages = "M-1--M-14",
+ month = aug,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-229,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "229--230",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB9-3-231,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "231--232",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-232,
+ author = "Anonymous",
+ title = "{Extra! Extra! \TUB{} becomes a quarterly}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "232--232",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-232-2,
+ author = "Anonymous",
+ title = "{Donald Knuth awarded Oxford degree}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "232--233",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB9-3-233,
+ author = "Barbara Beeton",
+ title = "{{\TeX{} and TUG go international\Dash A trip
+ report}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "233--235",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McKinstry:TB9-3-236,
+ author = "Graeme McKinstry",
+ title = "{Some typesetting conventions}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "236--238",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Heidrich:TB9-3-238,
+ author = "Klaus Heidrich",
+ title = "{Software-ergonomics on the Atari ST}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "238--238",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-239,
+ author = "Anonymous",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "239--241",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schrod:TB9-3-241,
+ author = "Joachim Schrod",
+ title = "{{\LaTeX{} fonts and suggested magnifications}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "241--243",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Henderson:TB9-3-244,
+ author = "Doug Henderson",
+ title = "{Mode\_def's please}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "244--245",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wujastyk:TB9-3-246,
+ author = "Dominik Wujastyk",
+ title = "{Further faces}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "246--251",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB9-3-251,
+ author = "Don Hosek",
+ title = "{{\TeX{} output devices (with charts)}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "251--260",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Abbott:TB9-3-261,
+ author = "Peter Abbott and Andrew Trevorrow",
+ title = "{{\DVItoVDU{} 3.0 and PSPRINT 3.0}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "261--262",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Abbott:TB9-3-263,
+ author = "Peter Abbott",
+ title = "{A UK-based \TeX{} mail archive server}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "263--264",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guntermann:TB9-3-264,
+ author = "Klaus Guntermann",
+ title = "{Atari ST site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "264--265",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB9-3-265,
+ author = "Bart Childs",
+ title = "{Data General site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "265--265",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guenther:TB9-3-265,
+ author = "Dean Guenther",
+ title = "{IBM VM/CMS site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "265--265",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Platt:TB9-3-266,
+ author = "Craig Platt",
+ title = "{MVS site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "266--267",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB9-3-267,
+ author = "Pierre MacKay",
+ title = "{Unix \TeX{} site report}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "267--269",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pfeffer:TB9-3-269,
+ author = "Mitch Pfeffer and Alan Hoenig",
+ title = "{Recovering from a hard-disk failure}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "269--271",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB9-3-271,
+ author = "C. G. van der Laan and J. R. Luyten",
+ title = "{Evaluation of K-talk}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "271--272",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wittbecker:TB9-3-272,
+ author = "Alan Wittbecker",
+ title = "{Making paragraphs}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "272--276",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bechtolsheim:TB9-3-276,
+ author = "Stephan v. Bechtolsheim",
+ title = "{A tutorial on {\tt\bs futurelet}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "276--278",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kneser:TB9-3-279,
+ author = "Thomas Kneser",
+ title = "{Compact matrix display}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "279--284",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Appelt:TB9-3-284,
+ author = "Wolfgang Appelt",
+ title = "{Typesetting chess}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "284--287",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pittman:TB9-3-287,
+ author = "J. E. Pittman",
+ title = "{Equation numbering in plain \TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "287--288",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pittman:TB9-3-289,
+ author = "J. E. Pittman",
+ title = "{\tt Loopy.TeX}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "289--291",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rogers:TB9-3-292,
+ author = "David F. Rogers",
+ title = "{A page make-up challenge}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "292--293",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{DeCorte:TB9-3-294,
+ author = "Michael DeCorte",
+ title = "{Contents of \LaTeX{} style collection as of 24
+ September 1988}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "294--297",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB9-3-297,
+ author = "Jackie Damrau",
+ title = "{The \LaTeX{} column}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "297--297",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB9-3-298,
+ author = "Frank Mittelbach",
+ title = "{A new implementation of the array-- and
+ tabular--environments}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "298--314",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-315,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "315--315",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB9-3-316,
+ author = "C. G. van der Laan",
+ title = "{Dutch \TeX{} Users Group}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "316--316",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-cover-3,
+ author = "Anonymous",
+ title = "{Call for papers: {\bf TUG Tenth Annual Meeting},
+ Stanford University, 21--23 August 1989}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "Cover 3",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-316,
+ author = "Anonymous",
+ title = "{Call for papers: RIDT'89\Dash International Workshop
+ on Raster Imagining and Digital Typography, Lausanne,
+ Switzerland, 12--13 October 1989}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "316--317",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB9-3-317,
+ author = "Pierre MacKay",
+ title = "{{\TeX hax moves north}}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "317--317",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB9-3-317,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "317--318",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-318,
+ author = "Anonymous",
+ title = "{A thank you note}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "318--318",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-324,
+ author = "Anonymous",
+ title = "{TUG's Tenth}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "324--324",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-318-2,
+ author = "Anonymous",
+ title = "{Accountant's review of TUG financial records, years
+ ended December 31, 1987 and 1986}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "318--321",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-322,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "322--324",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-325,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "325--325",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-342,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "342--342",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB9-3-M,
+ author = "Anonymous",
+ title = "{TUG Membership List Supplement}",
+ journal = j-TUGboat,
+ volume = "9",
+ number = "3",
+ pages = "M-1--M-12",
+ month = nov,
+ year = "1988",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "3--4",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-5,
+ author = "Anonymous",
+ title = "{Donald E. Knuth Scholarship}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "5--5",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB10-1-5,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "5--5",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-5-2,
+ author = "Anonymous",
+ title = "{Announcing a TUG dingbat competition}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "5--6",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB10-1-6,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "6--7",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB10-1-8,
+ author = "Donald Knuth",
+ title = "{{\TeX} would find it difficult {\dots}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "8--8",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB10-1-8,
+ author = "Barbara Beeton",
+ title = "{A {\TeX} encounter in Japan}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "8--10",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Harrison:TB10-1-11,
+ author = "Michael Harrison",
+ title = "{News from the {\VorTeX} project}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "11--14",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB10-1-14,
+ author = "Adrian Clark",
+ title = "{An enhanced {\TeX}-editor interface for VMS}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "14--15",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thull:TB10-1-15,
+ author = "Klaus Thull",
+ title = "{The virtual memory management of PubliC {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "15--22",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kinch:TB10-1-23,
+ author = "Richard Kinch",
+ title = "{Turbo{\MF}: A new port in C for {\UNIX} and MS-DOS}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "23--24",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bechtolsheim:TB10-1-25,
+ author = "Stephan v. Bechtolsheim",
+ title = "{The {\TeX} {\PS} software package}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "25--27",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB10-1-28,
+ author = "Georgia K. M. Tobin",
+ title = "{A handy little font}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "28--30",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB10-1-31,
+ author = "Donald Knuth",
+ title = "{Typesetting {\sl Concrete Mathematics\/}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "31--36",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Henderson:TB10-1-36,
+ author = "Doug Henderson",
+ title = "{Outline fonts with {\MF}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "36--38",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wujastyk:TB10-1-39,
+ author = "Dominik Wujastyk",
+ title = "{Font news}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "39--39",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rogers:TB10-1-39,
+ author = "David F. Rogers",
+ title = "{Computer graphics and {\TeX}\Dash a challenge}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "39--44",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB10-1-44,
+ author = "Bart Childs and Alan Stolleis and Don Berryman",
+ title = "{A portable graphics inclusion}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "44--46",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB10-1-46,
+ author = "Don Hosek",
+ title = "{{\TeX} output devices (with charts)}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "46--55",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB10-1-56,
+ author = "Don Hosek",
+ title = "{Report from the {\tt DVI} driver standards
+ committee}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "56--56",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Broeren:TB10-1-56,
+ author = "Marius Broeren and Jan van Knippenberg",
+ title = "{High quality printing of {\TeX} DVI output files in
+ the {\VAX/VMS} environment}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "56--58",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Puente:TB10-1-58,
+ author = "Arturo Puente",
+ title = "{Output driver for Xerox 4045 on IBM 3090}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "58--58",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Abbott:TB10-1-59,
+ author = "Peter Abbott",
+ title = "{{UK\TeX} and the Aston archive}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "59--60",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB10-1-60,
+ author = "Bart Childs",
+ title = "{DG site report}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "60--60",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB10-1-60,
+ author = "Pierre MacKay",
+ title = "{Unix{\TeX} site report}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "60--61",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kellerman:TB10-1-62,
+ author = "David Kellerman",
+ title = "{{\VAX/VMS} site report}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "62--62",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB10-1-62,
+ author = "Alan Hoenig",
+ title = "{The land of the free and the near free}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "62--64",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kubik:TB10-1-65,
+ author = "Kim Kubik",
+ title = "{Amiga{\TeX}\dots or How envy was resisted and
+ knowledge found on the road to \"O\"o\c c}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "65--67",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Modest:TB10-1-67,
+ author = "Michael Modest",
+ title = "{Using {\TeX} and {\LaTeX} with WordPerfect 5.0}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "67--72",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zalmstra:TB10-1-73,
+ author = "Joost Zalmstra and David F. Rogers",
+ title = "{A page make-up macro}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "73--81",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nearing:TB10-1-82,
+ author = "James Nearing",
+ title = "{Extended equation numbering in Plain {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "82--88",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sankar:TB10-1-89,
+ author = "Sriram Sankar",
+ title = "{APE\Dash A set of {\TeX} macros to format Ada
+ programs}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "89--97",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{DeCorte:TB10-1-97,
+ author = "Michael DeCorte",
+ title = "{Contents of {\LaTeX} style collection as of 16
+ January 1989}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "97--102",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB10-1-103,
+ author = "Frank Mittelbach",
+ title = "{``A new implementation of the array-- and
+ tabular--environments of {\LaTeX}'' ({\TUB} 9\#3)\Dash
+ addenda}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "103--104",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schopf:TB10-1-105,
+ author = "Rainer Sch{\"o}pf",
+ title = "{Drawing histogram bars inside the {\LaTeX}
+ picture--environment}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "105--107",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nagy:TB10-1-108,
+ author = "Dezs\H o Nagy",
+ title = "{Vertical centering for transparencies}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "108--112",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB10-1-113,
+ author = "C. G. van der Laan",
+ title = "{Typesetting bridge via {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "113--116",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-116,
+ author = "Anonymous",
+ title = "{WOODMAN '89: Workshop on Object Oriented Document
+ Manipulation, Rennes, France, 29--31 May 1989}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "116--116",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-117,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "117--117",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-118,
+ author = "Anonymous",
+ title = "{GUTenberg Congr\`es:\ {\TeX} et les graphiques,
+ Paris, 16--17 May 1989}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "118--118",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-118-2,
+ author = "Anonymous",
+ title = "{{\TeX89: Karlsruhe University, 11--13 September
+ 1989}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "118--118",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Osborne:TB10-1-119,
+ author = "David Osborne",
+ title = "{A UK {\TeX} users' group\Dash Report of a preliminary
+ meeting}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "119--120",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB10-1-120,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "120--121",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-121,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "121--121",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-122,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "122--124",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-125,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "125--125",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-1-142,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "1",
+ pages = "142--142",
+ month = apr,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-2-145,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "145--146",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB10-2-147,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "147--147",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB10-2-147,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "147--150",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB10-2-150,
+ author = "Malcolm Clark",
+ title = "{R\'eflexions sur le Congr\`es GUTenberg}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "150--153",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB10-2-153,
+ author = "Malcolm Clark",
+ title = "{International Standards and {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "153--156",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB10-2-156,
+ author = "Bart Childs",
+ title = "{Teaching {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "156--163",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Spivak:TB10-2-164,
+ author = "Michael Spivak and Michael Ballantyne and Yoke Lee",
+ title = "{HI-{\TeX} cutting \& pasting}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "164--165",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tobin:TB10-2-166,
+ author = "Georgia K. M. Tobin",
+ title = "{Another dingbat idea}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "166--169",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rubinstein:TB10-2-170,
+ author = "Zalman Rubinstein",
+ title = "{Chess printing via {\MF} and {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "170--172",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB10-2-173,
+ author = "Don Hosek",
+ title = "{Guidelines for creating portable {\MF} code}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "173--176",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Andrews:TB10-2-177,
+ author = "Phil Andrews",
+ title = "{Integration of {\TeX} and graphics at the Pittsburgh
+ Supercomputing Center}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "177--178",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wilcox:TB10-2-179,
+ author = "Patricia Wilcox",
+ title = "{{\eightrm METAPLOT}: Machine-independent line
+ graphics for {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "179--187",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB10-2-188,
+ author = "Don Hosek",
+ title = "{{\TeX} output devices}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "188--188",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Reid:TB10-2-188,
+ author = "Tom Reid and Don Hosek",
+ title = "{Report from the {\tt DVI} driver standards
+ committee}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "188--191",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB10-2-192,
+ author = "Don Hosek",
+ title = "{Announcing (belatedly) \TeXMaG}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "192--192",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB10-2-193,
+ author = "Malcolm Clark",
+ title = "{{\TeX}line: A newsletter of the {\TeX} community}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "193--194",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Abbott:TB10-2-194,
+ author = "Peter Abbott",
+ title = "{{UK\TeX} and the Aston archive}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "194--195",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nieland:TB10-2-195,
+ author = "M. Edward Nieland",
+ title = "{The DECUS {\TeX} collection}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "195--196",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{DeCorte:TB10-2-196,
+ author = "Michael DeCorte",
+ title = "{The Clarkson archive server\Dash Update as of 1 May
+ 1989}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "196--201",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB10-2-201,
+ author = "Bart Childs",
+ title = "{Data General site report}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "201--201",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Crawford:TB10-2-201,
+ author = "John Crawford",
+ title = "{Prime 50 series site report}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "201--201",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Radel:TB10-2-202,
+ author = "Jon Radel",
+ title = "{``Free'' {\TeX} software for IBM PCs}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "202--202",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Trevorrow:TB10-2-202,
+ author = "Andrew Trevorrow",
+ title = "{Public domain {\TeX} for the Mac}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "202--203",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bechtolsheim:TB10-2-203,
+ author = "Stephan v. Bechtolsheim",
+ title = "{{\tt\bs csname} and {\tt\bs string}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "203--206",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB10-2-207,
+ author = "David Salomon",
+ title = "{DDA methods in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "207--216",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vogel:TB10-2-217,
+ author = "Brother Eric Vogel",
+ title = "{Printing Vietnamese characters by adding diacritical
+ marks}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "217--221",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB10-2-222,
+ author = "Frank Mittelbach and Rainer Sch{\"o}pf",
+ title = "{A new font selection scheme for {\TeX} macro
+ packages\Dash the basic macros}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "222--238",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nagy:TB10-2-239,
+ author = "Dezs\H o Nagy",
+ title = "{A bar chart in {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "239--240",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Partl:TB10-2-241,
+ author = "Hubert Partl",
+ title = "{Producing on-line information files with {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "241--244",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB10-2-245,
+ author = "Frank Mittelbach",
+ title = "{The {\tt doc}--option}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "245--273",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kelly:TB10-2-274,
+ author = "B. Hamilton Kelly",
+ title = "{The {\tt autodoc}--option}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "274--284",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-2-285,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "285--286",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-2-287,
+ author = "Anonymous",
+ title = "{Nordic {\TeX} meeting, 12 June 1989, Royal Institute
+ of Technology, Stockholm}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "287--287",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-2-287-2,
+ author = "Anonymous",
+ title = "{{\LaTeX} course book in Dutch}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "287--287",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lammarsch:TB10-2-287,
+ author = "Joachim Lammarsch",
+ title = "{DANTE\Dash Deutschsprachige Anwendervereinigung
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "287--288",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Osborne:TB10-2-288,
+ author = "David Osborne",
+ title = "{Notes on first meeting of UK {\TeX} Users' Group, 15
+ March 1989}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "288--289",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB10-2-289,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "289--289",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-2-290,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "290--290",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-2-M,
+ author = "Anonymous",
+ title = "{TUG Membership List Supplement}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "2",
+ pages = "M-1--M-11",
+ month = jul,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-309,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "309--310",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB10-3-311,
+ author = "Bart Childs",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "311--312",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB10-3-312,
+ author = "Nelson H. F. Beebe",
+ title = "{Message from the new President}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "312--314",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB10-3-314,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "314--316",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB10-3-316,
+ author = "Victor Eijkhout and Nico Poppelier",
+ title = "{The first Dutch {\TeX} days}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "316--318",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB10-3-319,
+ author = "Bart Childs",
+ title = "{Answers to the {\TeX}tests}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "319--323",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Technites:TB10-3-324,
+ author = "Technites",
+ title = "{Crossword}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "324--324",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB10-3-325,
+ author = "Donald E. Knuth",
+ title = "{The new versions of {\TeX} and {\MF}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "325--328",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thull:TB10-3-328,
+ author = "Klaus Thull",
+ title = "{PubliC {\MF} available}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "328--328",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bechtolsheim:TB10-3-329,
+ author = "Stephan von Bechtolsheim",
+ title = "{A {\tt .dvi} file processing program}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "329--332",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vulis:TB10-3-332,
+ author = "Dimitri Vulis",
+ title = "{Notes on Russian {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "332--336",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB10-3-336,
+ author = "Barbara Beeton",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "336--341",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-342,
+ author = "Anonymous",
+ title = "{Erratum: Typesetting Concrete Mathematics, {\TUB}
+ Vol. 10, No. 1}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "342--342",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB10-3-342,
+ author = "Yannis Haralambous",
+ title = "{{\TeX} and latin alphabet languages}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "342--345",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Parker:TB10-3-346,
+ author = "Mike Parker",
+ title = "{Fonts and {\PS}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "346--350",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Larsson:TB10-3-351,
+ author = "Jan Eric Larsson",
+ title = "{A chess font for {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "351--351",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Andulem:TB10-3-352,
+ author = "Abass Andulem",
+ title = "{The road to Ethiopic {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "352--354",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB10-3-354,
+ author = "Yannis Haralambous and Klaus Thull",
+ title = "{Typesetting modern Greek with 128 character codes}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "354--359",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-359,
+ author = "Anonymous",
+ title = "{Erratum: Chess printing via {\MF} and {\TeX}, {\TUB}
+ Vol. 10, No. 2}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "359--359",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hailperin:TB10-3-360,
+ author = "Max Hailperin",
+ title = "{Users' guide to {\tt LaTeX-help}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "360--360",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kean:TB10-3-360,
+ author = "Yin Kean",
+ title = "{{\TeX-Ed}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "360--361",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{DeCorte:TB10-3-362,
+ author = "Michael DeCorte",
+ title = "{The Clarkson archive server\Dash Update as of 22
+ September 1989}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "362--365",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-365,
+ author = "Anonymous",
+ title = "{Coming in January from the {\AMS}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "365--366",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lammarsch:TB10-3-366,
+ author = "Joachim Lammarsch",
+ title = "{TEX EURO}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "366--367",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gaulle:TB10-3-367,
+ author = "Bernard Gaulle",
+ title = "{GUTenberg will distribute {ML\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "367--367",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Glendown:TB10-3-367,
+ author = "Garry Glendown",
+ title = "{A {\TeX} mailbox in Germany}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "367--368",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lindner:TB10-3-368,
+ author = "Stephan Lindner and \rlap{Lutz Birkhahn}",
+ title = "{Towards a complete and comfortable {\TeX} System}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "368--372",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kellerman:TB10-3-372,
+ author = "David Kellerman",
+ title = "{VMS site coordinator's report}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "372--372",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB10-3-373,
+ author = "Alan Hoenig and Mitch Pfeffer",
+ title = "{{\TeX}-{\PS} output on non-{\PS} devices}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "373--375",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Glendown:TB10-3-376,
+ author = "Garry Glendown",
+ title = "{Controlling Amiga{\TeX} from CygnusEd}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "376--377",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whitney:TB10-3-378,
+ author = "Ron Whitney and Barbara Beeton",
+ title = "{{\TUB} authors' guide}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "378--385",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Glendown:TB10-3-385,
+ author = "Garry Glendown",
+ title = "{Round boxes for {\plain} {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "385--387",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rubinstein:TB10-3-387,
+ author = "Zalman Rubinstein",
+ title = "{Printing annotated chess literature in natural
+ notation}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "387--390",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Durst:TB10-3-390,
+ author = "Lincoln Durst",
+ title = "{Bibliographic citations; or variations on the old
+ shell game}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "390--394",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB10-3-394,
+ author = "David Salomon",
+ title = "{Macros for indexing and table-of-contents
+ preparation}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "394--400",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bush:TB10-3-400,
+ author = "Terry Bush",
+ title = "{Scribe-to-\TeX}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "400--400",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB10-3-400,
+ author = "Frank Mittelbach and Rainer Sch{\"o}pf",
+ title = "{Towards {\LaTeX} 2.10}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "400--401",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Braams:TB10-3-401,
+ author = "Johannes Braams and Victor Eijkhout and Nico
+ Poppelier",
+ title = "{The development of national {\LaTeX} styles}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "401--406",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB10-3-407,
+ author = "Frank Mittelbach",
+ title = "{An environment for multicolumn output}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "407--415",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB10-3-416,
+ author = "Frank Mittelbach",
+ title = "{An extension of the {\LaTeX} theorem environment}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "416--426",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dietsche:TB10-3-427,
+ author = "Luzia Dietsche",
+ title = "{Deutsche Kurzfassungen der \TUB-Artikel}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "427--428",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-429,
+ author = "Anonymous",
+ title = "{Calendar and Calls for Papers}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "429--431",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-432,
+ author = "Anonymous",
+ title = "{Programs of the recent TUG and Euro{\TeX}
+ Conferences}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "432--436",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB10-3-437,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "437--437",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-438,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "438--440",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ness:TB10-3-440,
+ author = "David Ness",
+ title = "{Treasurer's report}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "440--443",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-444,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "444--444",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-461,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "461--461",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-3-M,
+ author = "Anonymous",
+ title = "{TUG Membership List Supplement}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "3",
+ pages = "M-1--M-12",
+ month = nov,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB10-4-465,
+ author = "Christina Thiele",
+ title = "{Editor's introduction}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "465--465",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Henderson:TB10-4-467,
+ author = "Doug Henderson",
+ title = "{Introduction to {\MF}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "467--479",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Billawala:TB10-4-481,
+ author = "Neenie Billawala",
+ title = "{Opening Pandora's box}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "481--489",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB10-4-491,
+ author = "Alan Hoenig",
+ title = "{Fractal images with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "491--498",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB10-4-499,
+ author = "Don Hosek",
+ title = "{Design of Oriental characters with {\MF}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "499--502",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Batzinger:TB10-4-503,
+ author = "Bob Batzinger",
+ title = "{Thai languages and {\MF}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "503--503",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hobby:TB10-4-505,
+ author = "John D. Hobby",
+ title = "{A {\MF}-like system with {\PS} output}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "505--512",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Youngen:TB10-4-513,
+ author = "R. E. Youngen and W. B. Woolf and D. C. Latterner",
+ title = "{Migration from Computer Modern fonts to Times
+ fonts}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "513--519",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Conrad:TB10-4-521,
+ author = "Arvin C. Conrad",
+ title = "{Fine typesetting with {\TeX} using native Autologic
+ fonts}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "521--528",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB10-4-529,
+ author = "Donald E. Knuth",
+ title = "{The errors of {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "529--531",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doob:TB10-4-533,
+ author = "Michael Doob",
+ title = "{Of the computer scientist, by the computer scientist,
+ for the computer scientist}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "533--539",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hamilton:TB10-4-541,
+ author = "Hope Hamilton",
+ title = "{Mastering {\TeX} with templates}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "541--548",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoover:TB10-4-549,
+ author = "Anita Z. Hoover",
+ title = "{Using WordPerfect 5.0 to create {\TeX} and {\LaTeX}
+ documents}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "549--559",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kubek:TB10-4-561,
+ author = "Robin L. Kubek",
+ title = "{{\TeX} for the word processing operator}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "561--566",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rattey-Hicks:TB10-4-567,
+ author = "Jo Ann Rattey-Hicks",
+ title = "{{\TeX} and its versatility in office production}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "567--577",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Diaz:TB10-4-579,
+ author = "Max D{\'{\i}}az",
+ title = "{{\TeX} in M\'exico}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "579--593",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haskell:TB10-4-595,
+ author = "James Haskell and Wally Deschene and Alan Stolleis",
+ title = "{{\TeX} for 30,000}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "595--602",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wittbecker:TB10-4-603,
+ author = "Alan E. Wittbecker",
+ title = "{{\TeX} enslaved}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "603--606",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Renfrow:TB10-4-607,
+ author = "J. T. Renfrow",
+ title = "{Methodologies for preparing and integrating {\PS}
+ graphics}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "607--626",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Olejniczak-Burkert:TB10-4-627,
+ author = "Rolf Olejniczak-Burkert",
+ title = "{{\it texpic\/}\Dash Design and implementation of a
+ picture graphics language in {\TeX}\ \`a la {\it
+ pic\/}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "627--637",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Latterner:TB10-4-639,
+ author = "D. C. Latterner and W. B. Woolf",
+ title = "{{\TeX} at {\it Mathematical Reviews\/}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "639--654",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pind:TB10-4-655,
+ author = "J{\"o}rgen L. Pind",
+ title = "{Lexicography with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "655--665",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB10-4-667,
+ author = "Malcolm Clark",
+ title = "{Olde worlde {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "667--674",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Abbott:TB10-4-675,
+ author = "Peter Abbott",
+ title = "{The {UK\TeX} archive at the University of Aston}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "675--680",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB10-4-681,
+ author = "Frank Mittelbach and Rainer Sch{\"o}pf",
+ title = "{With {\LaTeX} into the nineties}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "681--690",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Greene:TB10-4-691,
+ author = "Andrew Marc Greene",
+ title = "{{\TeX}reation\Dash playing games with {\TeX}'s
+ mind}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "691--705",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cheswick:TB10-4-707,
+ author = "Bill Cheswick",
+ title = "{A permuted index for {\TeX} and {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "707--713",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sydoriak:TB10-4-715,
+ author = "Steve Sydoriak",
+ title = "{{\LaTeX} memos and letters}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "715--726",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Benson:TB10-4-727,
+ author = "Gary Benson and Debi Erpenbeck and Janet Holmes",
+ title = "{Inserts in a multiple-column format}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "727--742",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McClure:TB10-4-743,
+ author = "Mary McClure",
+ title = "{{\TeX} Macros for COBOL syntax diagrams}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "743--750",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Riley:TB10-4-751,
+ author = "Don L. Riley and Brad L. Halverson",
+ title = "{Creating an efficient and workable PC interface for
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "751--759",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-4-760,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "760--760",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-4-761,
+ author = "Anonymous",
+ title = "{List of participants at the Stanford meeting (August
+ 20--23, 1989)}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "761--765",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB10-4-765,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "10",
+ number = "4",
+ pages = "765--765",
+ month = dec,
+ year = "1989",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "3--4",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB11-1-5,
+ author = "Nelson H. F. Beebe",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "5--6",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB11-1-6,
+ author = "Bart Childs",
+ title = "{From the past President and Annual Meeting host}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "6--7",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-7,
+ author = "Anonymous",
+ title = "{Donald E. Knuth Scholarship}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "7--8",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ferguson:TB11-1-8,
+ author = "Michael Ferguson",
+ title = "{Coordination of non-English use of {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "8--9",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Breitenlohner:TB11-1-9,
+ author = "Peter Breitenlohner",
+ title = "{Using {\TeX} 3 in a multilingual environment\Dash
+ Some ideas}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "9--12",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-56,
+ author = "Anonymous",
+ title = "{Solution to crossword of {\TUB} vol. 10, no. 3}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "56--56",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-12,
+ author = "Anonymous",
+ title = "{Erratum: The new versions of {\TeX} and {\MF}, {\TUB}
+ vol. 10, no. 3}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "12--12",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB11-1-13,
+ author = "Donald Knuth",
+ title = "{Virtual Fonts: More Fun for Grand Wizards}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "13--23",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kuiken:TB11-1-24,
+ author = "Gerard Kuiken",
+ title = "{Additional Hyphenation Patterns}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "24--25",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB11-1-26,
+ author = "Yannis Haralambous",
+ title = "{Typesetting modern Greek\Dash An update}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "26--26",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pickrell:TB11-1-26,
+ author = "Lee S. Pickrell",
+ title = "{Combining graphics with {\TeX} on IBM PC-compatible
+ systems and LaserJet printers}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "26--31",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-1-32,
+ author = "Barbara Beeton and Ron Whitney",
+ title = "{Summary of resources available to {\TeX} users}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "32--36",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-1-36,
+ author = "Barbara Beeton",
+ title = "{A proto-TUG bibliography}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "36--37",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{DeCorte:TB11-1-38,
+ author = "Michael DeCorte",
+ title = "{The Clarkson archive server\Dash Update as of 26
+ January 1990}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "38--45",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guenther:TB11-1-45,
+ author = "Dean Guenther",
+ title = "{IBM VM/CMS site report}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "45--45",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Brouard:TB11-1-46,
+ author = "Nicolas Brouard",
+ title = "{Une version compl\`ete de {\TeX} du domaine public
+ pour compatibles PC : les ``deux disquettes GUT''}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "46--51",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB11-1-51,
+ author = "Victor Eijkhout",
+ title = "{Unusual Paragraph Shapes}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "51--53",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guenther:TB11-1-54,
+ author = "Dean Guenther",
+ title = "{{\sl{\TeX}T1} goes public domain}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "54--56",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wichura:TB11-1-57,
+ author = "Michael J. Wichura",
+ title = "{Showing-off math macros}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "57--61",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Breitenlohner:TB11-1-62,
+ author = "Peter Breitenlohner",
+ title = "{How to avoid writing long records to {\TeX}'s {\tt\bs
+ write} streams}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "62--62",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Durst:TB11-1-62,
+ author = "Lincoln Durst",
+ title = "{Forward references and the ultimate dirty trick}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "62--68",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB11-1-69,
+ author = "David Salomon",
+ title = "{Output routines: Examples and techniques. Part I:
+ Introduction and examples}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "69--85",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB11-1-85,
+ author = "Jackie Damrau",
+ title = "{The {\LaTeX} column}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "85--86",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB11-1-86,
+ author = "C. G. van der Laan",
+ title = "{Announcing two reports: SGML-{\LaTeX} and Journal
+ style guidelines}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "86--86",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schrod:TB11-1-87,
+ author = "Joachim Schrod",
+ title = "{International {\LaTeX} is ready to use}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "87--90",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB11-1-91,
+ author = "Frank Mittelbach and Rainer Sch{\"o}pf",
+ title = "{The new font family selection\Dash User interface to
+ standard {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "91--97",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB11-1-98,
+ author = "Nico Poppelier and Johannes Braams",
+ title = "{A style option to adapt the standard {\LaTeX}
+ document styles to A4 paper}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "98--103",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kelly:TB11-1-103,
+ author = "B Hamilton Kelly",
+ title = "{Some macros to draw crosswords}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "103--119",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dietsche:TB11-1-120,
+ author = "Luzia Dietsche",
+ title = "{Deutsche Kurzfassungen der {\TUB}-Artikel}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "120--122",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Partl:TB11-1-122,
+ author = "Hubert Partl",
+ title = "{{\TeX}, TUG, and Eastern Europe}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "122--123",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-123,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "123--124",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-125,
+ author = "Anonymous",
+ title = "{GUTenberg'90, 15--17 May 1990, Toulouse, France}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "125--126",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-126,
+ author = "Anonymous",
+ title = "{Call for papers: SGML \& {\TeX} conference, 31 August
+ 1990, Groningen, The Netherlands}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "126--126",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-1-127,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "127--127",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-128,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "128--130",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-131,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "131--131",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-1-148,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "1",
+ pages = "148--148",
+ month = apr,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-2-151,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "151--152",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-2-153,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "153--153",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Barnhart:TB11-2-154,
+ author = "Elizabeth Barnhart",
+ title = "{{\TeX} in the production environment\Dash
+ questionnaire responses}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "154--164",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB11-2-165,
+ author = "Donald Knuth",
+ title = "{Exercises for {\sl\TeX\/{\rm:} The Program}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "165--170",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB11-2-171,
+ author = "Nelson Beebe",
+ title = "{Character set encoding}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "171--175",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bien:TB11-2-175,
+ author = "Janusz S. Bie{\'n}",
+ title = "{On standards for computer modern font extensions}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "175--183",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB11-2-183,
+ author = "Alan Hoenig",
+ title = "{Circular reasoning: typesetting on a circle, and
+ related issues}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "183--190",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berendt:TB11-2-190,
+ author = "Gerhard Berendt",
+ title = "{On the implementation of graphics into {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "190--194",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schwer:TB11-2-194,
+ author = "Len Schwer",
+ title = "{Including Macintosh graphics in {\LaTeX} documents}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "194--200",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pickrell:TB11-2-200,
+ author = "Lee S. Pickrell",
+ title = "{Combining graphics with {\TeX} on PC systems with
+ laser printers, part II}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "200--206",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB11-2-206,
+ author = "Bart Childs",
+ title = "{Data General site report}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "206--206",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lammarsch:TB11-2-207,
+ author = "Joachim Lammarsch",
+ title = "{IBM VM/CMS site report}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "207--207",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-2-207,
+ author = "Barbara Beeton",
+ title = "{Resources available to {\TeX} users}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "207--208",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-2-208,
+ author = "Barbara Beeton",
+ title = "{A proto-TUG bibliography: Installment two}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "208--209",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB11-2-210,
+ author = "Victor Eijkhout",
+ title = "{New books on {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "210--211",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nieland:TB11-2-211,
+ author = "Ted Nieland",
+ title = "{DECUS {\TeX} collection\Dash submissions wanted}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "211--211",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB11-2-212,
+ author = "Alan Hoenig",
+ title = "{{\tt Just plain} Q\&A}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "212--212",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB11-2-212,
+ author = "David Salomon",
+ title = "{Output routines: Examples and techniques. Part II:
+ \otr{} techniques}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "212--236",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jeffrey:TB11-2-237,
+ author = "Alan Jeffrey",
+ title = "{Lists in {\TeX}'s mouth}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "237--245",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB11-2-245,
+ author = "Philip Taylor",
+ title = "{A nestable verbatim mode}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "245--249",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ha:TB11-2-250,
+ author = "Khanh Ha",
+ title = "{Easy Table}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "250--264",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB11-2-265,
+ author = "Kees van der Laan",
+ title = "{Typesetting bridge via {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "265--276",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB11-2-276,
+ author = "Jackie Damrau",
+ title = "{The {\LaTeX} column}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "276--278",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Yap:TB11-2-279,
+ author = "Ken Yap",
+ title = "{Making 35mm colour slides with {\SliTeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "279--280",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Denk:TB11-2-280,
+ author = "Georg Denk",
+ title = "{An easy way to make slides with {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "280--283",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schopf:TB11-2-284,
+ author = "Rainer Sch{\"o}pf",
+ title = "{A new implementation of the {\LaTeX} {\tt verbatim}
+ and {\tt verbatim*} environments}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "284--296",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB11-2-297,
+ author = "Frank Mittelbach and Rainer Sch{\"o}pf",
+ title = "{Reprint: The new font family selection\Dash User
+ interface to standard {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "297--305",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dietsche:TB11-2-305,
+ author = "Luzia Dietsche",
+ title = "{Deutsche Kurzfassungen der {\TUB}-Artikel}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "305--307",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-2-308,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "308--309",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-2-309,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "309--310",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-2-310,
+ author = "Anonymous",
+ title = "{New publications and software available through
+ TUG}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "310--313",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-2-313,
+ author = "Anonymous",
+ title = "{Russians visit TUG headquarters}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "313--313",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-2-314,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "314--316",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-2-317,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "317--317",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-2-M,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "M-10--M-10",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-2-M-2,
+ author = "Anonymous",
+ title = "{TUG Membership List Supplement}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "2",
+ pages = "M-1--M-9",
+ month = jun,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB11-3-335,
+ author = "Nelson Beebe",
+ title = "{President's introduction}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "335--336",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB11-3-337,
+ author = "Frank Mittelbach",
+ title = "{E-{\TeX}: Guidelines for future {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "337--345",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hamano:TB11-3-346,
+ author = "Hisato Hamano",
+ title = "{Vertical typesetting with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "346--352",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Miyabe:TB11-3-353,
+ author = "Yoshiyuki Miyabe and H. Ohta and K. Tsuga",
+ title = "{Structured document preparation system {\sl
+ AutoLayouter}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "353--358",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hendrickson:TB11-3-359,
+ author = "Amy Hendrickson",
+ title = "{Getting {\TeX}nical: Insights into {\TeX} macro
+ writing techniques}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "359--370",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fulling:TB11-3-371,
+ author = "Stephen Alex Fulling",
+ title = "{Where's the Greek shift key?}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "371--372",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beck:TB11-3-373,
+ author = "Micah Beck and A. Siegel",
+ title = "{TransFig: Portable graphics for {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "373--380",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Greene:TB11-3-381,
+ author = "Andrew Marc Greene",
+ title = "{{\BaSiX: An interpreter written in {\TeX}}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "381--392",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibson:TB11-3-393,
+ author = "Helen Gibson",
+ title = "{A noddy's guide to high quality {\TeX} production}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "393--402",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Adams:TB11-3-403,
+ author = "Robert A. Adams",
+ title = "{Problems on the {\TeX}/{\PS}/graphics interface}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "403--408",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bechtolsheim:TB11-3-409,
+ author = "Stephan von Bechtolsheim",
+ title = "{{\TeX} in practice: Comments on a 4-volume, 1400-page
+ series on {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "409--412",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{LaFrenz:TB11-3-413,
+ author = "Mimi L. LaFrenz",
+ title = "{Textbook publishing\Dash 1990 and beyond}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "413--416",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ness:TB11-3-417,
+ author = "David Ness",
+ title = "{Diagnosing {\TeX} errors with a preprocessor}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "417--420",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Williams:TB11-3-421,
+ author = "Linda Williams and Linda Hall",
+ title = "{Increased efficiency using advanced EDT editing
+ features}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "421--424",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Martin:TB11-3-425,
+ author = "Charles R. Martin",
+ title = "{{\TeX} for {\TeX}nical typists}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "425--428",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vulis:TB11-3-429,
+ author = "Michael Vulis",
+ title = "{V{\TeX} enhancements to the {\TeX} language}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "429--434",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB11-3-435,
+ author = "Alan Hoenig",
+ title = "{A constructed D\"urer alphabet}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "435--438",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dietsche:TB11-3-439,
+ author = "Luzia Dietsche",
+ title = "{Deutsche Kurzfassungen der {\TUB}-Artikel}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "439--442",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB11-3-442,
+ author = "Nelson Beebe",
+ title = "{{\TeX} 3.0 and {\MF} 2.0}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "442--443",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB11-3-444,
+ author = "Frank Mittelbach",
+ title = "{{\LaTeX} 2.10}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "444--444",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lammarsch:TB11-3-444,
+ author = "Joachim Lammarsch",
+ title = "{{\smc dante}, Deutschsprachige Anwendervereinigung
+ {\TeX} e.V.}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "444--444",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gaulle:TB11-3-445,
+ author = "Bernard Gaulle",
+ title = "{News from and about GUTenberg}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "445--445",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB11-3-446,
+ author = "Kees van der Laan",
+ title = "{NTG's second year}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "446--447",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Graham:TB11-3-447,
+ author = "Roswitha Graham and Jan Michael Rynning",
+ title = "{Report from the Nordic {\TeX} Users Group}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "447--448",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB11-3-448,
+ author = "Malcolm Clark",
+ title = "{{\TeX} in the UK}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "448--449",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB11-3-450,
+ author = "Malcolm Clark",
+ title = "{{\TeX} in Europe}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "450--451",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Platt:TB11-3-451,
+ author = "Craig Platt",
+ title = "{MVS site report}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "451--451",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kellerman:TB11-3-451,
+ author = "David Kellerman",
+ title = "{VMS site report}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "451--452",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB11-3-452,
+ author = "Bart Childs",
+ title = "{Data General site report}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "452--452",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Crawford:TB11-3-453,
+ author = "John Crawford",
+ title = "{Prime 50 series site report}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "453--453",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB11-3-453,
+ author = "Pierre A. MacKay",
+ title = "{{\UNIX{\TeX} site report}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "453--454",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lammarsch:TB11-3-454,
+ author = "Joachim Lammarsch",
+ title = "{VM/CMS site report}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "454--455",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-3-455,
+ author = "Barbara Beeton",
+ title = "{Report from the question and answer session}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "455--458",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-3-458,
+ author = "Anonymous",
+ title = "{List of participants at the Texas A\&M meeting (June
+ 17--20, 1990)}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "458--461",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-3-462,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "462--462",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-3-463,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "463--465",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-3-466,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "466--466",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-3-479,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "479--479",
+ month = sep,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-483,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "483--484",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB11-4-485,
+ author = "Nelson H. F. Beebe",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "485--487",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-488,
+ author = "Anonymous",
+ title = "{The future of {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "488--488",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB11-4-489,
+ author = "Donald E. Knuth",
+ title = "{The future of {\TeX} and {\MF}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "489--489",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB11-4-490,
+ author = "Nelson H. F. Beebe",
+ title = "{Comments on the future of {\TeX} and {\MF}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "490--494",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-4-494,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "494--496",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB11-4-497,
+ author = "Donald Knuth",
+ title = "{Arthur Lee Samuel, 1901--1990}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "497--498",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB11-4-499,
+ author = "Donald Knuth",
+ title = "{Answers to Exercises for {\sl\TeX\/{\rm:} The
+ Program}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "499--511",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fox:TB11-4-511,
+ author = "Jim Fox",
+ title = "{Webless literate programming}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "511--513",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Stokes:TB11-4-513,
+ author = "Harold T. Stokes",
+ title = "{A {\TeX} previewer for ``slow'' terminals}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "513--514",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ferguson:TB11-4-514,
+ author = "Michael Ferguson",
+ title = "{Report on multilingual activities}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "514--515",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-516,
+ author = "Anonymous",
+ title = "{Extended \TeX{} font encoding scheme\Dash Latin,
+ Cork, September 12, 1990}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "516--516",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berry:TB11-4-517,
+ author = "Karl Berry",
+ title = "{Filenames for fonts}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "517--520",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB11-4-520,
+ author = "Yannis Haralambous",
+ title = "{Arabic, Persian and Ottoman {\TeX} for Mac and PC}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "520--524",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Yanai:TB11-4-525,
+ author = "Shimon Yanai and Daniel M. Berry",
+ title = "{Environment for translating {\MF} to {\PS}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "525--541",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tofsted:TB11-4-542,
+ author = "David Tofsted",
+ title = "{An improved chess font}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "542--544",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB11-4-545,
+ author = "Don Hosek",
+ title = "{{\TeX} output devices (with charts)}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "545--569",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB11-4-570,
+ author = "Don Hosek",
+ title = "{Report from the {\tt DVI} Driver Standards
+ Committee}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "570--570",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-4-570,
+ author = "Barbara Beeton",
+ title = "{Updates from all over}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "570--571",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berry:TB11-4-571,
+ author = "Karl Berry",
+ title = "{\tt eplain}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "571--572",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB11-4-572,
+ author = "Victor Eijkhout",
+ title = "{New Books on {\TeX}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "572--573",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-4-573,
+ author = "Barbara Beeton",
+ title = "{A proto-TUG bibliography: Installment three}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "573--576",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nieland:TB11-4-576,
+ author = "Ted Nieland",
+ title = "{The 1990 DECUS {\TeX} collection}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "576--577",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB11-4-578,
+ author = "Don Hosek",
+ title = "{The {\tt IVRITEX} Mailing List}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "578--578",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lammarsch:TB11-4-578,
+ author = "Joachim Lammarsch",
+ title = "{IBM VM/CMS site report}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "578--578",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Neuwirth:TB11-4-578,
+ author = "Erich Neuwirth",
+ title = "{{\TeX} implementations for IBM PCs: comparative
+ timings}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "578--580",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Durst:TB11-4-580,
+ author = "Lincoln Durst",
+ title = "{Long-winded endnotes and exercises with hints or
+ solutions}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "580--588",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB11-4-588,
+ author = "David Salomon",
+ title = "{Output routines: Examples and techniques. Part III:
+ insertions}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "588--605",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB11-4-605,
+ author = "Victor Eijkhout",
+ title = "{A new editor}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "605--605",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Downes:TB11-4-605,
+ author = "Michael Downes",
+ title = "{Line breaking in {\tt\bs unhbox}ed text}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "605--612",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Maus:TB11-4-612,
+ author = "Sonja Maus",
+ title = "{Looking ahead for a \<box>}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "612--613",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB11-4-613,
+ author = "Victor Eijkhout",
+ title = "{An indentation scheme}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "613--616",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB11-4-616,
+ author = "Victor Eijkhout",
+ title = "{A {\tt\char`\\parskip} scheme}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "616--619",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Whitney:TB11-4-620,
+ author = "Ron Whitney",
+ title = "{Sanitizing control sequences under {\tt\bs write}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "620--622",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lavagnino:TB11-4-623,
+ author = "John Lavagnino and Dominik Wujastyk",
+ title = "{An Overview of {\tt EDMAC:} A {\plain} {\TeX} format
+ for critical editions}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "623--643",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB11-4-644,
+ author = "Jackie Damrau",
+ title = "{The {\LaTeX} column}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "644--644",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Geyer-Schulz:TB11-4-644,
+ author = "Andreas Geyer-Schulz and Josef Matulka and Gustaf
+ Neumann",
+ title = "{A {\LaTeX} document style option for typesetting
+ APL}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "644--651",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Love:TB11-4-652,
+ author = "David Love",
+ title = "{Experiments in {\TeX}nicolour\Dash A {\SliTeX}
+ sub-style for Colour Printers}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "652--656",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB11-4-657,
+ author = "Frank Mittelbach",
+ title = "{Footnotes in a multi-column layout}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "657--662",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dietsche:TB11-4-663,
+ author = "Luzia Dietsche",
+ title = "{Deutsche Kurzfassungen der {\TUB}-Artikel}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "663--665",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Akwai:TB11-4-665,
+ author = "Peter C. Akwai",
+ title = "{{\TeX} drug bug}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "665--665",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-666,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "666--666",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-cover-3,
+ author = "Anonymous",
+ title = "{Call for papers: {\bf TUG Twelfth Annual Meeting},
+ suburban Boston, 15--18 July 1991}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "Cover 3",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-667,
+ author = "Anonymous",
+ title = "{Call for papers: Tenth meeting, DANTE, Vienna, 20--22
+ February 1991}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "667--667",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-667-2,
+ author = "Anonymous",
+ title = "{{\TeX}91/Congres GUTenberg'91, Paris, 23--26
+ September 1991}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "667--667",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-668,
+ author = "Anonymous",
+ title = "{Call for papers: RIDT 91 (raster imaging/digital
+ typography), Boston, \rlap{15--16 October 1991}}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "668--668",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-669,
+ author = "Anonymous",
+ title = "{TUG Bylaws}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "669--676",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-676,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "676--678",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB11-4-679,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "679--679",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-679,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "679--679",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-681,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "681--681",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB11-4-693,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "11",
+ number = "4",
+ pages = "693--693",
+ month = nov,
+ year = "1990",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB12-1-3,
+ author = "Barbara Beeton",
+ title = "{Introduction}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "3--4",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Neuwirth:TB12-1-5,
+ author = "Erich Neuwirth",
+ title = "{Quick and dirty databases with nice output: AWK and
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "5--7",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Detig:TB12-1-8,
+ author = "Christine Detig",
+ title = "{{\TeX} \& hypertext\Dash The future of electronic
+ publishing?}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "8--12",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carr:TB12-1-13,
+ author = "Les Carr and Sebastian Rahtz and Wendy Hall",
+ title = "{Experiments with {\TeX} and hyperactivity}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "13--20",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Braams:TB12-1-21,
+ author = "Johannes Braams and Victor Eijkhout and Nico
+ Poppelier",
+ title = "{The Dutch national {\LaTeX} effort}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "21--24",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB12-1-25,
+ author = "Adrian Clark",
+ title = "{Documenting a {\TeX} archive}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "25--27",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kneser:TB12-1-28,
+ author = "Thomas Kneser",
+ title = "{{\LaTeX}-paragraphs floating around figures}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "28--30",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB12-1-31,
+ author = "Victor Eijkhout",
+ title = "{The document style designer as a separate entity}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "31--34",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB12-1-35,
+ author = "Philip Taylor",
+ title = "{Improving the {\ae}sthetics of mixed-font
+ documents}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "35--44",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wittbecker:TB12-1-45,
+ author = "Alan Wittbecker",
+ title = "{{\archiTeX}, a preliminary international page pattern
+ maker}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "45--57",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sowa:TB12-1-58,
+ author = "Friedhelm Sowa",
+ title = "{Integration of graphics into {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "58--63",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Murphy:TB12-1-64,
+ author = "Timothy Murphy",
+ title = "{PostScript, QuickDraw, {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "64--65",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Maclenan:TB12-1-66,
+ author = "M. P. Maclenan and G. M. Burns",
+ title = "{An approach to drawing circuit diagrams for text
+ books}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "66--69",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nicole:TB12-1-70,
+ author = "Olivier Nicole",
+ title = "{A graphic driver to interface statistical software S
+ and {\PiCTeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "70--73",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB12-1-74,
+ author = "Frank Mittelbach and Rainer Sch{\"o}pf",
+ title = "{Towards {\LaTeX} 3.0}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "74--79",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kelly:TB12-1-80,
+ author = "Brian Hamilton Kelly",
+ title = "{Public-domain, documented implementations of {\TeX}
+ and {\MF} for VAX/VMS}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "80--83",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB12-1-84,
+ author = "Malcolm Clark",
+ title = "{Post congress tristesse}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "84--89",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB12-1-90,
+ author = "Kees van der Laan",
+ title = "{SGML (, {\TeX} and \dots)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "90--104",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB12-1-105,
+ author = "N. A. F. M. Poppelier",
+ title = "{SGML and {\TeX} in scientific publishing}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "105--109",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hendrickson:TB12-1-110,
+ author = "Amy Hendrickson",
+ title = "{Getting {\TeX}nical: Insights into {\TeX} macro
+ writing techniques}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "110--110",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wonneberger:TB12-1-111,
+ author = "Reinhard Wonneberger and Frank Mittelbach",
+ title = "{{\BibTeX{} reconsidered}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "111--124",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB12-1-125,
+ author = "Alan Hoenig",
+ title = "{Labelling figures in {\TeX} documents}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "125--128",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB12-1-129,
+ author = "Yannis Haralambous",
+ title = "{Typesetting old german: Fraktur, Schwabacher, Gotisch
+ and initials}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "129--138",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Searcoid:TB12-1-139,
+ author = "M/iche/al /O Searc/oid",
+ title = "{The Irish alphabet}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "139--148",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Guenther:TB12-1-149,
+ author = "Dean Guenther and Janene Winter",
+ title = "{An international phonetic alphabet}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "149--156",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB12-1-157,
+ author = "Adrian F. Clark",
+ title = "{Practical halftoning with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "157--165",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Barden:TB12-1-166,
+ author = "Angela Barden",
+ title = "{Some {\TeX} manuals}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "166--170",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Neuwirth:TB12-1-171,
+ author = "Konrad Neuwirth",
+ title = "{{\TeX} in schools: Just say no}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "171--174",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-1-175,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "175--175",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-1-176,
+ author = "Anonymous",
+ title = "{Nominations}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "176--176",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vesely:TB12-1-176,
+ author = "Ji\v{r}{\'\i} Vesel{\'y}",
+ title = "{{\TeX} in Czechoslovakia}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "176--177",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sullivan:TB12-1-177,
+ author = "Wayne Sullivan",
+ title = "{sb{\TeX} and sbMF}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "177--177",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Raman:TB12-1-178,
+ author = "T. V. Raman",
+ title = "{{\TeX} TALK}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "178--178",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-1-179,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "179--181",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-1-182,
+ author = "Anonymous",
+ title = "{TUG membership applications}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "182--183",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-1-200,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "1",
+ pages = "200--200",
+ month = mar,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-203,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "203--204",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB12-2-205,
+ author = "Nelson H. F. Beebe",
+ title = "{President's introduction}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "205--208",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB12-2-208,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "208--211",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Obermiller:TB12-2-211,
+ author = "Walter Obermiller",
+ title = "{{\TeX} in Germany}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "211--212",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Malyshev:TB12-2-212,
+ author = "Basil Malyshev and Alexander Samarin and Dimitri
+ Vulis",
+ title = "{Russian {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "212--214",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Krstev:TB12-2-215,
+ author = "Cvetana Krstev",
+ title = "{Serbo-Croatian hyphenation: a {\TeX} point of view}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "215--223",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB12-2-224,
+ author = "Yannis Haralambous",
+ title = "{On {\TeX} and Greek\dots}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "224--226",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jalbert:TB12-2-227,
+ author = "Fran\c{c}ois Jalbert",
+ title = "{{\JemTeX} 2.00 available for Japanese}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "227--227",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jeffrey:TB12-2-227,
+ author = "Alan Jeffrey",
+ title = "{Labelled diagrams in {\MF}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "227--229",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fossmeier:TB12-2-229,
+ author = "Reinhard F{\"o}{\ss}meier",
+ title = "{X bitmaps in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "229--232",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schrod:TB12-2-232,
+ author = "Joachim Schrod",
+ title = "{Report on the {\tt DVI} Driver Standard}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "232--233",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berry:TB12-2-233,
+ author = "Karl Berry and Kathy Hargreaves",
+ title = "{Review of {\it 3\thinspace:\thinspace16 Bible Texts
+ Illuminated}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "233--235",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB12-2-235,
+ author = "Nico Poppelier",
+ title = "{Review of {\it {\LaTeX} for engineers and
+ scientists}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "235--236",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB12-2-237,
+ author = "Alan Hoenig",
+ title = "{{\tt Just plain} Q\&A}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "237--238",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB12-2-238,
+ author = "David Salomon",
+ title = "{The {\tt\bs if}, {\tt\bs fx} and {\tt\bs ifcat}
+ comparisons}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "238--247",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Durst:TB12-2-248,
+ author = "Lincoln Durst",
+ title = "{Some tools for making indexes: Part I}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "248--252",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB12-2-253,
+ author = "Victor Eijkhout",
+ title = "{The structure of the {\TeX} processor}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "253--256",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB12-2-257,
+ author = "Barbara Beeton",
+ title = "{Initiation rites}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "257--258",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB12-2-259,
+ author = "Frank Mittelbach",
+ title = "{Solution to the riddle from \tubissue 11(4)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "259--259",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB12-2-260,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "260--260",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Smet:TB12-2-261,
+ author = "Don De Smet",
+ title = "{{\TeX} macros for producing multiple-choice tests}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "261--269",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hefferon:TB12-2-270,
+ author = "Jim Hefferon",
+ title = "{Getting {\tt\bs answer}s in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "270--272",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB12-2-272,
+ author = "Victor Eijkhout",
+ title = "{Oral {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "272--276",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Maus:TB12-2-277,
+ author = "Sonja Maus",
+ title = "{An expansion power lemma}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "277--277",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Russell:TB12-2-278,
+ author = "George Russell",
+ title = "{Generating {\tt\bs n} asterisks}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "278--279",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vulis:TB12-2-279,
+ author = "Dimitri Vulis",
+ title = "{{\TeX} and envelopes}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "279--284",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB12-2-284,
+ author = "Jackie Damrau",
+ title = "{The {\LaTeX} column}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "284--285",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB12-2-285,
+ author = "Nico Poppelier",
+ title = "{A comment on The {\LaTeX} column}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "285--286",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Swonk:TB12-2-286,
+ author = "Glenn L. Swonk",
+ title = "{{\LaTeX} tree drawer}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "286--289",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thimbleby:TB12-2-290,
+ author = "Harold Thimbleby",
+ title = "{``See also'' indexing with Makeindex}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "290--290",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Braams:TB12-2-291,
+ author = "Johannes Braams",
+ title = "{Babel, a multilingual style-option system for use
+ with {\LaTeX}'s standard document styles}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "291--301",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lankford:TB12-2-302,
+ author = "Jeff Lankford",
+ title = "{Public domain SGML tools wanted}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "302--302",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vesely:TB12-2-302,
+ author = "Ji\v{r}\'{\i} Vesel{\'y}",
+ title = "{Reporting {\TeX}'s hyphenations}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "302--302",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Abrahams:TB12-2-302,
+ author = "Paul Abrahams",
+ title = "{Response to Victor Eijkhout}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "302--303",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB12-2-303,
+ author = "Victor Eijkhout",
+ title = "{Response to Paul Abrahams}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "303--303",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cuoco:TB12-2-303,
+ author = "Al Cuoco",
+ title = "{{\TeX} in schools: Why not?}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "303--304",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-305,
+ author = "Anonymous",
+ title = "{Cahiers GUTenberg \#7 and \#8}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "305--306",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-307,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "307--308",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-309,
+ author = "Anonymous",
+ title = "{{\TeX}91/Congres GUTenberg'91, Paris, 23--26
+ September 1991}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "309--310",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-311,
+ author = "Anonymous",
+ title = "{Desktop Publishing in astronomy and space sciences,
+ Strasbourg, 1--3 October 1991}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "311--311",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-311-2,
+ author = "Anonymous",
+ title = "{Call for papers: EP92: International conference on
+ electronic publishing, document manipulation, and
+ typography, Lausanne, Switzerland, 7--10 April 1992}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "311--312",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB12-2-313,
+ author = "Donald Knuth",
+ title = "{Fixed-point glue setting: Errata}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "313--313",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB12-2-313,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "313--314",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-315,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "315--315",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-315-2,
+ author = "Anonymous",
+ title = "{TUG financial statements}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "315--318",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-319,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "319--320",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-321,
+ author = "Anonymous",
+ title = "{TUG Bylaws}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "321--328",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-331,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "331--331",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-348,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "348--348",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-3,
+ author = "Anonymous",
+ title = "{TUG Membership List}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "3--117",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-118,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "118",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-119,
+ author = "Anonymous",
+ title = "{General comments}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "119--119",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-119-2,
+ author = "Anonymous",
+ title = "{\TUG}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "119--120",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-120,
+ author = "Anonymous",
+ title = "{{\CSTUG{}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "120--120",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-120-2,
+ author = "Anonymous",
+ title = "{CyrTUG}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "120--120",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-120-3,
+ author = "Anonymous",
+ title = "{DANTE e.V.}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "120--121",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-121,
+ author = "Anonymous",
+ title = "{GUTenberg}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "121--122",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-122,
+ author = "Anonymous",
+ title = "{ITALIC}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "122--122",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-122-2,
+ author = "Anonymous",
+ title = "{JTUG\Dash TUG Japan}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "122--122",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-123,
+ author = "Anonymous",
+ title = "{Nordic {\TeX} Group}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "123--123",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-123-2,
+ author = "Anonymous",
+ title = "{NTG}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "123--124",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-124,
+ author = "Anonymous",
+ title = "{\uktug}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "124--124",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-125,
+ author = "Anonymous",
+ title = "{YUNUS -- Turkish {\TeX} users}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "125--125",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-125-2,
+ author = "Anonymous",
+ title = "{Other international contacts}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "125--125",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Barnhart:TB12-2-126,
+ author = "Elizabeth M. Barnhart",
+ title = "{{\TeX} L.U.G.s}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "126",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-127,
+ author = "Anonymous",
+ title = "{Generic format}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "127--128",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-128,
+ author = "Anonymous",
+ title = "{Acorn Archimedes}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "128--128",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-128-2,
+ author = "Anonymous",
+ title = "{Amiga}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "128--128",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-128-3,
+ author = "Anonymous",
+ title = "{Atari ST}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "128--128",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-128-4,
+ author = "Anonymous",
+ title = "{Data General}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "128--128",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-128-5,
+ author = "Anonymous",
+ title = "{DEC-20\Dash TOPS-20}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "128--128",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-128-6,
+ author = "Anonymous",
+ title = "{IBM mainframes\dash MVS}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "128--129",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-129,
+ author = "Anonymous",
+ title = "{IBM mainframes\dash VM/CMS}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "129--129",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-129-2,
+ author = "Anonymous",
+ title = "{IBM PC and compatibles\Dash MS-DOS}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "129--129",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-130,
+ author = "Anonymous",
+ title = "{Macintosh}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "130--130",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-130-2,
+ author = "Anonymous",
+ title = "{Prime}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "130--130",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-130-3,
+ author = "Anonymous",
+ title = "{Unix}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "130--130",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-130-4,
+ author = "Anonymous",
+ title = "{{\VAX/VMS}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "130--131",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nieland:TB12-2-131,
+ author = "Ted Nieland",
+ title = "{Announcing the DECUS {\TeX} Collection, February
+ 1991}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "131--132",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB12-2-133,
+ author = "Don Hosek",
+ title = "{{\TeX} Output Devices}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "133--158",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-159,
+ author = "Anonymous",
+ title = "{General observations}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "159--159",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-160,
+ author = "Anonymous",
+ title = "{Aston \ ({\tt uk.ac.tex})}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "160--160",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-160-2,
+ author = "Anonymous",
+ title = "{Clarkson ({\LaTeX} styles)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "160--160",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-160-3,
+ author = "Anonymous",
+ title = "{{{\tt e-math.ams.com}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "160--160",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-161,
+ author = "Anonymous",
+ title = "{Heidelberg \ ({\tt DHDURZ1.Bitnet})}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "161--161",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-161-2,
+ author = "Anonymous",
+ title = "{{{\tt june.cs.washington.edu}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "161--161",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-161-3,
+ author = "Anonymous",
+ title = "{{{\tt labrea.stanford.edu}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "161--161",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-161-4,
+ author = "Anonymous",
+ title = "{Nijmegen \ ({\tt HEARN.Bitnet})}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "161--161",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-162,
+ author = "Anonymous",
+ title = "{SHSU \ ({\tt niord.shsu.edu}\,, {\tt SHSU.bitnet})}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "162--162",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-162-2,
+ author = "Anonymous",
+ title = "{SPAN/DECnet (Italy)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "162--162",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-162-3,
+ author = "Anonymous",
+ title = "{Stuttgart \ ({\tt rusmv1.rus.uni-stuttgart.de})}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "162--163",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-163,
+ author = "Anonymous",
+ title = "{Utrecht \ ({\tt archive.cs.ruu.nl})}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "163--163",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-163-2,
+ author = "Anonymous",
+ title = "{{{\tt ymir.claremont.edu}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "163--163",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-163-3,
+ author = "Anonymous",
+ title = "{Other archives containing {\TeX} material}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "163--164",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damerell:TB12-2-164,
+ author = "R. M. Damerell",
+ title = "{Fetching files from the Aston archive}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "164--169",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-170,
+ author = "Anonymous",
+ title = "{General comments}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "170--171",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-171,
+ author = "Anonymous",
+ title = "{{{\tt comp.text.tex}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "171--171",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-171-2,
+ author = "Anonymous",
+ title = "{{{\tt ELLHNIKA}} (Greek)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "171--171",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-172,
+ author = "Anonymous",
+ title = "{{{\tt GUT}} (GUTenberg)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "172--172",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-172-2,
+ author = "Anonymous",
+ title = "{{{\tt INFO-TeX}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "172--172",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-172-3,
+ author = "Anonymous",
+ title = "{{{\tt IVRITEX}} (Semitic languages)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "172--172",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-172-4,
+ author = "Anonymous",
+ title = "{{{\tt LaTeX-help}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "172--172",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-173,
+ author = "Anonymous",
+ title = "{{{\tt RUSTeX-L}} (Russian)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "173--173",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-173-2,
+ author = "Anonymous",
+ title = "{{{\tt TeX-D-L}} (German)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "173--173",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-173-3,
+ author = "Anonymous",
+ title = "{{{\tt TeX-EURO}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "173--173",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-173-4,
+ author = "Anonymous",
+ title = "{{{\tt TeXhax}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "173--174",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-174,
+ author = "Anonymous",
+ title = "{{\TeX}MaG}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "174--174",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-174-2,
+ author = "Anonymous",
+ title = "{{{\tt TeX-Pubs}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "174--174",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-174-3,
+ author = "Anonymous",
+ title = "{{{\tt UKTeX}}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "174--175",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-175,
+ author = "Anonymous",
+ title = "{{{\tt TeX-NL}} (Dutch)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "175--175",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-175-2,
+ author = "Anonymous",
+ title = "{{{\tt YUNUS}} (Turkish)}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "175--175",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-176,
+ author = "Anonymous",
+ title = "{Publications about {\TeX} and typography}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "176--183",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-2-183,
+ author = "Anonymous",
+ title = "{Publications prepared with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "2",
+ pages = "183--194",
+ month = jun,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB12-3-351,
+ author = "Nelson H. F. Beebe",
+ title = "{President's introduction}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "351--352",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB12-3-353,
+ author = "Nico A. F. M. Poppelier",
+ title = "{Two sides of the fence}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "353--358",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Petrycki:TB12-3-359,
+ author = "Laurie J. Petrycki",
+ title = "{Comparing {\TeX} and traditional typesetting for the
+ composition of a textbook}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "359--366",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bartlett:TB12-3-367,
+ author = "Frederick H. Bartlett",
+ title = "{Contra-{\LaTeX}, or what really works in the
+ publishing world}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "367--371",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ratner:TB12-3-372,
+ author = "Howard Ratner and Kenneth Dreyhaupt",
+ title = "{{\TeX} in a book production department}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "372--376",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Horn:TB12-3-377,
+ author = "Berthold K. P. Horn",
+ title = "{{\tt dvi} and eps: The ideal author-to-publisher
+ interface?}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "377--381",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Weiss:TB12-3-382,
+ author = "Neil A. Weiss",
+ title = "{Producing a book using {\TeX}: How the process
+ works}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "382--386",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rhoads:TB12-3-387,
+ author = "Samuel E. Rhoads",
+ title = "{Authors new to {\TeX} publish a textbook with a
+ publisher new to {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "387--392",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Brosnan:TB12-3-393,
+ author = "Colleen Brosnan",
+ title = "{The ``Five Cs'': A guide to successful publication
+ using {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "393--396",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoover:TB12-3-397,
+ author = "Anita Z. Hoover",
+ title = "{{\LaTeX}/{\TeX} user: A typist, or typesetter?}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "397--400",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lavagnino:TB12-3-401,
+ author = "John Lavagnino",
+ title = "{Simultaneous electronic and paper publication}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "401--405",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gaffey:TB12-3-406,
+ author = "Robert W. \Mc Gaf\/fey",
+ title = "{SGML versus/and {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "406--408",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dobrowolski:TB12-3-409,
+ author = "Andrew E. Dobrowolski",
+ title = "{Typesetting SGML documents using {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "409--414",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sperberg-McQueen:TB12-3-415,
+ author = "C. M. Sperberg-McQueen",
+ title = "{Specifying document structure: Differences in
+ {\LaTeX} and TEI markup}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "415--421",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kakiuchi:TB12-3-422,
+ author = "Takashi Kakiuchi and Yuki Kusumi and Yoshiyuki Miyabe
+ and Kazu Tsuga",
+ title = "{A structured document preparation system\Dash {\sl
+ Autolayouter version 2.0}\Dash an enhancement for
+ handling multiple document types}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "422--429",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Williams:TB12-3-430,
+ author = "Linda Williams",
+ title = "{Refining a process}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "430--433",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Semenzato:TB12-3-434,
+ author = "Luigi Semenzato and Edward Wang",
+ title = "{A text processing language should be first a
+ programming language}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "434--441",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vulis:TB12-3-442,
+ author = "Michael Vulis",
+ title = "{Should {\TeX} be extended?}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "442--447",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-3-448,
+ author = "Anonymous",
+ title = "{TUG 1992 annual meeting, Portland, Oregon}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "448--448",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-3-449,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "449--450",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-3-451,
+ author = "Anonymous",
+ title = "{TUG membership applications}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "451--452",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-3-453,
+ author = "Anonymous",
+ title = "{{\TeX} consultants}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "453--453",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-3-468,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "3",
+ pages = "468--468",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Horstmann:TB12-4-471,
+ author = "Cay S. Horstmann",
+ title = "{Automatic conversion from a scientific word processor
+ to {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "471--478",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Arnon:TB12-4-479,
+ author = "Dennis S. Arnon and Sandra A. Mamrak",
+ title = "{On the logical structure of mathematical notation}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "479--484",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB12-4-485,
+ author = "Kees van der Laan",
+ title = "{Math into BLUes}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "485--501",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Downes:TB12-4-502,
+ author = "Michael J. Downes",
+ title = "{Dialog with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "502--509",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB12-4-510,
+ author = "Jackie Damrau and Michael Wester",
+ title = "{Form letters with 3-across labels capability}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "510--516",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Roth:TB12-4-517,
+ author = "Mark A. Roth",
+ title = "{Typesetting forms with {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "517--522",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB12-4-523,
+ author = "Peter Flynn",
+ title = "{Developing a pop-up help facility for {\TeX} on
+ PCs}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "523--527",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB12-4-528,
+ author = "Malcolm Clark and Brian Hamilton Kelly and Niel
+ Kempson",
+ title = "{7 bits good, 8 bits bad {\sl or\/} ``The eight-bit
+ blight''}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "528--533",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sowa:TB12-4-534,
+ author = "Friedhelm Sowa",
+ title = "{Bitmaps and halftones with {\ssf BM2FONT}}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "534--538",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB12-4-539,
+ author = "Yannis Haralambous",
+ title = "{{\TeX} and those other languages}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "539--548",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB12-4-549,
+ author = "Don Hosek",
+ title = "{Siamese {\TeX}: Joining dvi files at the hip and
+ other novel applications of vf files}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "549--553",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB12-4-554,
+ author = "Alan Hoenig",
+ title = "{When {\TeX} and {\MF} talk: Typesetting on curved
+ paths and other special effects}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "554--557",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-4-558,
+ author = "Anonymous",
+ title = "{Participants at TUG'91}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "558--561",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-4-562,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "562--563",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-4-563,
+ author = "Anonymous",
+ title = "{The Donald E. Knuth Scholarship for 1992}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "563--564",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-4-564,
+ author = "Anonymous",
+ title = "{GUTenberg'92, Les Diablarets, Switzerland}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "564--565",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-4-570,
+ author = "Anonymous",
+ title = "{TUG 1992 annual meeting, Portland, Oregon}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "570--570",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB12-4-588,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "12",
+ number = "4",
+ pages = "588--588",
+ month = nov,
+ year = "1991",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "3--4",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB13-1-5,
+ author = "Malcolm Clark",
+ title = "{Prez says}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "5--5",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB13-1-6,
+ author = "Nelson H. F. Beebe",
+ title = "{President's introduction}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "6--10",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB13-1-10,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "10--11",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-11,
+ author = "Anonymous",
+ title = "{Samuel B. Whidden, 1930--1991}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "11--12",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Asher:TB13-1-13,
+ author = "Graham Asher",
+ title = "{Inside Type \& Set}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "13--22",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB13-1-23,
+ author = "Claudio Beccari",
+ title = "{Computer Aided Hyphenation for Italian and Modern
+ Latin}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "23--33",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB13-1-34,
+ author = "Sebastian Rahtz",
+ title = "{Invisibility using virtual fonts}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "34--36",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thain:TB13-1-36,
+ author = "Toby Thain",
+ title = "{Packing {\MF}s into {\PS}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "36--38",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mylonas:TB13-1-39,
+ author = "C. Mylonas and R. Whitney",
+ title = "{Modern Greek with adjunct fonts}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "39--50",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB13-1-51,
+ author = "Frank Mittelbach",
+ title = "{Comments on ``Filenames for Fonts'' ({\TUB} 11\#4)}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "51--53",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Committee:TB13-1-54,
+ author = "TUG {\sltt DVI} Driver Standards Committee",
+ title = "{{\tt DVI} driver standard, level 0}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "54--57",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-1-57,
+ author = "Victor Eijkhout",
+ title = "{New books on {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "57--58",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB13-1-58,
+ author = "Nico Poppelier",
+ title = "{New books on {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "58--59",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB13-1-60,
+ author = "Alan Hoenig",
+ title = "{{\tt Just plain} Q\&A: Of partitioned matrices and
+ doublespacing}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "60--62",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Siebenmann:TB13-1-62,
+ author = "L. Siebenmann",
+ title = "{Elementary text processing and parsing in {\TeX}
+ {\it--- the appreciation of tokens ---}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "62--73",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-1-74,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "74--74",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-1-75,
+ author = "Victor Eijkhout",
+ title = "{Erratum: Oral {\TeX}, \tubissue 12(2), pp.\
+ 272--276}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "75--75",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB13-1-75,
+ author = "Jonathan Fine",
+ title = "{Some basic control macros for {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "75--83",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-1-84,
+ author = "Victor Eijkhout and Ron Sommeling",
+ title = "{Self-replicating macros}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "84--84",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tutelaers:TB13-1-85,
+ author = "Piet Tutelaers",
+ title = "{A font and a style for typesetting chess using
+ {\LaTeX} or {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "85--90",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB13-1-91,
+ author = "Kees van der Laan",
+ title = "{Tower of Hanoi, revisited}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "91--94",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB13-1-94,
+ author = "Jackie Damrau",
+ title = "{The {\LaTeX} column}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "94--95",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thimbleby:TB13-1-95,
+ author = "Harold Thimbleby",
+ title = "{Erratum: ``See also'' indexing with Makeindex,
+ \tubissue 12(2), p.\ 290}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "95--95",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB13-1-96,
+ author = "Frank Mittelbach and Chris Rowley",
+ title = "{{\LaTeX} 2.09 $\hookrightarrow$ {\LaTeX}3}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "96--101",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-101,
+ author = "Anonymous",
+ title = "{Cahiers GUTenberg \#9 and \#10--11}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "101--105",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-106,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "106--107",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-107,
+ author = "Anonymous",
+ title = "{Euro{\TeX}\,92, Prague, 14--18 September 1992}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "107--108",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB13-1-108,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "108--109",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-109,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "109--109",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-110,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "110--111",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-112,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "112--112",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-126,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "126--126",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-1-127,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "1",
+ pages = "127--127",
+ month = apr,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-2-131,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "131--132",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB13-2-133,
+ author = "Malcolm Clark",
+ title = "{Changing {\TeX}?}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "133--134",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB13-2-134,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "134--137",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-2-137,
+ author = "Anonymous",
+ title = "{TUG seeks Executive Director}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "137--137",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB13-2-138,
+ author = "Philip Taylor",
+ title = "{{\TeX}: The next generation}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "138--138",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damerell:TB13-2-139,
+ author = "R. M. Damerell",
+ title = "{Knuth's profiler adapted to the VMS operating
+ system}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "139--145",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB13-2-146,
+ author = "David Salomon",
+ title = "{Arrows for Technical Drawings}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "146--149",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Levin:TB13-2-150,
+ author = "Daniel Levin",
+ title = "{A solution to the color separation problem}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "150--155",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB13-2-156,
+ author = "Sebastian Rahtz and Leonor Barroca",
+ title = "{A style option for rotated objects in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "156--180",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Luvisetto:TB13-2-181,
+ author = "Marisa Luvisetto and Massimo Calvani",
+ title = "{Book review: An Italian guide to {\LaTeX} (by Claudio
+ Beccari)}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "181--182",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB13-2-182,
+ author = "Nico Poppelier",
+ title = "{Book reviews: Jane Hahn, {\it {\LaTeX} for
+ Everyone\/}; Eric van Herwijnen, {\it Practical
+ SGML\/}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "182--185",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB13-2-185,
+ author = "Philip Taylor",
+ title = "{Book review: Victor Eijkhout, {\it {\TeX} by
+ Topic\/}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "185--188",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jones:TB13-2-188,
+ author = "David M. Jones",
+ title = "{A {\TeX} macro index}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "188--189",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-2-189,
+ author = "Victor Eijkhout",
+ title = "{Names of control sequences}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "189--190",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB13-2-190,
+ author = "Frank Mittelbach",
+ title = "{Where does this character come from?}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "190--190",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-2-191,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "191--191",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Huszar:TB13-2-192,
+ author = "P{\'e}ter Husz{\'a}r",
+ title = "{Over the multi-column}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "192--200",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB13-2-201,
+ author = "Michel Goossens and Eric van Herwijnen",
+ title = "{The elementary Particle Entity Notation (PEN)
+ scheme}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "201--207",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Luvisetto:TB13-2-208,
+ author = "Maria Luisa Luvisetto and Enzo Ugolini",
+ title = "{From {\TeX} to {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "208--214",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cameron:TB13-2-215,
+ author = "Peter J. Cameron",
+ title = "{Geometric diagrams in {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "215--216",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Partl:TB13-2-217,
+ author = "Hubert Partl",
+ title = "{How to change the layout with {\LaTeX} 2.09}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "217--220",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wonneberger:TB13-2-221,
+ author = "Reinhard Wonneberger and Frank Mittelbach",
+ title = "{SGML\Dash Questions and answers}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "221--223",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Barr:TB13-2-223,
+ author = "Michael Barr",
+ title = "{{\TeX} wish list}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "223--226",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wonneberger:TB13-2-226,
+ author = "Reinhard Wonneberger",
+ title = "{Approaching SGML from {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "226--227",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-2-227,
+ author = "Anonymous",
+ title = "{Cahiers GUTenberg \#12}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "227--228",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-2-228,
+ author = "Anonymous",
+ title = "{Baskerville, Volume 2, Number 1, March 1992}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "228--229",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB13-2-229,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "229--230",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-2-230,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "230--230",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-2-231,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "231--232",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-2-232,
+ author = "Anonymous",
+ title = "{Euro{\TeX}\,92, Prague, 14--18 September 1992}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "232--233",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-2-235,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "235--236",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-2-247,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "2",
+ pages = "247--247",
+ month = jul,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB13-3-251,
+ author = "Malcolm Clark",
+ title = "{President's introduction}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "251--252",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB13-3-253,
+ author = "Malcolm Clark",
+ title = "{Portable graphics in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "253--260",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB13-3-261,
+ author = "Bart Childs",
+ title = "{Literate programming, a practitioner's view}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "261--268",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hampson:TB13-3-269,
+ author = "Steve Hampson and Barry Smith",
+ title = "{A high performance {\TeX} for the Motorola 68000
+ processor family}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "269--271",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Baldwin:TB13-3-272,
+ author = "Harry L. {Baldwin, Jr.}",
+ title = "{Using a high-level language as an aid in writing
+ {\TeX} documents}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "272--280",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bennett:TB13-3-281,
+ author = "Larry F. Bennett",
+ title = "{T-EDIT, a collection of editing macros for {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "281--290",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gaffey:TB13-3-291,
+ author = "Robert \Mc Gaffey",
+ title = "{Automatic tables using {\SMC SGML}, {\SMC C}, and
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "291--294",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Starks:TB13-3-295,
+ author = "Anthony J. Starks",
+ title = "{Dotex\Dash integrating {\TeX} into the X-window
+ system}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "295--303",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thorup:TB13-3-304,
+ author = "Kresten Krab Thorup",
+ title = "{GNU emacs as a front end to {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "304--308",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB13-3-309,
+ author = "Walter van der Laan and Johannes Braams",
+ title = "{Writing reports with more than a hundred people}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "309--314",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Damrau:TB13-3-315,
+ author = "Jackie Damrau",
+ title = "{Discovering graphics in {\LaTeX} documents}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "315--321",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Harris:TB13-3-322,
+ author = "Robert L. Harris",
+ title = "{Preparing halftones for use in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "322--326",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB13-3-327,
+ author = "David Salomon",
+ title = "{Creating shaded rectangles with {\PS}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "327--329",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Weiss:TB13-3-330,
+ author = "Neil A. Weiss",
+ title = "{Creation and incorporation of {\PS} graphics with
+ {\TeX}-formatted labels into {\TeX} documents}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "330--334",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuutila:TB13-3-335,
+ author = "Timo Knuutila",
+ title = "{How to combine multiple languages, {\PS}, and
+ {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "335--340",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-3-341,
+ author = "Victor Eijkhout",
+ title = "{Just give me a lollipop (it makes my heart go
+ giddy-up)}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "341--346",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hafner:TB13-3-347,
+ author = "James L. Hafner",
+ title = "{Foil{\TeX}, a {\LaTeX}-like system for typesetting
+ foils}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "347--356",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Abbott:TB13-3-357,
+ author = "Peter Abbott",
+ title = "{Typesetting a magazine the easy way}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "357--361",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB13-3-362,
+ author = "Mimi Burbank and Donna Burnette",
+ title = "{Using {\TeX} for a publications database}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "362--371",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Raman:TB13-3-372,
+ author = "T. V. Raman",
+ title = "{An audio view of ({\La}){\TeX} documents}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "372--379",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Arnon:TB13-3-380,
+ author = "Dennis S. Arnon and Isabelle Attali and Paul
+ Franchi-Zannettacci",
+ title = "{Model-based conversions of {\LaTeX} documents}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "380--389",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rowley:TB13-3-390,
+ author = "Chris Rowley",
+ title = "{{\LaTeX}3 update}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "390--391",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-3-391,
+ author = "Anonymous",
+ title = "{Workshops}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "391--392",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-3-393,
+ author = "Anonymous",
+ title = "{Participants at the 1992 TUG Meeting}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "393--394",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-3-395,
+ author = "Anonymous",
+ title = "{The Donald E. Knuth Scholarship for 1992 and 1993}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "395--396",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-3-396,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "396--397",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-3-398,
+ author = "Anonymous",
+ title = "{TUG 1993 annual meeting, Aston University, UK}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "398--398",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-3-399,
+ author = "Anonymous",
+ title = "{TUG 1993 course schedule}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "399--399",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-3-400,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "400--401",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-3-402,
+ author = "Anonymous",
+ title = "{Consultants}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "402--402",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-3-411,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "3",
+ pages = "411--411",
+ month = oct,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-415,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "415--416",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB13-4-417,
+ author = "Malcolm Clark",
+ title = "{The back benches beckon}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "417--418",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB13-4-418,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "418--419",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-419,
+ author = "Anonymous",
+ title = "{An interview with Donald Knuth, November 1991}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "419--425",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Palais:TB13-4-425,
+ author = "Richard Palais",
+ title = "{Moving a fixed point}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "425--432",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB13-4-433,
+ author = "Philip Taylor",
+ title = "{The future of {\TeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "433--442",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kelly:TB13-4-443,
+ author = "Nickolas J. Kelly and Christian H. Bischof",
+ title = "{XBib{\TeX} and friends}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "443--446",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Chapman:TB13-4-447,
+ author = "Nigel Chapman",
+ title = "{Searching in a DVI file}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "447--451",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-452,
+ author = "Anonymous",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "452--457",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB13-4-457,
+ author = "Bart Childs",
+ title = "{Errata: Literate Programming, A Practitioner's View,
+ \tubissue 13(3), pp.\ 261--268}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "457--457",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB13-4-457,
+ author = "Yannis Haralambous",
+ title = "{Hyphenation patterns for ancient Greek and Latin}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "457--469",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zubrinic:TB13-4-470,
+ author = "Darko \v{Z}ubrini{\'c}",
+ title = "{The exotic Croatian Glagolitic alphabet}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "470--471",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sauter:TB13-4-472,
+ author = "John Sauter",
+ title = "{Postnet codes using {\MF}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "472--476",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB13-4-476,
+ author = "Yannis Haralambous",
+ title = "{A {\tt typewriter} font for the Macintosh 8-bit font
+ table}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "476--477",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB13-4-477,
+ author = "Sebastian Rahtz and Leonor Barroca",
+ title = "{Addendum: A style option for rotated objects in
+ {\TeX} (\tubissue 13(2), pp. 156--180)}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "477--477",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Seyfarth:TB13-4-478,
+ author = "Ray Seyfarth",
+ title = "{Diag: a drawing preprocessor for {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "478--485",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-4-486,
+ author = "Victor Eijkhout",
+ title = "{Wynter Snow, {\it {\TeX} for the Beginner}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "486--487",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Greenwade:TB13-4-487,
+ author = "George Greenwade",
+ title = "{Arvind Borde, {\it {\TeX} by Example}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "487--489",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cameron:TB13-4-489,
+ author = "A. G. W. Cameron",
+ title = "{Andr\'e Heck, ed., {\it Desktop Publishing in
+ Astronomy \& Space Sciences}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "489--490",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Neuwirth:TB13-4-490,
+ author = "Erich Neuwirth",
+ title = "{{\TeX} implementations for IBM PCs: comparative
+ timings}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "490--492",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB13-4-493,
+ author = "Frank Mittelbach",
+ title = "{Where does this character come from? Solution to the
+ puzzle, \tubissue 13(2), p.190}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "493--493",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-4-494,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "494--495",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB13-4-495,
+ author = "Jonathan Fine",
+ title = "{Too many errors}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "495--496",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB13-4-496,
+ author = "Victor Eijkhout",
+ title = "{One error less}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "496--497",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anagnostopoulos:TB13-4-497,
+ author = "Paul Anagnostopoulos",
+ title = "{Zz{\TeX}: A macro package for books}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "497--505",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB13-4-505,
+ author = "Jonathan Fine",
+ title = "{The {\tt\char`\\noname} macros\Dash A technical
+ report}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "505--509",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB13-4-510,
+ author = "Frank Mittelbach and Chris Rowley and Michael Downes",
+ title = "{Volunteer work for the {\LaTeX}3 project}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "510--515",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Piff:TB13-4-516,
+ author = "Mike Piff",
+ title = "{Correction sheets in {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "516--518",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Piff:TB13-4-518,
+ author = "Mike Piff",
+ title = "{Text merges in {\TeX} and {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "518--523",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB13-4-524,
+ author = "Sebastian Rahtz",
+ title = "{A style file for printing sheets of labels}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "524--528",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-528,
+ author = "Anonymous",
+ title = "{Cahiers GUTenberg \#13}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "528--529",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-530,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "530--532",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-532,
+ author = "Anonymous",
+ title = "{Call for Papers: Special Issue of {\it Electronic
+ Publishing: Origination, Dissemination and Design\/} on
+ Active Documents}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "532--532",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB13-4-533,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "533--533",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-534,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "534--534",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-534-2,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "534--536",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-537,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "537--538",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-536,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "536--536",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB13-4-544,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "13",
+ number = "4",
+ pages = "544--544",
+ month = dec,
+ year = "1992",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "3--4",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB14-1-5,
+ author = "Christina Thiele",
+ title = "{Opening words}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "5--6",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB14-1-7,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "7--7",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wong:TB14-1-8,
+ author = "Wai Wong",
+ title = "{Typesetting Chinese {\it pinyin} using virtual
+ fonts}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "8--11",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vesilo:TB14-1-12,
+ author = "R. A. Vesilo and A. Dunn",
+ title = "{A multimedia document system based on {\TeX} and DVI
+ documents}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "12--16",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB14-1-17,
+ author = "Philip Taylor",
+ title = "{Arvind Borde, {\it Mathematical {\TeX} by Example}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "17--20",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Radel:TB14-1-20,
+ author = "Jon Radel",
+ title = "{Michael Vulis, {\it Modern {\TeX} and Its
+ Applications}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "20--23",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB14-1-23,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "23--24",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Comenetz:TB14-1-25,
+ author = "Daniel Comenetz",
+ title = "{Anchored figures at either margin}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "25--34",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB14-1-35,
+ author = "Jonathan Fine",
+ title = "{The {\tt\char`\\CASE} and {\tt\char`\\FIND} macros}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "35--39",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Saludes:TB14-1-40,
+ author = "Jordi Saludes",
+ title = "{Doing astronomical computations with {\TeX}: Making
+ agendas}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "40--53",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB14-1-54,
+ author = "Kees van der Laan",
+ title = "{FIFO and LIFO sing the BLUes}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "54--60",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Braams:TB14-1-60,
+ author = "Johannes Braams",
+ title = "{An update on the {\sf babel} system}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "60--62",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zbikowski:1993:HGA,
+ author = "Rafa{\l} \.Zbikowski",
+ title = "{Hacker's Guide to {\AmS}Fonts and NFSS in the Context
+ of {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "62--69",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Heck:TB14-1-70,
+ author = "Andr{\'e} Heck",
+ title = "{Response to A.G.W. Cameron}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "70--70",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-1-71,
+ author = "Anonymous",
+ title = "{Die {\TeX}nische Kom\"odie 1992, Heft 1--4}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "71--76",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-1-77,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "77--79",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-1-79,
+ author = "Anonymous",
+ title = "{Courses to be held in conjunction with TUG\,93 (Aston
+ University, Birmingham, U.K., 26--30 July 1993)}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "79--79",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB14-1-81,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "81--81",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-1-81,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "81--82",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-1-83,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "83--84",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-1-85,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "85--86",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-1-82,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "82--82",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-1-87,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "1",
+ pages = "87--87",
+ month = apr,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-2-95,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "95--96",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB14-2-97,
+ author = "Christina Thiele",
+ title = "{Opening words}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "97--98",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB14-2-99,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "99--101",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB14-2-102,
+ author = "Nico Poppelier",
+ title = "{The Donald E. Knuth Scholarship: 1993 Scholar and
+ 1994 announcement}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "102--103",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-2-103,
+ author = "Anonymous",
+ title = "{The A-in-{\LaTeX} Contest: Deadline extended}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "103--103",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knappen:TB14-2-104,
+ author = "J{\"o}rg Knappen",
+ title = "{Fonts for Africa: the fc-fonts}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "104--106",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB14-2-107,
+ author = "Sebastian Rahtz",
+ title = "{Implementing the extended {\TeX} layout using PS
+ fonts}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "107--117",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cohen:TB14-2-118,
+ author = "Michael Cohen",
+ title = "{Zebrackets: a pseudo-dynamic contextually adaptive
+ font}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "118--122",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jurriens:TB14-2-123,
+ author = "Theo Jurriens",
+ title = "{From observation to publication}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "123--126",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB14-2-127,
+ author = "Nico Poppelier",
+ title = "{Review of recent {\LaTeX} books}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "127--128",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Collins:TB14-2-128,
+ author = "John Collins",
+ title = "{ET\Dash a {\TeX}-compatible editor for MSDOS
+ computers}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "128--131",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB14-2-132,
+ author = "Sebastian Rahtz",
+ title = "{Essential NFSS2}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "132--137",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB14-2-138,
+ author = "Philip Taylor",
+ title = "{A pragmatic approach to paragraphs}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "138--140",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Durst:TB14-2-141,
+ author = "Lincoln Durst",
+ title = "{Truth in indexing}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "141--141",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB14-2-141,
+ author = "Philip Taylor",
+ title = "{Letterspacing in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "141--145",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-2-146,
+ author = "Anonymous",
+ title = "{Cahiers GUTenberg \#15}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "146--146",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-2-147,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "147--148",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB14-2-149,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "149--149",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-2-149,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "149--149",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-2-150,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "150--151",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-2-148,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "148--148",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-2-152,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "2",
+ pages = "152--152",
+ month = jul,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB14-3-162,
+ author = "Christina A. L. Thiele",
+ title = "{The future of {\TeX} and TUG}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "162--166",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lammarsch:TB14-3-167,
+ author = "Joachim Lammarsch",
+ title = "{A new typesetting system: is it really necessary?}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "167--170",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rycko:TB14-3-171,
+ author = "Marek Ry{\'c}ko and Bogus{\l}aw Jackowski",
+ title = "{{\TeX} from {\tt\bs indent} to {\tt\bs par}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "171--176",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB14-3-177,
+ author = "Philip Taylor",
+ title = "{NTS: the future of {\TeX}?}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "177--182",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hunter:TB14-3-183,
+ author = "Roger Hunter",
+ title = "{A future for {\TeX}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "183--186",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bennett:TB14-3-187,
+ author = "Frank G. {Bennett, Jr.}",
+ title = "{{\LexiTeX}: context-sensitive legal citations for
+ {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "187--195",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taupin:TB14-3-196,
+ author = "Daniel Taupin",
+ title = "{Using {\TeX} and {\slMF} to build complicated maps}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "196--202",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taupin:TB14-3-203,
+ author = "Daniel Taupin",
+ title = "{Music{\TeX}: Using {\TeX} to write polyphonic or
+ instrumental music}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "203--211",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Siebenmann:TB14-3-212,
+ author = "Laurent Siebenmann",
+ title = "{A format compilation framework for European
+ languages}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "212--221",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB14-3-222,
+ author = "Nelson Beebe",
+ title = "{Bibliography prettyprinting and syntax checking}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "222--222",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bryan:TB14-3-223,
+ author = "Martin Bryan",
+ title = "{A {\TeX} user's guide to ISO's Document Style
+ Semantics and Specification Language (DSSSL)}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "223--226",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB14-3-227,
+ author = "Peter Flynn",
+ title = "{{\TeX} and SGML: a recipe for disaster?}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "227--230",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wang:TB14-3-231,
+ author = "Xinxin Wang and Derick Wood",
+ title = "{An abstract model for tables}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "231--237",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lavaud:TB14-3-238,
+ author = "Michel Lavaud",
+ title = "{Developing a multi-windowing environment for research
+ based on \TeX}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "238--244",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kawaguti:TB14-3-245,
+ author = "Minato Kawaguti",
+ title = "{A versatile {\TeX} device driver}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "245--251",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Feruglio:TB14-3-252,
+ author = "Gabriel Valiente Feruglio and Robert Fuster",
+ title = "{Typesetting Catalan texts with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "252--259",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB14-3-260,
+ author = "Yannis Haralambous",
+ title = "{The Khmer script tamed by the Lion (of {\TeX})}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "260--270",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plaice:TB14-3-271,
+ author = "John Plaice",
+ title = "{Language-dependent ligatures}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "271--274",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doob:TB14-3-275,
+ author = "Michael Doob and Craig Platt",
+ title = "{Virtual fonts in a production environment}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "275--281",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Horn:TB14-3-282,
+ author = "Berthold K. P. Horn",
+ title = "{Where are the math fonts?}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "282--284",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jeffrey:TB14-3-285,
+ author = "Alan Jeffrey",
+ title = "{A {\PS} font installation package written in
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "285--292",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jeffrey:TB14-3-293,
+ author = "(edited by Alan Jeffrey)",
+ title = "{Math font encodings: a workshop summary}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "293--295",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bzyl:TB14-3-296,
+ author = "W{\l}odek Bzyl and Tomasz Przechlewski",
+ title = "{An application of literate programming: creating a
+ format for the Bulletin of the Polish TUG}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "296--299",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB14-3-300,
+ author = "Jonathan Fine",
+ title = "{Galleys, space, and automata}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "300--309",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB14-3-310,
+ author = "Kees van der Laan",
+ title = "{Syntactic sugar}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "310--318",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB14-3-319,
+ author = "Kees van der Laan",
+ title = "{Sorting within {\TeX}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "319--328",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dyson:TB14-3-329,
+ author = "Mary Dyson",
+ title = "{Teaching digital typography\Dash the Didot Project}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "329--332",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gorbunova:TB14-3-333,
+ author = "Irina V. Gorbunova",
+ title = "{Russian-speaking user: from Chi-Writer and Ventura
+ Publisher to {\TeX}; learning difficulties}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "333--334",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Reese:TB14-3-335,
+ author = "R. Allan Reese",
+ title = "{How to set up and maintain a {\TeX} system}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "335--341",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Greenwade:TB14-3-342,
+ author = "George D. Greenwade",
+ title = "{The Comprehensive {\TeX} Archive Network (CTAN)}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "342--351",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-3-352,
+ author = "Anonymous",
+ title = "{Participants at the 1993 TUG meeting}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "352--355",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-3-356,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "356--357",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-3-358,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "358--359",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-3-360,
+ author = "Anonymous",
+ title = "{TUG 1994 annual meeting, Santa Barbara, USA}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "360--360",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-3-361,
+ author = "Anonymous",
+ title = "{TUG individual membership application}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "361--361",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-3-362,
+ author = "Anonymous",
+ title = "{TUG institutional membership application}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "362--362",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-3-359,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "359--359",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-3-363,
+ author = "Anonymous",
+ title = "{Consultants}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "3",
+ pages = "363--363",
+ month = oct,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-4-369,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "369--370",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB14-4-371,
+ author = "Christina Thiele",
+ title = "{Opening words}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "371--371",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB14-4-372,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "372--373",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-4-373,
+ author = "Anonymous",
+ title = "{{\TUB} wish list}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "373--373",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB14-4-374,
+ author = "Malcolm Clark",
+ title = "{{\NexTeX}: A personal view}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "374--380",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB14-4-381,
+ author = "Philip Taylor",
+ title = "{NTS update}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "381--382",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Becker:TB14-4-382,
+ author = "Thomas Becker",
+ title = "{Two extensions to GNU Emacs that are useful when
+ editing {\TeX} documents}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "382--386",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB14-4-387,
+ author = "Donald E. Knuth",
+ title = "{Icons for {\TeX} and {\MF}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "387--389",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Liebl:TB14-4-390,
+ author = "Armin Liebl",
+ title = "{bibview: A graphical user interface to {\BibTeX}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "390--395",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB14-4-395,
+ author = "Nelson Beebe",
+ title = "{Bibliography prettyprinting and syntax checking}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "395--419",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carmody:TB14-4-420,
+ author = "Kevin Carmody",
+ title = "{A tough table becomes easy with {\PiCTeX}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "420--420",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB14-4-421,
+ author = "Claudio Beccari",
+ title = "{Book Review: P. W. Abrahams, K. Berry and K.
+ Hargreaves, {\it {\TeX} per l'impaziente}}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "421--422",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Aslaksen:TB14-4-423,
+ author = "Helmer Aslaksen",
+ title = "{Ten {\TeX} tricks for the mathematician}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "423--424",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB14-4-424,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "424--424",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rhead:TB14-4-425,
+ author = "David Rhead",
+ title = "{The ``operational requirement'' for support of
+ bibliographies}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "425--433",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bland:TB14-4-433,
+ author = "Richard Bland",
+ title = "{Relative moves in {\LaTeX}\ pictures}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "433--437",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-4-438,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "438--439",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB14-4-439,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "439--439",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-4-440,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "440--440",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-4-441,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "441--442",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-4-443,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "443--444",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-4-442,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "442--442",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB14-4-445,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "14",
+ number = "4",
+ pages = "445--445",
+ month = dec,
+ year = "1993",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "3--4",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB15-1-5,
+ author = "Christina Thiele",
+ title = "{Opening words}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "5--6",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB15-1-6,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "6--7",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Arseneau:TB15-1-7,
+ author = "Donald Arseneau and Raymond Chen and Victor Eijkhout",
+ title = "{The {\TeX} hierarchy}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "7--9",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB15-1-9,
+ author = "Claudio Beccari",
+ title = "{Typesetting of ancient languages}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "9--16",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB15-1-17,
+ author = "Claudio Beccari",
+ title = "{Comments on the paper ``{Typesetting Catalan} texts
+ with {\TeX}'' ({\tubissue 14(3)}, pp. 252--259)}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "17--17",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Feruglio:TB15-1-17,
+ author = "Gabriel Valiente Feruglio and Robert Fuster",
+ title = "{Comments on the comments: {Typesetting Catalan} texts
+ with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "17--18",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB15-1-18,
+ author = "Nico Poppelier",
+ title = "{{George Gr\"atzer}, {\it Math into {\TeX}}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "18--19",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pappas:TB15-1-19,
+ author = "T. L. (Frank) Pappas",
+ title = "{{Stephan von Bechtolsheim}, {\it {\TeX} in
+ Practice}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "19--21",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB15-1-21,
+ author = "Claudio Beccari",
+ title = "{{Gianni Gilardi}, {\it Il {\TeX}\dash {Introduzione}
+ al linguaggio e complementi avanzati}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "21--22",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sawdey:TB15-1-22,
+ author = "Merry Obrecht Sawdey",
+ title = "{{Erik Spiekermann} \& {E. M. Ginger}, {\it Stop
+ Stealing Sheep}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "22--24",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Poppelier:TB15-1-24,
+ author = "Nico Poppelier",
+ title = "{{Eric van Herwijnen}, {\it Practical SGML}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "24--25",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Detig:TB15-1-25,
+ author = "Christine Detig and Joachim Schrod",
+ title = "{{Donald E. Knuth}, {\it Literate Programming}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "25--27",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB15-1-28,
+ author = "David Salomon",
+ title = "{Output routines: {Examples} and techniques, {Part
+ IV}: {Horizontal} techniques}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "28--40",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB15-1-40,
+ author = "David Salomon",
+ title = "{Verbatim copying and listing}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "40--54",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB15-1-55,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "55--57",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Meer:TB15-1-57,
+ author = "Hans van der Meer",
+ title = "{Random bit generator in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "57--58",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Salomon:TB15-1-59,
+ author = "David Salomon and Matthew N. Hendryx",
+ title = "{Slanted lines with controlled thickness}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "59--62",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB15-1-62,
+ author = "Jonathan Fine",
+ title = "{On indexing and errors}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "62--62",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rowley:TB15-1-63,
+ author = "Chris Rowley",
+ title = "{{\LaTeXe} update, dateline: 31 {January} 1994}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "63",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rhead:TB15-1-64,
+ author = "David Rhead",
+ title = "{Addenda: {A} suggested ``operational requirement''
+ for {\LaTeX}3's treatment of bibliographic references
+ (\tubissue 14(4), pp.\ 425-433)}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "64--65",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-66,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "66--67",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-68,
+ author = "Anonymous",
+ title = "{{TUG}\,'94\Dash {Announcement} and preliminary
+ program ({Santa Barbara}, {California}, 31 {July}--4
+ {August} 1994)}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "68--69",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-69,
+ author = "Anonymous",
+ title = "{Call for papers, {Euro\TeX}\,'94 ({Gdansk}, {Poland},
+ 26--30 {September} 1994)}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "69--70",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB15-1-74,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "74--74",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-75,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "75--75",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-70,
+ author = "Anonymous",
+ title = "{Meet the {Board}, {Part I}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "70--73",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-75-2,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "75--76",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-77,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "77--78",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-79,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "79--79",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-1-81,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "1",
+ pages = "81--81",
+ month = mar,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-87,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "87--88",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB15-2-89,
+ author = "Christina Thiele",
+ title = "{Opening words}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "89--89",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB15-2-89,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "89--91",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB15-2-92,
+ author = "Michel Goossens",
+ title = "{{WEPT}: {A Week} on {Electronic Publishing} and
+ {Typography}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "92--95",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB15-2-96,
+ author = "Philip Taylor",
+ title = "{Report of the 2nd meeting of the {NTS} group,
+ {February} 1994}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "96--97",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB15-2-97,
+ author = "Alan Hoenig",
+ title = "{$\{$Meta$\}${Font Forum} redux}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "97--97",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ramasubramanian:TB15-2-98,
+ author = "R. Ramasubramanian and R. W. D. Nickalls and M. A.
+ Reed",
+ title = "{{ASCII.sty}: {A} new style-option and encoded font
+ with {IBM} graphics control characters for use with
+ {\TeX} and {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "98--103",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jones:TB15-2-103,
+ author = "David M. Jones and David E. Wald",
+ title = "{{Michel Goossens}, {Frank Mittelbach}, and {Alexander
+ Samarin}, {\it The {\LaTeX} Companion}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "103--106",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB15-2-106,
+ author = "Victor Eijkhout",
+ title = "{{Norman Walsh}, {\it Making {\TeX} Work}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "106--107",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Andre:TB15-2-107,
+ author = "Jacques Andr{\'e}",
+ title = "{{Christian Rolland}, {\it {\LaTeX} guide pratique}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "107--107",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB15-2-107,
+ author = "Alan Hoenig",
+ title = "{Next{\TeX}: {\TeX} plus the {NextStep} Operating
+ System}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "107--109",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Downes:TB15-2-110,
+ author = "Michael Downes",
+ title = "{Interaction tools: {\tt dialog.sty} and {\tt
+ menus.sty}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "110--130",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gaulle:TB15-2-131,
+ author = "Bernard Gaulle",
+ title = "{{\LaTeX} {V3}: philology \& typography, reports to
+ read, reports to do}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "131--131",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB15-2-131,
+ author = "Claudio Beccari",
+ title = "{Tough table becomes easy with {\PiCTeX}, but it's
+ even easier with {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "131--132",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anagnostopolous:TB15-2-132,
+ author = "Paul Anagnostopolous",
+ title = "{On the review of {\it {\TeX} in Practice}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "132--132",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-133,
+ author = "Anonymous",
+ title = "{Baskerville, {Volume} 4, {Nos.} 1--2}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "133--136",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-136,
+ author = "Anonymous",
+ title = "{Cahiers {GUTenberg} {Nos.} 16 and 17}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "136--137",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-138,
+ author = "Anonymous",
+ title = "{Die {\TeX}nische {Kom\"odie} 1993, {Heft} 1--4}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "138--142",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-143,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "143--144",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-160,
+ author = "Anonymous",
+ title = "{{TUG}\,'95\Dash {St. Petersburg}, {Florida}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "160",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB15-2-148,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "148--149",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-149,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "149--149",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB15-2-150,
+ author = "Barbara Beeton",
+ title = "{Change in {\TUB} policy}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "150--150",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-145,
+ author = "Anonymous",
+ title = "{Meet the {Board}, {Part II}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "145--148",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-151,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "151--152",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-155,
+ author = "Anonymous",
+ title = "{{TUG} membership application}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "155--156",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-152,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "152--153",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-2-154,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "2",
+ pages = "154--154",
+ month = jun,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-166,
+ author = "Anonymous",
+ title = "{Editorial and production notes}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "166--166",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-167,
+ author = "Anonymous",
+ title = "{Acknowledgements and {Conference Program}:
+ {Innovation}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "167--168",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bigelow:TB15-3-169,
+ author = "Charles Bigelow",
+ title = "{Lucida and {\TeX}: lessons of logic and history}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "169--169",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB15-3-170,
+ author = "Frank Mittelbach and Michel Goossens",
+ title = "{Real life book production\Dash lessons learned from
+ {\it The {\LaTeX} Companion}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "170--173",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB15-3-174,
+ author = "Yannis Haralambous",
+ title = "{Typesetting the holy {Bible} in {Hebrew}, with
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "174--191",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Cohen:TB15-3-192,
+ author = "Michel Cohen",
+ title = "{Adaptive character generation and spatial
+ expressiveness}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "192--198",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB15-3-199,
+ author = "Yannis Haralambous",
+ title = "{Humanist}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "199--199",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Malyshev:TB15-3-200,
+ author = "Basil Malyshev",
+ title = "{Automatic conversion of {\MF} fonts to {Type}-1
+ {\PS}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "200--200",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hafner:TB15-3-201,
+ author = "James Hafner",
+ title = "{The (pre)history of color in {Rokicki}'s {\tt
+ dvips}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "201--204",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rokicki:TB15-3-205,
+ author = "Tom Rokicki",
+ title = "{Advanced `special' support in a dvi driver}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "205--212",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Duggan:TB15-3-213,
+ author = "Angus Duggan",
+ title = "{Colour separation and {\PS}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "213--217",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB15-3-218,
+ author = "Sebastian Rahtz and Michel Goossens",
+ title = "{Simple colour design with {\LaTeXe}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "218--222",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sowa:TB15-3-223,
+ author = "Friedhelm Sowa",
+ title = "{Printing colour pictures}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "223--227",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Wed Jul 09 12:06:08 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sofka:TB15-3-228,
+ author = "Michael Sofka",
+ title = "{Color book production using {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "228--238",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zandt:TB15-3-239,
+ author = "Timothy van Zandt and Denis Girou",
+ title = "{Inside {PSTricks}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "239--246",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Stenerson:TB15-3-247,
+ author = "Jon Stenerson",
+ title = "{A {\LaTeX} style file generator}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "247--254",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Braams:TB15-3-255,
+ author = "Johannes Braams",
+ title = "{Document classes and packages in {\LaTeXe}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "255--262",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jeffrey:TB15-3-263,
+ author = "Alan Jeffrey",
+ title = "{{\PS} font support in {\LaTeXe}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "263--268",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Patashnik:TB15-3-269,
+ author = "Oren Patashnik",
+ title = "{{\BibTeX} 1.0}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "269--273",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB15-3-274,
+ author = "Pierre MacKay",
+ title = "{A typesetter's toolkit}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "274--284",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Barnett:TB15-3-285,
+ author = "Michael P. Barnett and Kevin R. Perry",
+ title = "{Symbolic computation for electronic publishing}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "285--292",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kawaguti:TB15-3-293,
+ author = "Minato Kawaguti and Norio Kitajima",
+ title = "{Concurrent use of interactive {\TeX} previewer with
+ an {Emacs}-type editor}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "293--300",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB15-3-301,
+ author = "Yannis Haralambous",
+ title = "{An Indic {\TeX} preprocessor\Dash {Sinhalese}
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "301--301",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doumont:TB15-3-302,
+ author = "Jean-Luc Doumont",
+ title = "{Pascal pretty-printing: an example of ``preprocessing
+ within {\TeX}''}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "302--307",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schrod:TB15-3-309,
+ author = "Joachim Schrod",
+ title = "{Towards interactivity for {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "309--317",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rowley:TB15-3-318,
+ author = "Chris Rowley and Frank Mittelbach",
+ title = "{The floating world}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "318--318",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB15-3-319,
+ author = "Don Hosek",
+ title = "{Sophisticated page layout with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "319--319",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plaice:TB15-3-320,
+ author = "John Plaice",
+ title = "{Progress in the {Omega} project}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "320--324",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ogawa:TB15-3-325,
+ author = "Arthur Ogawa",
+ title = "{Object-oriented programming, descriptive markup, and
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "325--330",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Baxter:TB15-3-331,
+ author = "William Erik Baxter",
+ title = "{An object-oriented programming system in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "331--338",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Walsh:TB15-3-339,
+ author = "Norm Walsh",
+ title = "{A {World Wide} {Web} interface to {\CTAN}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "339--343",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB15-3-344,
+ author = "Yannis Haralambous and John Plaice",
+ title = "{First applications of $\Omega$: {Adobe Poetica},
+ {Arabic}, {Greek}, {Khmer}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "344--352",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB15-3-353,
+ author = "Philip Taylor",
+ title = "{$\varepsilon$-{\TeX} \& {\NTS}: A progress report}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "353--358",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laugier:TB15-3-359,
+ author = "Maurice Laugier and Yannis Haralambous",
+ title = "{{\TeX} innovations by the {Louis-Jean} {Printing
+ House}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "359--359",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Downes:TB15-3-360,
+ author = "Michael Downes",
+ title = "{Design by template in a production macro package}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "360--368",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB15-3-369,
+ author = "Alan Hoenig",
+ title = "{Less is {More}: {Restricting} {\TeX}'s scope enables
+ complex page layouts}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "369--380",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB15-3-381,
+ author = "Jonathan Fine",
+ title = "{Documents, compuscripts, programs and macros}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "381--385",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Grobelnik:TB15-3-386,
+ author = "Marko Grobelnik and Dunja Mladeni{\'c} and Darko
+ Zupani\v{c} and Borut \v{Z}nidar",
+ title = "{Integrated system for encyclopaedia typesetting based
+ on {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "386--387",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Baragar:TB15-3-388,
+ author = "Henry Baragar and Gail E. Harris",
+ title = "{An example of a special purpose input language to
+ {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "388--396",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-397,
+ author = "Anonymous",
+ title = "{Color pages}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "397--404",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-405,
+ author = "Anonymous",
+ title = "{Participants at the {Annual Meeting}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "405--407",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-408,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "408--409",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-409,
+ author = "Anonymous",
+ title = "{1995 {Knuth Scholarship}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "409--410",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-411,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "411--412",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-415,
+ author = "Anonymous",
+ title = "{{TUG} membership application}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "415--416",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-412,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "412--413",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-3-417,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "3",
+ pages = "417--417",
+ month = sep,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-4-423,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "423--424",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB15-4-425,
+ author = "Christina Thiele",
+ title = "{Opening words}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "425--425",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB15-4-426,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "426--427",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB15-4-427,
+ author = "Michel Goossens and Sebastian Rahz and Barbara
+ Beeton",
+ title = "{The {TUG94 Proceedings}\Dash {Apologia}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "427--428",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bolland:TB15-4-429,
+ author = "Julita Bolland and Toni Walter and W{\l}odek Bzyl",
+ title = "{Euro{\TeX}94}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "429--433",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB15-4-434,
+ author = "Philip Taylor",
+ title = "{Minutes of the {NTS} meeting held at {Lindau} on
+ {October} 11/12th 1994}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "434--437",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laugier:TB15-4-438,
+ author = "Maurice Laugier and Yannis Haralambous",
+ title = "{{\TeX} innovations at the {Louis-Jean} printing
+ house}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "438--443",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{MacKay:TB15-4-444,
+ author = "Pierre A. MacKay",
+ title = "{Recycled {\MF}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "444--446",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB15-4-447,
+ author = "Yannis Haralambous",
+ title = "{{\it Indica}, an {Indic} preprocessor for {\TeX}: {A
+ Sinhalese} {\TeX} system}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "447--458",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Olsak:TB15-4-459,
+ author = "Petr Ol{\v{s}}{\'a}k",
+ title = "{The {EAN} barcodes by {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "459--464",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB15-4-464,
+ author = "Philip Taylor",
+ title = "{An open letter to the {TUG Board}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "464--465",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Feruglio:TB15-4-466,
+ author = "Gabriel Valiente Feruglio",
+ title = "{Typesetting commutative diagrams}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "466--484",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB15-4-485,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "485--405",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Richer:TB15-4-486,
+ author = "Jacques Richer",
+ title = "{A {\TeX} autostereogram generator}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "486--492",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fossmeier:TB15-4-492,
+ author = "Reinhard F{\"o}{\ss}meier",
+ title = "{Stereographic pictures using {\TeX}}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "492--495",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Braams:TB15-4-496,
+ author = "Johannes Braams",
+ title = "{To reset or not to reset}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "496--497",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-4-498,
+ author = "Anonymous",
+ title = "{Cahiers {GUTenberg} {Nos.} 18 and 19}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "498--499",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-4-500,
+ author = "Anonymous",
+ title = "{Abstracts of the {\it {Proceedings} of the {Eighth
+ European} {\TeX} {Conference}}, {Gda\'nsk}, {September}
+ 1994}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "500--503",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-4-505,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "505--504",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB15-4-505,
+ author = "Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "505--505",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-4-506,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "506--506",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-4-507,
+ author = "Anonymous",
+ title = "{{TUG} membership application}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "507--507",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB15-4-508,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "15",
+ number = "4",
+ pages = "508--508",
+ month = dec,
+ year = "1994",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "3--4",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bzyl:TB16-1-4,
+ author = "W{\l}odek Bzyl",
+ title = "{Euro{\TeX}94 Contest Answers}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "4--4",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB16-1-5,
+ author = "Christina Thiele and Michel Goossens",
+ title = "{Opening words}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "5--7",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB16-1-8,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "8--8",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jaegermann:TB16-1-9,
+ author = "Michael Jaegermann",
+ title = "{Making {\tt MakeTeXPK} safer for {Unix}
+ installations}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "9--12",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB16-1-12,
+ author = "Barbara Beeton",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "12--17",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB16-1-18,
+ author = "Claudio Beccari",
+ title = "{Configuring {\TeX} or {\LaTeX} for typesetting in
+ several languages}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "18--30",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB16-1-30,
+ author = "Claudio Beccari and Radu Oprea and Elena Tulei",
+ title = "{How to make a foreign language pattern file:
+ {Romanian}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "30--41",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB16-1-42,
+ author = "Christina Thiele",
+ title = "{{\TeX} and {Linguistics}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "42--44",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB16-1-45,
+ author = "Alan Hoenig",
+ title = "{Introducing {\MP}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "45--45",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB16-1-46,
+ author = "Yannis Haralambous",
+ title = "{Some {\MF} techniques}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "46--53",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Olsak:TB16-1-54,
+ author = "Petr Ol{\v{s}}{\'a}k",
+ title = "{The program {\tt a2ac}\Dash {Font} handling on the
+ {\PS} level}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "54--59",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Malyshev:TB16-1-60,
+ author = "Basil Malyshev",
+ title = "{Problems of the conversion of {\MF} fonts to {\PS}
+ {Type} 1}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "60--68",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Malyshev:TB16-1-69,
+ author = "Basil Malyshev and Michel Goossens",
+ title = "{Partial font embedding utilities for {\PS} {Type}-1
+ fonts}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "69--77",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jeffrey:TB16-1-78,
+ author = "Alan Jeffrey",
+ title = "{Tight setting with {\TeX}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "78--80",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fujita:TB16-1-80,
+ author = "Shinsaku Fujita",
+ title = "{{\XYMTeX} for drawing chemical structural formulas}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "80--88",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-1-89,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "89--90",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB16-1-90,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "90--91",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-1-91,
+ author = "Anonymous",
+ title = "{Coming next issue}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "91--91",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-1-92,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "92--92",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-1-93,
+ author = "Anonymous",
+ title = "{{TUG} membership application}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "93--93",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-1-94,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "1",
+ pages = "94--94",
+ month = mar,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-2-99,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "99--100",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB16-2-101,
+ author = "Michel Goossens",
+ title = "{Opening words}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "101--101",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Clark:TB16-2-101,
+ author = "Malcolm Clark",
+ title = "{Introduction}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "101--102",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB16-2-103,
+ author = "Michel Goossens and Janne Saarela",
+ title = "{A practical introduction to {\SGML}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "103--145",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB16-2-146,
+ author = "Peter Flynn",
+ title = "{{\HTML} \& {\TeX}: {Making} them sweat}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "146--150",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Granger:TB16-2-151,
+ author = "Geeti Granger",
+ title = "{The inside story of life at {Wiley} with {\SGML},
+ {\LaTeX} and {Acrobat}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "151--154",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doyle:TB16-2-154,
+ author = "Mark D. Doyle",
+ title = "{The {Los Alamos} e-print archives: {Hyper\TeX} in
+ action}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "154--159",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schwarzkopf:TB16-2-159,
+ author = "Otfried Schwarzkopf",
+ title = "{The {Hyperlatex} story}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "159--162",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB16-2-162,
+ author = "Yannis Haralambous and Sebastian Rahtz",
+ title = "{{\LaTeX}, hypertext and {\PDF}, {\it or} the entry of
+ {\TeX} into the world of hypertext}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "162--173",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB16-2-174,
+ author = "Michel Goossens and Janne Saarela",
+ title = "{{\TeX} to {\HTML} and back}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "174--214",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-2-215,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "215--216",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB16-2-100,
+ author = "Mimi Burbank and Barbara Beeton",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "100--100",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-2-217,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "217--217",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-2-218,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "218--218",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-2-218-2,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "2",
+ pages = "218--218",
+ month = jun,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fairbairns:TB16-3-222,
+ author = "Robin Fairbairns",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "222--222",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB16-3-223,
+ author = "Michel Goossens",
+ title = "{President's words}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "223--226",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zlatuska:TB16-3-227,
+ author = "Ji\v{r}\'{\i} Zlatu{\v{s}}ka",
+ title = "{When {\MF} does it alone}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "227--232",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kinch:TB16-3-233,
+ author = "Richard J. Kinch",
+ title = "{{MetaFog}: converting {\MF} shapes to contours}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "233--243",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB16-3-244,
+ author = "Alan Hoenig",
+ title = "{The {Poetica} family: fancy fonts with {\TeX} and
+ {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "244--252",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB16-3-253,
+ author = "Michel Goossens and Sebastian Rahtz and Robin
+ Fairbairns",
+ title = "{Using {Adobe Type} 1 {Multiple Master} fonts with
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "253--258",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibbons:TB16-3-259,
+ author = "Jeremy Gibbons",
+ title = "{Dotted and dashed lines in {\MF}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "259--264",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lesenko:TB16-3-265,
+ author = "Sergey Lesenko",
+ title = "{Printing {\TeX} documents with partial {Type} 1
+ fonts}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "265--268",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Swift:TB16-3-269,
+ author = "Matthew Swift",
+ title = "{Modularity in {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "269--275",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kletzing:TB16-3-276,
+ author = "Dennis Kletzing",
+ title = "{A multienumerate package}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "276--279",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sojka:TB16-3-280,
+ author = "Petr Sojka and Pavel \v{S}eve\v{c}ek",
+ title = "{Hyphenation in {\TeX} --- {Quo Vadis}?}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "280--289",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sojka:TB16-3-290,
+ author = "Petr Sojka",
+ title = "{Notes on compound word hyphenation in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "290--296",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bzyl:TB16-3-297,
+ author = "W{\l}odek Bzyl",
+ title = "{Literate {Plain} source is available!}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "297--299",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB16-3-300,
+ author = "Bart Childs and Deborah Dunn and William Lively",
+ title = "{Teaching {CS}/1 courses in a literate manner}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "300--309",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Raman:TB16-3-310,
+ author = "T. V. Raman",
+ title = "{An audio view of {(\La)\TeX} documents --- part
+ {II}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "310--314",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB16-3-315,
+ author = "Sebastian Rahtz",
+ title = "{Another look at {\LaTeX} to {\SGML} conversion}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "315--324",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fairbairns:TB16-3-325,
+ author = "Robin Fairbairns",
+ title = "{Omega --- {Why} bother with {Unicode}?}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "325--328",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Feruglio:TB16-3-329,
+ author = "Gabriel Valiente Feruglio",
+ title = "{Modern {Catalan} typographical conventions}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "329--338",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-3-339,
+ author = "Anonymous",
+ title = "{{TUG}'96 Announcement}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "339--339",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-3-340,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "340--341",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-3-341,
+ author = "Anonymous",
+ title = "{{TUG}'95\Dash {List} of attendees}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "341--343",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-3-344,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "344--344",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-3-345,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "3",
+ pages = "345--345",
+ month = sep,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-351,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "351--352",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB16-4-353,
+ author = "Michel Goossens",
+ title = "{Writing the future is reading the past}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "353--354",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB16-4-355,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "355--357",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB16-4-357,
+ author = "Peter Flynn",
+ title = "{Upcoming {TTN} merger into {\TUB}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "357--357",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Machi:TB16-4-358,
+ author = "Filip Machi and Jerrold E. Marsden and Wendy G.
+ McKay",
+ title = "{{Introduction} to {Fas\TeX}: {A} system of keyboard
+ shortcuts for the fast keying of {\TeX}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "358--363",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lapko:TB16-4-364,
+ author = "Olga Lapko and Irina Makhovaya",
+ title = "{The style {\tt russianb} for {Babel}: {Problems} and
+ solutions}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "364--372",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Slepukhin:TB16-4-373,
+ author = "Andrey Slepukhin",
+ title = "{A package for {Church-Slavonic} typesetting}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "373--380",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knappen:TB16-4-381,
+ author = "J{\"o}rg Knappen",
+ title = "{Release 1.2 of the {{\ssf dc}}-fonts: {Improvements}
+ to the {European} letters and first release of text
+ companion symbols}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "381--387",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jackowski:TB16-4-388,
+ author = "Bogus{\l}aw Jackowski",
+ title = "{{A} {\MF}--{\acro{EPS}} interface}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "388--395",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rokicki:TB16-4-395,
+ author = "Tomas G. Rokicki",
+ title = "{A proposed standard for specials}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "395--401",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{TUGWGTDS:TB16-4-401,
+ author = "{TUG} {Working} {Group} on a {\TeX} {Directory}
+ {Structure}",
+ title = "{{A} directory structure for {\TeX} files ({Version}
+ 0.999)}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "401--413",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB16-4-413,
+ author = "Sebastian Rahtz",
+ title = "{Whatever is wrong with my {\LaTeX} file?}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "413--416",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB16-4-416,
+ author = "Jonathan Fine",
+ title = "{New perspectives on {\TeX} macros}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "416--418",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB16-4-418,
+ author = "Yannis Haralambous and John Plaice and Johannes
+ Braams",
+ title = "{Never again active characters! {$\Omega$}-{Babel}}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "418--427",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-428,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "428",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-429,
+ author = "Anonymous",
+ title = "{Call for papers: {TUG}\,'96}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "429--431",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-427,
+ author = "Anonymous",
+ title = "{{TUG}\,'97\Dash {Soliciting} bids for host site}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "427--427",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB16-4-432,
+ author = "Michel Goossens",
+ title = "{Euro{\TeX}\,'95, {Papendal}, {The Netherlands}, 4--8
+ {September} 1995}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "432--439",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB16-4-379,
+ author = "Michel Goossens",
+ title = "{Production notes on the {Russian} papers}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "379--379",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB16-4-440,
+ author = "Mimi Burbank and Michel Goossens",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "440--440",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-440,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "440--440",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-441,
+ author = "Anonymous",
+ title = "{1996 {\TeX} {Users Group} election}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "441--441",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-441-2,
+ author = "Anonymous",
+ title = "{1996 {TUG} election\Dash nomination form}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "441--441",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-442,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "442--442",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-443,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "443--443",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB16-4-443-2,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "16",
+ number = "4",
+ pages = "443--443",
+ month = dec,
+ year = "1995",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "3--4",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-4,
+ author = "Anonymous",
+ title = "{Soliciting Bids for \acro{TUG}\,'97}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "4--4",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB17-1-5,
+ author = "Michel Goossens",
+ title = "{From the president}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "5--6",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB17-1-6,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "6--7",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-7,
+ author = "Anonymous",
+ title = "{TUG\,'95: Questions and answers with Prof. Donald E.
+ Knuth}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "7--22",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bennett:TB17-1-22,
+ author = "Frank G. {Bennett, Jr.}",
+ title = "{{\smc Camel}: kicking over the bibliographic traces
+ in {\BibTeX}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "22--28",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Machi:TB17-1-28,
+ author = "Filip Machi and Jerrold E. Marsden and Wendy G.
+ McKay",
+ title = "{{Corrigendum: Introduction to {Fas\TeX}: a system of
+ keyboard shortcuts for the fast keying of {\TeX}
+ (\tubissue 16(4), pp. 358--363)}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "28--28",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knuth:TB17-1-29,
+ author = "Donald E. Knuth",
+ title = "{Important message regarding CM fonts}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "29--29",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zubrinic:TB17-1-29,
+ author = "Darko \v{Z}ubrini{\'c}",
+ title = "{Croatian fonts}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "29--33",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vesely:TB17-1-34,
+ author = "J. Vesel{\'y}",
+ title = "{Two new books on {\TeX} in the {Czech Republic}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "34--34",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Price:TB17-1-35,
+ author = "Lynne A. Price",
+ title = "{{Ronald C. Turner}, {Timothy A. Douglass}, and
+ {Audrey J. Turner}, {{\it\acro{README.1ST}: \acro{SGML}
+ for Writers and Editors}}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "35--37",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Porrat:TB17-1-37,
+ author = "Rama Porrat",
+ title = "{There's still something missing{\dots}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "37--37",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB17-1-37,
+ author = "Mimi Burbank and Michel Goossens",
+ title = "{Electronic news from the family}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "37--42",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Reckdahl:TB17-1-43,
+ author = "Keith Reckdahl",
+ title = "{{Using \acro{EPS} graphics in {\LaTeXe} documents,
+ Part 1: the {\ssf graphics} and {\ssf graphicx}
+ packages}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "43--53",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hosek:TB17-1-53,
+ author = "Don Hosek",
+ title = "{That ol' devil {\tt\char`\\expandafter}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "53--54",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hagen:TB17-1-54,
+ author = "J. Hagen and A. F. Otten",
+ title = "{{\acro{PPCH\TeX}}: typesetting chemical formulas in
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "54--66",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carlisle:TB17-1-67,
+ author = "David Carlisle",
+ title = "{{A {\LaTeX} tour, Part 1: The basic distribution}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "67--73",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-73,
+ author = "Anonymous",
+ title = "{Les Cahiers GUTenberg, No. 20}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "73--74",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-74,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "74--75",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-76,
+ author = "Anonymous",
+ title = "{TUG\,'96 Preliminary schedule}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "76--77",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB17-1-78,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "78--78",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-78,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "78--78",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-79,
+ author = "Anonymous",
+ title = "{TUG Bylaws}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "79--83",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-84,
+ author = "Anonymous",
+ title = "{1996 \acro{TUG} election cancelled}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "84--84",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-84-2,
+ author = "Anonymous",
+ title = "{TUG Board}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "84--84",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-85,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "85--85",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-86,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "86--86",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-87,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "87--87",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-1-87-2,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "1",
+ pages = "87--87",
+ month = mar,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB17-2-91,
+ author = "Michel Goossens",
+ title = "{Opening Words by the President}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "91--91",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Piska:TB17-2-92,
+ author = "Karel P\'{\i}{\v{s}}ka",
+ title = "{Cyrillic alphabets}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "92--98",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Knappen:TB17-2-99,
+ author = "J{{\"o}}rg Knappen",
+ title = "{{The {\ssf dc} fonts 1.3: Move towards stability and
+ completeness}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "99--101",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rei:TB17-2-102,
+ author = "Fukui Rei",
+ title = "{{\ssf TIPA}: {A system for processing phonetic
+ symbols in {\LaTeX}}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "102--114",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berdnikov:TB17-2-115,
+ author = "A. S. Berdnikov",
+ title = "{Computer Modern Typefaces as Multiple Master Fonts}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "115--119",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berdnikov:TB17-2-120,
+ author = "A. S. Berdnikov",
+ title = "{{\sl VFComb} 1.3\Dash the program which simplifies
+ virtual font management}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "120--125",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB17-2-126,
+ author = "Yannis Haralambous",
+ title = "{$\Omega$Times and $\Omega$Helvetica fonts under
+ development: Step One}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "126--146",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kinch:TB17-2-147,
+ author = "Richard J. Kinch",
+ title = "{{Extending {\TeX} for Unicode}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "147--160",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Znamenskaya:TB17-2-161,
+ author = "L. N. Znamenskaya and S. V. Znamenskii",
+ title = "{Russian encoding plurality problem and a new Cyrillic
+ font set}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "161--165",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ovchenkov:TB17-2-166,
+ author = "Peter A. Ovchenkov",
+ title = "{Cyrillic {\TeX} files: interplatform portability}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "166--171",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vinogradov:TB17-2-172,
+ author = "Michael M. Vinogradov",
+ title = "{{A user-friendly multi-function {\TeX} interface
+ based on Multi-Edit}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "172--174",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lapko:TB17-2-174,
+ author = "Olga G. Lapko",
+ title = "{Full Cyrillic: How many languages?}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "174--180",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plaice:TB17-2-181,
+ author = "John Plaice and Yannis Haralambous",
+ title = "{The latest developments in {$\Omega$}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "181--183",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Langmyhr:TB17-2-184,
+ author = "Dag Langmyhr",
+ title = "{{Star\TeX\Dash a {\TeX} for beginners}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "184--190",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Feruglio:TB17-2-191,
+ author = "Gabriel Valiente Feruglio",
+ title = "{Do journals honor {\LaTeX} submissions?}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "191--199",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Znamenskii:TB17-2-200,
+ author = "Sergei V. Znamenskii and Denis E. Leinartas",
+ title = "{{A new approach to the {\TeX}-related programs: A
+ user-friendly interface}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "200--203",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vsesvetsky:TB17-2-204,
+ author = "Ivan G. Vsesvetsky",
+ title = "{The strait gate to {\TeX}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "204--205",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Siebenmann:TB17-2-206,
+ author = "Laurent Siebenmann",
+ title = "{DVI-based electronic publication}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "206--214",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB17-2-215,
+ author = "Kees van der Laan",
+ title = "{BLUe's format\Dash the off-off alternative}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "215--221",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB17-2-222,
+ author = "Kees van der Laan",
+ title = "{Turtle graphics and {\TeX}\Dash a child can do it}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "222--228",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berdnikov:TB17-2-229,
+ author = "A. S. Berdnikov and O. A. Grineva and S. B. Turtia",
+ title = "{Some useful macros which extend the {\LaTeX} {\tt
+ picture} environment}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "229--232",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB17-2-90,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "90--90",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-2-233,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "233--233",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-2-234,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "234--234",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-2-235,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "2",
+ pages = "235--235",
+ month = jun,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-3-239,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "239--239",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB17-3-241,
+ author = "Michel Goossens",
+ title = "{From the president}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "241--243",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB17-3-243,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "243--244",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sojka:TB17-3-244,
+ author = "Petr Sojka and Han The Thanh and
+ Ji\v{r}{\'{\i}}Zlatu{\v{s}}ka",
+ title = "{{The joy of {\TeX}2\acro{PDF}\Dash Acrobatics with an
+ alternative to \acro{DVI} format}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "244--251",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lesenko:TB17-3-252,
+ author = "Sergey Lesenko",
+ title = "{{The \acro{DVIPDF} Program}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "252--254",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB17-3-255,
+ author = "Jonathan Fine",
+ title = "{{Editing {\tt .dvi} files, or Visual {\TeX}}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "255--259",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Makhovaya:TB17-3-259,
+ author = "Irina A. Makhovaya",
+ title = "{{{\TeX} in Russia: ab ovo, or, About the {\TeX}nical
+ evolution in Russia}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "259--264",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB17-3-264,
+ author = "Sebastian Rahtz",
+ title = "{{{\LaTeX}, {\it dvips}, \acro{EPS} and the Web
+ \dots}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "264--268",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Laan:TB17-3-269,
+ author = "Kees van der Laan",
+ title = "{{Graphics and {\TeX}\Dash A reappraisal of
+ {\MF}/MetaPost/{\PS}}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "269--279",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thompson:TB17-3-280,
+ author = "David Thompson",
+ title = "{{Stanley Sawyer and Steven Krantz}, {\it A {\TeX}
+ Primer for Scientists}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "280--280",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bzyl:TB17-3-281,
+ author = "W{\l}odek Bzyl",
+ title = "{{David Salomon}, {\it The Advanced {\TeX}book}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "281--282",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fairbairns:TB17-3-282,
+ author = "Robin Fairbairns",
+ title = "{The new ({\LaTeXe}) {\TUB} macros}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "282--288",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Reckdahl:TB17-3-288,
+ author = "Keith Reckdahl",
+ title = "{{Using \acro{EPS} graphics in {\LaTeXe} documents,
+ Part 2: Floating figures, boxed figures, captions, and
+ math in figures}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "288--310",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Saludes:TB17-3-310,
+ author = "Jordi Saludes",
+ title = "{Fast and secure multiple-option tests}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "310--319",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schmitt:TB17-3-319,
+ author = "Peter Schmitt",
+ title = "{A puzzling {\TeX} macro}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "319--320",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carlisle:TB17-3-321,
+ author = "David Carlisle",
+ title = "{{A {\LaTeX} tour, Part 2: The {\ssf tools} and {\ssf
+ graphics} distributions}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "321--326",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-3-326,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "326--327",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB17-3-327,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "327--327",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-3-327,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "327--327",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-3-328,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'97 Call for Papers}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "328--328",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-3-240,
+ author = "Anonymous",
+ title = "{{1997 \acro{TUG} Election}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "240--240",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-3-329,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "329--329",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-3-330,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "330--330",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-3-331,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "331--331",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-3-331-2,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "3",
+ pages = "331--331",
+ month = sep,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-335,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "335--335",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-336,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'97 Update}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "336--336",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB17-4-337,
+ author = "Michel Goossens",
+ title = "{{The state of \acro{TUG}}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "337--340",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB17-4-340,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "340--342",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-342,
+ author = "Anonymous",
+ title = "{{Amsterdam, 13 March 1996\Dash Knuth meets \acro{NTG}
+ members}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "342--355",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-355,
+ author = "Anonymous",
+ title = "{{{\CSTUG}, Charles University, Prague, March
+ 1996\Dash Questions and answers with Prof. Donald E.
+ Knuth}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "355--367",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB17-4-367,
+ author = "Philip Taylor",
+ title = "{Computer typesetting or electronic publishing? New
+ trends in scientific publication}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "367--381",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Strelkov:TB17-4-382,
+ author = "S. A. Strelkov and G. R. Epshtein",
+ title = "{{Making indices for \acro{VINITI}'s ``Mathematics''
+ abstract journal}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "382--385",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Grinchuk:TB17-4-385,
+ author = "Mikhail Ivanovich Grinchuk",
+ title = "{{{\TeX} and Russian traditions of typesetting}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "385--388",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB17-4-388,
+ author = "Christina Thiele",
+ title = "{{{\TeX} and the Humanities}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "388--393",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB17-4-393,
+ author = "Jonathan Fine",
+ title = "{{\it The Printing Revolution in Early Modern Europe},
+ by {Elizabeth L. Eisenstein}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "393--396",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gratzer:TB17-4-396,
+ author = "George Gr{\"a}tzer",
+ title = "{Suggestions wanted for new edition of {\it Math into
+ \LaTeX}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "396--396",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kuypers:TB17-4-396,
+ author = "Dirk Kuypers",
+ title = "{{\acro{PPCHTEX} molecule templates}}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "396--396",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-397,
+ author = "Anonymous",
+ title = "{Les Cahiers GUTenberg, Nos. 21--24}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "397--403",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-403,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "403--405",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB17-4-405,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "405--405",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-405,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "405--405",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB17-4-405-2,
+ author = "Mimi Burbank",
+ title = "{Facts and Figures}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "405--408",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-409,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "409--409",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-410,
+ author = "Anonymous",
+ title = "{{TUG} membership application}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "410--410",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-411,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "411--411",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB17-4-411-2,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "17",
+ number = "4",
+ pages = "411--411",
+ month = dec,
+ year = "1996",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "3--3",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-4,
+ author = "Anonymous",
+ title = "{Notice regarding 1997 {\TeX} {Users Group}
+ election}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "4--4",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB18-1-5,
+ author = "Michel Goossens",
+ title = "{From the {President}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "5--5",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB18-1-5,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "5--6",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-6,
+ author = "Anonymous",
+ title = "{Erratum: {Amsterdam}, 13 {March} 1996\Dash {Knuth}
+ meets \acro{NTG} members, \tubissue 17(4), pp.
+ 342--355}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "6--6",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB18-1-6,
+ author = "Philip Taylor",
+ title = "{{NTS} \& {$\varepsilon$}-{\TeX}: a status report}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "6--12",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Vieth:TB18-1-12,
+ author = "Ulrik Vieth",
+ title = "{A {GNU Emacs} editing mode for {\MF} and {\MP}
+ sources}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "12--16",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB18-1-17,
+ author = "Yannis Haralambous",
+ title = "{The {Traditional Arabic} {Typecase}, {Unicode},
+ {\TeX} and {\MF}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "17--29",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Weenen:TB18-1-30,
+ author = "Andrea de Leeuw van Weenen",
+ title = "{A {Medieval Icelandic} manuscript: {The} making of a
+ diplomatic edition}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "30--36",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sofka:TB18-1-37,
+ author = "Michael D. Sofka",
+ title = "{{\it Writing with \TeX{}}, and {\it \TeX\ \& \LaTeX:
+ Drawing \& Literate Programming}, by {Eitan M.
+ Gurari}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "37--38",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB18-1-39,
+ author = "Claudio Beccari",
+ title = "{Typesetting mathematics for science and technology
+ according to {ISO\,31/XI}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "39--48",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carlisle:TB18-1-48,
+ author = "David Carlisle",
+ title = "{A {\LaTeX} {Tour}, part 3: {\ssf mfnfss}, {\ssf
+ psnfss} and {\ssf babel}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "48--55",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-56,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "56--67",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB18-1-57,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "57--57",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-57,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "57--57",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-58,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'97 {Update}}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "58--58",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-59,
+ author = "Anonymous",
+ title = "{New members of the {TUG Board}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "59--60",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-61,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "61--61",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-62,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "62--62",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-63,
+ author = "Anonymous",
+ title = "{{\TeX{} consulting and production services}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "63--63",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-1-57-2,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "1",
+ pages = "57--57",
+ month = mar,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-67,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "67--67",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kopriva:TB18-2-68,
+ author = "Phil Kopriva",
+ title = "{Letter from a member}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "68--68",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB18-2-69,
+ author = "Michel Goossens",
+ title = "{From the {President}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "69--71",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB18-2-72,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "72--73",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB18-2-74,
+ author = "Peter Flynn",
+ title = "{{\acro{TTN}} returns: {Final} \acro{TTN} editorial}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "74--74",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibbons:TB18-2-75,
+ author = "Jeremy Gibbons",
+ title = "{`Hey\Dash it works!'}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "75--78",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB18-2-78,
+ author = "Christina Thiele",
+ title = "{{\TeX} and the {Humanities}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "78--78",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Grant:TB18-2-79,
+ author = "Michael C. Grant",
+ title = "{Volunteers needed: {PSfrag} hackers}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "79--79",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Chow:TB18-2-79,
+ author = "Sidney Chow",
+ title = "{Features for a \acro{WYSIWYG} {\LaTeX} editor}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "79--79",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-80,
+ author = "Anonymous",
+ title = "{New publications}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "80--80",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB18-2-81,
+ author = "Sebastian Rahtz and Michel Goossens",
+ title = "{The {\bf{\TeXLive}} {Guide}, version 2}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "81--112",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB18-2-113,
+ author = "Alan Hoenig",
+ title = "{Virtual fonts, virtuous fonts}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "113--121",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-121,
+ author = "Anonymous",
+ title = "{Les {Cahiers GUTenberg}, contents of {Issue} 25}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "121--122",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-122,
+ author = "Anonymous",
+ title = "{Die {\TeX}nische {Kom\"odie} {\bf7}, 1995, {Heft}
+ 1--4; {\bf8}, 1996, {Heft} 1--4}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "122--126",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{LaTeX:TB18-2-127,
+ author = "{\LaTeX\ 3} Project Team",
+ title = "{Modifying {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "127--130",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-130,
+ author = "Anonymous",
+ title = "{News from the {\LaTeX\,3} {Project Team}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "130--137",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-138,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "138--138",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-139,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'97 preliminary program}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "139--140",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB18-2-130,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "130--130",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-130-2,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "130--130",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-141,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "141--141",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-142,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "142--142",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-143,
+ author = "Anonymous",
+ title = "{{\TeX{} consulting and production services}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "143--143",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-2-138-2,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "2",
+ pages = "138--138",
+ month = jun,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-3-146,
+ author = "Anonymous",
+ title = "{Call for {Papers}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "146--146",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB18-3-147,
+ author = "Mimi Jett",
+ title = "{Opening {Words} by the {President}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "147--148",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-3-149,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'97} program}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "149--149",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rose:TB18-3-151,
+ author = "{Kristoffer H\o{}gsbro Rose}",
+ title = "{{V}ery high level 2-dimensional graphics with {\TeX}
+ and {\Xy-pic}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "151--158",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moore:TB18-3-159,
+ author = "Ross Moore",
+ title = "{High quality labels on included graphics, using
+ {\Xy-pic}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "159--165",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lesenko:TB18-3-166,
+ author = "Sergey Lesenko",
+ title = "{{\acro{DVIPDF}} and {Graphics}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "166--169",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hamlin:TB18-3-170,
+ author = "Christopher B. Hamlin",
+ title = "{From {\acro{SGML}} to {\acro{HTML}} with help from
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "170--174",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lovell:TB18-3-175,
+ author = "Douglas Lovell",
+ title = "{Custom legal documents for the {IBM AutoLoan}
+ {Exchange}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "175--181",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Downes:TB18-3-182,
+ author = "Michael Downes",
+ title = "{Breaking equations}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "182--194",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB18-3-195,
+ author = "Frank Mittelbach and Chris Rowley",
+ title = "{The {\LaTeX3} {Project}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "195--198",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB18-3-199,
+ author = "Frank Mittelbach and Chris Rowley",
+ title = "{Language information in structured documents: {A}
+ model for mark-up and rendering}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "199--205",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lemberg:TB18-3-206,
+ author = "Werner Lemberg",
+ title = "{New font tools for {\TeX}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "206--213",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lemberg:TB18-3-214,
+ author = "Werner Lemberg",
+ title = "{The {\acro{CJK}} package: {Multilingual} support
+ beyond {Babel}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "214--224",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-3-225,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "225--225",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB18-3-148,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "148--148",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-3-226,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'97} list of attendees}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "226--228",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-3-229,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "229--229",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-3-230,
+ author = "Anonymous",
+ title = "{{\acro{TUG}} membership form}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "230--230",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-3-231,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "231--231",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-3-232,
+ author = "Anonymous",
+ title = "{Y\&Y Inc.}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "232--232",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-3-cover3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "3",
+ pages = "Cover 3",
+ month = sep,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-235,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "235--236",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taupin:TB18-4-236,
+ author = "Daniel Taupin",
+ title = "{{MusiX\TeX}: {How} many fonts are acceptable{?}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "236--236",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB18-4-237,
+ author = "Mimi Jett",
+ title = "{From the {President}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "237--237",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB18-4-238,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "238--238",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB18-4-239,
+ author = "Phil Taylor",
+ title = "{{\eTeX} {V2}: a peek into the future}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "239--242",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB18-4-242,
+ author = "Peter Flynn",
+ title = "{Typographers Inn}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "242--245",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rogers:TB18-4-246,
+ author = "David F. Rogers",
+ title = "{{\it The {\LaTeX} Graphics Companion}, by {Michel
+ Goossens}, {Sebastian Rahtz} and {Frank Mittelbach}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "246--246",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibbons:TB18-4-246,
+ author = "Jeremy Gibbons",
+ title = "{`Hey\Dash it works!'}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "246--248",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thanh:TB18-4-249,
+ author = "H{\'a}n Th\^e\llap{\raise 0.5ex\hbox{\'{\relax}}}
+ Th{\'a}nh and Sebastian Rahtz",
+ title = "{The pdf{\TeX} user manual}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "249--254",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Finston:TB18-4-255,
+ author = "Laurence Finston",
+ title = "{{Spindex}\Dash {Indexing} with special characters}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "255--273",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Roegel:TB18-4-274,
+ author = "Denis Roegel",
+ title = "{{Creating 3D} animations with {\MP}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "274--283",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Horn:TB18-4-284,
+ author = "Berthold K. P. Horn",
+ title = "{{`Hinting'} of scalable outline fonts}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "284--286",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Willadt:TB18-4-286,
+ author = "Peter Willadt",
+ title = "{Another approach to barcodes}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "286--290",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-290,
+ author = "Anonymous",
+ title = "{{Die} {\TeX}nische {Kom\"odie} {\bf6}, 1994}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "290--295",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-295,
+ author = "Anonymous",
+ title = "{{Les Cahiers GUTenberg}, {Contents} of {Issues} 26
+ and 27}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "295--297",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Aphalo:TB18-4-297,
+ author = "Pedro J. Aphalo",
+ title = "{{A} proposal for citation commands in {\LaTeX 3}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "297--302",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carlisle:TB18-4-303,
+ author = "David Carlisle and Chris Rowley and Frank Mittelbach",
+ title = "{{The} {\LaTeX3 Programming Language}\Dash a proposed
+ system for {\TeX} macro programming}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "303--308",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB18-4-309,
+ author = "Frank Mittelbach",
+ title = "{{A} regression test suite for {\LaTeXe}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "309--311",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-312,
+ author = "Anonymous",
+ title = "{{News} from the {\LaTeX3} {Project Team}}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "312--312",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-313,
+ author = "Anonymous",
+ title = "{A Week on Electronic Documents and Typography}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "313--313",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-314,
+ author = "Anonymous",
+ title = "{{TUG'98} {Call} for papers}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "314--314",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-315,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "315--316",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB18-4-316,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "316--316",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-316,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "316--316",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-317,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "317--317",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-318,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "318--318",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-319,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "319--319",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-320,
+ author = "Anonymous",
+ title = "{{Y\&Y} Inc.}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "320--320",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB18-4-cover3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "18",
+ number = "4",
+ pages = "Cover 3",
+ month = dec,
+ year = "1997",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "3--3",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB19-1-4,
+ author = "Mimi Jett",
+ title = "{{From} the {President}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "4--4",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB19-1-5,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "5--5",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Radhakrishnan:TB19-1-6,
+ author = "C. V. Radhakrishnan",
+ title = "{A case for {\TeX} in {India}\Dash {The Indian {\TeX}
+ Users Group}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "6--9",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB19-1-9,
+ author = "Sebastian Rahtz",
+ title = "{The inaugural meeting of {TUG India}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "9--11",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Scherer:TB19-1-11,
+ author = "Andreas Scherer",
+ title = "{The future of {AmiWeb2c}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "11--12",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB19-1-12,
+ author = "Nelson H. F. Beebe",
+ title = "{{\acro{AUTHIDX}: {An} author/editor indexing
+ package}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "12--18",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB19-1-19,
+ author = "Sebastian Rahtz and Michel Goossens",
+ title = "{The {\TeX{} Live} guide, 3rd edition}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "19--60",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moore:TB19-1-61,
+ author = "Ross Moore",
+ title = "{Erratum: {High} quality labels on included graphics,
+ using {\Xy-pic}, {\tubissue 18(3)}, pp. 151--158}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "61--61",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Horn:TB19-1-62,
+ author = "Berthold K. P. Horn",
+ title = "{The {European Modern} fonts}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "62--63",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibbons:TB19-1-63,
+ author = "Jeremy Gibbons",
+ title = "{`Hey\Dash it works!'}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "63--65",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB19-1-65,
+ author = "Philip Taylor",
+ title = "{Book design for {\TeX} users, {Part} 1: {Theory}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "65--74",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-1-75,
+ author = "Anonymous",
+ title = "{{Die} {\TeX}nische {Kom\"odie} {\bf8} (1996, {Heft}
+ 1--4)}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "75--80",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-1-81,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "81--82",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schroder:TB19-1-83,
+ author = "Martin Schr{\"o}der",
+ title = "{{\TeX} {Merchandising}\Dash an announcement}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "83--83",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB19-1-82,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "82--82",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-1-82,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "82--82",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-1-84,
+ author = "Anonymous",
+ title = "{New members of the {TUG Board}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "84--85",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-1-86,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "86--86",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-1-87,
+ author = "Anonymous",
+ title = "{{TUG} membership application}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "87--87",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-1-88,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "88--88",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-1-82-2,
+ author = "Anonymous",
+ title = "{Index of advertisers}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "1",
+ pages = "82--82",
+ month = mar,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-91,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "91--91",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB19-2-93,
+ author = "Mimi Jett",
+ title = "{{From} the {President}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "93--93",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB19-2-94,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "94--94",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-95,
+ author = "Anonymous",
+ title = "{{April} {Fool's} {Hoax}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "95--96",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-97,
+ author = "Anonymous",
+ title = "{{\CTAN} \acro{CDROM} series, compliments of
+ \acro{DANTE}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "97--98",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB19-2-98,
+ author = "Peter Flynn",
+ title = "{Typographers' inn}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "98--100",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Girou:TB19-2-101,
+ author = "Denis Girou",
+ title = "{{\sf pst-fill}\Dash a {PSTricks} package for filling
+ and tiling areas}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "101--113",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doob:TB19-2-113,
+ author = "Michael Doob",
+ title = "{{\it \TeX{} Unbound}, by Alan Hoenig}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "113--114",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pandey:TB19-2-115,
+ author = "Anshuman Pandey",
+ title = "{An overview of {Indic} fonts for {\TeX}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "115--120",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bouche:TB19-2-120,
+ author = "Thierry Bouche",
+ title = "{Diversity in math fonts}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "120--134",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibbons:TB19-2-135,
+ author = "Jeremy Gibbons",
+ title = "{`Hey\Dash it works!'}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "135--136",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{LPT:TB19-2-137,
+ author = "{{\LaTeX} project team}",
+ title = "{{D}efault docstrip headers}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "137--138",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{LPT:TB19-2-139,
+ author = "{{\LaTeX} project team}",
+ title = "{{\LaTeX} {News}, {Issue} 9, {June} 1998}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "139--139",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-140,
+ author = "Anonymous",
+ title = "{Conference Program}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "140--141",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hogue:TB19-2-142,
+ author = "Stephanie Hogue",
+ title = "{Final report: {\TeX Northeast}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "142--143",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-144,
+ author = "Anonymous",
+ title = "{{\TeX Northeast}: {Workshops} and additional
+ papers}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "144--146",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Barnett:TB19-2-147,
+ author = "Michael P. Barnett",
+ title = "{{\sf mathscape}\Dash {Combining Mathematica} and
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "147--156",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sutor:TB19-2-157,
+ author = "Robert S. Sutor and Samuel S. Dooley",
+ title = "{{\TeX} and {\LaTeX} on the {Web} via {IBM} {\sf
+ techexplorer}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "157--161",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hendrickson:TB19-2-162,
+ author = "Amy Hendrickson",
+ title = "{Real {Life} {\LaTeX}: {Adventures} of a {\TeX}
+ consultant}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "162--167",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB19-2-168,
+ author = "Alan J. Hoenig",
+ title = "{Typesetting with {\TeX} and {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "168--175",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB19-2-176,
+ author = "Alan J. Hoenig",
+ title = "{Alternatives to {Computer Modern} mathematics}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "176--187",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Arthur:TB19-2-188,
+ author = "Jeffrey \Mc Arthur",
+ title = "{Developing database publishing systems using
+ {\TeX}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "188--194",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moore:TB19-2-195,
+ author = "Ross Moore",
+ title = "{Presenting mathematics and languages in {Web}-pages,
+ using {\LaTeX2\acro{HTML}}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "195--203",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Patashnik:TB19-2-204,
+ author = "Oren Patashnik",
+ title = "{{\BibTeX} 101}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "204--207",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Signell:TB19-2-208,
+ author = "Peter Signell",
+ title = "{One-document scientific publishing for print and
+ {Web/CD}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "208--213",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sofka:TB19-2-214,
+ author = "Michael D. Sofka",
+ title = "{{\TeX} to \acro{HTML} translation via tagged
+ \acro{DVI} files}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "214--222",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-223,
+ author = "Anonymous",
+ title = "{{Les Cahiers} {GUTenberg}, {Contents} of issue
+ 28--29}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "223--226",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-227,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "227--227",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-92,
+ author = "Anonymous",
+ title = "{{TUG\,98} -- {Torun, Poland, 17--21 August 1998},
+ {Preliminary} program}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "92--92",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hennings:TB19-2-231,
+ author = "Wilfred Hennings",
+ title = "{Volunteers needed for {\sf LaTeX2rtf} coordination
+ and development}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "231--231",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-229,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'99 {Announcement}}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "229--229",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB19-2-228,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "228--228",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-228,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "228--228",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-230,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "230--230",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-231,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "231--231",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-232,
+ author = "Anonymous",
+ title = "{Y\&Y Inc.}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "232--232",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-2-Cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "2",
+ pages = "Cover 3",
+ month = jun,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB19-3-234,
+ author = "Barbara Beeton",
+ title = "{{\acro{TUG} Election Notice}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "234--234",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB19-3-235,
+ author = "Barbara Beeton",
+ title = "{Editorial Comments\Dash A TUG\,'98 trip report}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "235--236",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-3-237,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'98 Attendees}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "237--238",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nickalls:TB19-3-239,
+ author = "R. W. D. Nickalls",
+ title = "{\TeX\ in the Operating Theatre: An anaesthesia
+ application}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "239--241",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nowacki:TB19-3-242,
+ author = "Janusz M. Nowacki and Bogus{\l}aw Jackowski",
+ title = "{Antykwa Toru\'nska: An electronic replica of a Polish
+ traditional type}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "242--243",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kinch:TB19-3-244,
+ author = "Richard J. Kinch",
+ title = "{{Belleek: A call for \MF{} revival}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "244--249",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Piska:TB19-3-250,
+ author = "Karel P{\'\i}{\v{s}}ka",
+ title = "{Georgian scripts}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "250--255",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoekwater:TB19-3-256,
+ author = "Taco Hoekwater",
+ title = "{{Generating Type 1 fonts from \MF{} sources}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "256--266",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jackowski:TB19-3-267,
+ author = "Bogus{\l}aw Jackowski and Piotr Pianowski and
+ Piotr Strzelczyk",
+ title = "{{Threshing \acro{EPS} files}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "267--271",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jackowski:TB19-3-272,
+ author = "Bogus{\l}aw Jackowski and Piotr Pianowski and
+ Piotr Strzelczyk",
+ title = "{More \TeX-PostScript links}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "272--275",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bolek:TB19-3-276,
+ author = "Piotr Bolek",
+ title = "{{\MP{} and patterns}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "276--283",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thanh:TB19-3-284,
+ author = "H{\`a}n Th\^e\llap{\raise0.5ex\hbox{\'{\relax}}}
+ Th{\`a}nh",
+ title = "{Improving \TeX's Typeset Layout}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "284--288",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taupin:TB19-3-289,
+ author = "Daniel Taupin",
+ title = "{{\tt ltx2rtf}: {Exporting {\LaTeX} documents to Word
+ addicts}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "289--292",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bzyl:TB19-3-293,
+ author = "W{\l}odek Bzyl",
+ title = "{{Adding native language support to the \acro{CWEB}
+ package and the {\TeX} program}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "293--297",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wolinski:TB19-3-298,
+ author = "Marcin Woli{\'n}ski",
+ title = "{{{\sf Pretprin}\Dash a {\LaTeXe}} package for
+ pretty-printing texts in formal languages}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "298--303",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hagen:TB19-3-304,
+ author = "Hans Hagen",
+ title = "{{The Calculator Demo}, {Integrating \TeX, \MP,
+ JavaScript and \acro{PDF}}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "304--310",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hagen:TB19-3-311,
+ author = "Hans Hagen",
+ title = "{Visual Debugging in \TeX, Part 1: The Story}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "311--317",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hagen:TB19-3-317,
+ author = "Hans Hagen",
+ title = "{Visual Debugging in \TeX, Part 2: The Macros}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "317--317",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Skoupy:TB19-3-318,
+ author = "Karel Skoup\'{y}",
+ title = "{\NTS: a New Typesetting System}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "318--322",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{NTGTFWG:TB19-3-323,
+ author = "{\NTG{} \TeX{} future working group}",
+ title = "{\TeX\ in 2003, Part I: Introduction and views on
+ current work}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "323--329",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{NTGTFWG:TB19-3-330,
+ author = "{\NTG{} \TeX{} future working group}",
+ title = "{{\TeX\ in 2003, Part II: Proposal for a
+ {\tt\char`\\special} standard}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "330--337",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-3-338,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "338--338",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-3-340,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'99 {Announcement}}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "340--340",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB19-3-339,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "339--339",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-3-341,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "341--341",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-3-342,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "342--342",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-3-343,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "343--343",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-3-339,
+ author = "Anonymous",
+ title = "{Hug The Lion!}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "339--339",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-3-344,
+ author = "Anonymous",
+ title = "{Y\&Y Inc.}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "344--344",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-3-Cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "3",
+ pages = "Cover 3",
+ month = sep,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-347,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "347--348",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carlisle:TB19-4-348,
+ author = "David Carlisle",
+ title = "{A seasonal puzzle: XII}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "348--348",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB19-4-349,
+ author = "Mimi Jett",
+ title = "{{From} the {President}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "349--350",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB19-4-351,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "351--352",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB19-4-353,
+ author = "Peter Flynn",
+ title = "{Typographers' inn}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "353--355",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Misakova:TB19-4-355,
+ author = "Miroslava Mis{\'a}kov{\'a}",
+ title = "{Typesetting with varying letter widths: {New hope for
+ your narrow columns}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "355--365",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB19-4-366,
+ author = "Barbara Beeton",
+ title = "{{Editorial: Enc\TeX{}, by Petr Ol{\v{s}}\'ak}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "366--366",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Olsak:TB19-4-366,
+ author = "Petr Ol{\v{s}}{\'a}k",
+ title = "{{Enc\TeX{}\Dash A little extension of \TeX{}}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "366--371",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Finston:TB19-4-372,
+ author = "Laurence Finston",
+ title = "{{Conc{\TeX}: Generating a concordance from {\TeX}
+ input files}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "372--403",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berdnikov:TB19-4-403,
+ author = "A. Berdnikov and O. Lapko and M. Kolodin and A.
+ Janishevsky and A. Burykin",
+ title = "{{Cyrillic encodings for \LaTeXe{} multi-language
+ documents}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "403--416",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pandey:TB19-4-417,
+ author = "Anshuman Pandey",
+ title = "{{Romanized Indic and \LaTeX{}}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "417--418",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beccari:TB19-4-419,
+ author = "Claudio Beccari and Apostolos Syropoulos",
+ title = "{{New Greek fonts and the {\tt greek} option of the
+ {\sf babel} package}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "419--425",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibbons:TB19-4-426,
+ author = "Jeremy Gibbons",
+ title = "{`Hey\Dash it works!'}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "426--427",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB19-4-428,
+ author = "Christina Thiele",
+ title = "{{The Treasure Chest: A package tour from
+ \acro{CTAN}\Dash {\tt soul.sty}}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "428--430",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-431,
+ author = "Anonymous",
+ title = "{Les Cahiers GUTenberg, Contents of issue 30}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "431--431",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-433,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "433--433",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-434,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'99 {Announcement}}}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "434--436",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB19-4-432,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "432--432",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-432,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "432--432",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-437,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "437--437",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-438,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "438--438",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-439,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "439--439",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-440,
+ author = "Anonymous",
+ title = "{Y\&Y Inc.}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "440--440",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB19-4-Cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "19",
+ number = "4",
+ pages = "Cover 3",
+ month = dec,
+ year = "1998",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "3--3",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rose:TB20-1-5,
+ author = "Kristoffer Rose",
+ title = "{From the Vice-President}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "5--5",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB20-1-6,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "6--7",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Andre:TB20-1-8,
+ author = "Jacques Andr{\'e} and Denis Girou",
+ title = "{{Father Truchet, the typographic point, the {\it
+ Romain du roi}, and tilings}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "8--14",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Toledo:TB20-1-15,
+ author = "Sivan Toledo",
+ title = "{A simple technique for typesetting Hebrew with vowel
+ points}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "15--19",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB20-1-20,
+ author = "Sebastian Rahtz",
+ title = "{{The \TeX\ Live Guide, \nth{4} edition}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "20--44",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB20-1-45,
+ author = "Barbara Beeton",
+ title = "{{{\TeX} and the Year 2000}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "45--50",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB20-1-50,
+ author = "Barbara Beeton",
+ title = "{Hyphenation Exception Log\Dash Update}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "50--51",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{LPT:TB20-1-52,
+ author = "{{\LaTeX} project team}",
+ title = "{{{\LaTeX} News, Issue 10, December 1998}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "52--52",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB20-1-53,
+ author = "Christina Thiele",
+ title = "{{The Treasure Chest: Package tours from
+ \acro{CTAN}}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "53--58",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-59,
+ author = "Anonymous",
+ title = "{{Die {\TeX}nische Kom\"odie} {\bf9} {(1997, Heft
+ 1--4)}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "59--64",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-65,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "65--66",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-67,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'99 Announcement}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "67--69",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-4,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'99 Poetry Contest}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "4--4",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB20-1-70,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "70--70",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-70,
+ author = "Anonymous",
+ title = "{{\TUB{} web pages}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "70--70",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-70-2,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "70--70",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB20-1-71,
+ author = "Christina Thiele and Arthur Ogawa",
+ title = "{Report: TUG 1999 Election}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "71--71",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-71,
+ author = "Anonymous",
+ title = "{Members of the TUG Board with terms ending in 2003}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "71--76",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-76,
+ author = "Anonymous",
+ title = "{Position of President}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "76--76",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-77,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "77--77",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-78,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "78--78",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-79,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "79--79",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-80,
+ author = "Anonymous",
+ title = "{Y\&Y Inc.}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "80--80",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-1-Cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "1",
+ pages = "Cover 3",
+ month = mar,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-83,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "83--84",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB20-2-85,
+ author = "Mimi Jett",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "85--86",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB20-2-86,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "86--87",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Childs:TB20-2-87,
+ author = "Bart Childs",
+ title = "{Norman W. Naugle\dash A Remembrance}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "87--88",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Langmyhr:TB20-2-89,
+ author = "Dag Langmyhr",
+ title = "{Roswitha von den Schulenburg Graham}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "89--89",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB20-2-89,
+ author = "Mimi Burbank",
+ title = "{You meet the nicest people \dots\ Father Everett
+ Larguier}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "89--90",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gaulle:TB20-2-91,
+ author = "Bernard Gaulle",
+ title = "{{The {\tt french} package on and off \CTAN}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "91--92",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-92,
+ author = "Anonymous",
+ title = "{{Response from the {\CTAN} team}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "92--92",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB20-2-92,
+ author = "Barbara Beeton",
+ title = "{Editor's commentary}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "92--92",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB20-2-93,
+ author = "Jonathan Fine",
+ title = "{The good name of \TeX}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "93--93",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Olsak:TB20-2-93,
+ author = "Petr Ol{\v{s}}ak",
+ title = "{Reply}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "93--93",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB20-2-94,
+ author = "Peter Flynn",
+ title = "{Typographers' Inn}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "94--95",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gelderman:TB20-2-96,
+ author = "Maarten Gelderman",
+ title = "{A short introduction to font characteristics}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "96--104",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jackowski:TB20-2-104,
+ author = "Bogus{\l}aw Jackowski",
+ title = "{\MF: Practical and impractical applications}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "104--119",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pandey:TB20-2-119,
+ author = "Anshuman Pandey",
+ title = "{Typesetting Bengali in \TeX}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "119--126",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoppner:TB20-2-127,
+ author = "Klaus H{\"o}ppner",
+ title = "{{The {\sl CTAN May 1999} \acro{CD ROM} set by
+ \acro{DANTE} e.V. and Lehmanns bookstore}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "127--127",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Dobbelsteen:TB20-2-128,
+ author = "Gilbert van den Dobbelsteen",
+ title = "{{Interacting pdf\TeX{}, \acro{PERL} and \CONTEXT}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "128--133",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tolksdorf:TB20-2-134,
+ author = "Robert Tolksdorf",
+ title = "{{\NetBibTeX{}ing}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "134--140",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibbons:TB20-2-141,
+ author = "Jeremy Gibbons",
+ title = "{Hey --- it works!}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "141--142",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-143,
+ author = "Anonymous",
+ title = "{{{\sl Les Cahiers GUTenberg}, Contents of Issues 31
+ (December 1998) and 32 (May 1999)}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "143--145",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-146,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "146--147",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB20-2-147,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "147--147",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-147,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "147--147",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Preston:TB20-2-140,
+ author = "Roy Preston",
+ title = "{Monk-ey business}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "140--140",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-148,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "148--148",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-150,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "150--150",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-149,
+ author = "Anonymous",
+ title = "{Cambridge University Press}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "149--149",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-151,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "151--151",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-152,
+ author = "Anonymous",
+ title = "{Y\&Y Inc.}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "152--152",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-2-Cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "2",
+ pages = "Cover 3",
+ month = jun,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB20-3-155,
+ author = "Christina Thiele",
+ title = "{Vancouver in August}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "155--159",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-160,
+ author = "Anonymous",
+ title = "{TUG\,'99 Program}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "160--161",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fulling:TB20-3-162,
+ author = "Stephen A. Fulling",
+ title = "{{\ninesmc Keynote:} {\TeX\ and the Web in the higher
+ education of the future: Dreams and difficulties}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "162--166",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ion:TB20-3-167,
+ author = "Patrick D. F. Ion",
+ title = "{{Math\acro{ML}: A key to math on the Web}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "167--175",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lovell:TB20-3-176,
+ author = "Douglas Lovell",
+ title = "{{\TeXML: Typesetting {\XML} with \TeX}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "176--183",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Topping:TB20-3-184,
+ author = "Paul Topping",
+ title = "{{Using {\ssf MathType} to create {\TeX} and
+ Math\acro{ML} equations}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "184--188",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rowley:TB20-3-189,
+ author = "Chris Rowley",
+ title = "{Models and languages for formatted documents}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "189--195",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Story:TB20-3-196,
+ author = "D. P. Story",
+ title = "{{Acro\TeX: Acrobat and {\TeX} team up}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "196--201",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doumont:TB20-3-202,
+ author = "Jean-luc Doumont",
+ title = "{{Doing it my way: A lone {\TeX}er in the real
+ world}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "202--207",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB20-3-208,
+ author = "Peter Flynn",
+ title = "{{The {\ssf vulcan} package: A repair patch for
+ \LaTeX}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "208--213",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carlisle:TB20-3-214,
+ author = "David Carlisle and Frank Mittelbach and Chris Rowley",
+ title = "{{New interfaces for {\LaTeX} class design, Parts I
+ and II}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "214--216",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bazargan:TB20-3-217,
+ author = "Kaveh Bazargan",
+ title = "{Multi-use documents: The role of the publisher}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "217--220",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bartlett:TB20-3-221,
+ author = "Frederick H. Bartlett",
+ title = "{{Very like a nail: Typesetting \acro{SGML} with
+ \TeX}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "221--221",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Payne:TB20-3-222,
+ author = "Harry Payne",
+ title = "{Making a book from contributed papers: Print and Web
+ versions}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "222--226",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kruse:TB20-3-227,
+ author = "Robert L. Kruse",
+ title = "{Managing large projects with \PreTeX: A preprocessor
+ for \TeX}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "227--230",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ogawa:TB20-3-231,
+ author = "Arthur Ogawa",
+ title = "{{Database publishing with {\Java} and \TeX}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "231--231",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mailhot:TB20-3-232,
+ author = "Paul A. Mailhot",
+ title = "{{Implementing dynamic cross-referencing and
+ \acro{PDF} with \PreTeX}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "232--236",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wang:TB20-3-237,
+ author = "Hu Wang",
+ title = "{A Web-based submission system for meeting
+ abstracts}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "237--240",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Sojka:TB20-3-241,
+ author = "Petr Sojka",
+ title = "{Hyphenation on demand}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "241--247",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB20-3-248,
+ author = "Jonathan Fine",
+ title = "{{Active {\TeX} and the \acro{DOT} input syntax}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "248--254",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doumont:TB20-3-255,
+ author = "Jean-luc Doumont",
+ title = "{Drawing effective (and beautiful) graphs with \TeX}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "255--261",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{McKay:TB20-3-262,
+ author = "Wendy McKay and Ross Moore",
+ title = "{{Convenient labelling of graphics, the {\WARMreader}
+ way}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "262--271",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lesenko:TB20-3-272,
+ author = "Sergey Lesenko and Laurent Siebenmann",
+ title = "{{Viewing \acro{DVI} files with Acrobat Reader:
+ \acro{DVIPDF} gives birth to Acro\acro{DVI}}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "272--281",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB20-3-282,
+ author = "Alan Hoenig",
+ title = "{{{\it MathKit\/}: Alternatives to Computer Modern
+ Mathematics}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "282--289",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Popineau:TB20-3-290,
+ author = "Fabrice Popineau",
+ title = "{{fp\TeX{}: A te\TeX-based distribution for
+ Windows}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "290--297",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Arthur:TB20-3-298,
+ author = "Jeffrey \Mc Arthur",
+ title = "{{Managing {\TeX} software development projects}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "298--306",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Murphy:TB20-3-307,
+ author = "Timothy Murphy",
+ title = "{{{\Java} and \TeX}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "307--312",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB20-3-313,
+ author = "Christina Thiele",
+ title = "{{Barbara N. Beeton: \acro{TUG} Board member for 20
+ years}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "313--315",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB20-3-316,
+ author = "Christina Thiele",
+ title = "{{Text of \,{\rm The Apocalypse\/} as graphics, by
+ Prof. Alban Grimm}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "316--316",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Grimm:TB20-3-317,
+ author = "Prof. Alban Grimm",
+ title = "{{Text of \,{\rm The Apocalypse\/} as graphics}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "317--319",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gurari:TB20-3-320,
+ author = "Eitan Gurari and Sebastian Rahtz",
+ title = "{{{\LaTeX} to {\XML}/Math\acro{ML}}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "320--320",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Story:TB20-3-321,
+ author = "D. P. Story",
+ title = "{{How to create quality interactive \acro{PDF}
+ documents for the \acro{WWW} using \LaTeX}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "321--321",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doob:TB20-3-322,
+ author = "Michael Doob",
+ title = "{Writing class files: First steps}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "322--322",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoover:TB20-3-323,
+ author = "Anita Hoover",
+ title = "{{Converting a {\LaTeX} 2.09 style to a {\LaTeXe}
+ class}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "323--323",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fulling:TB20-3-324,
+ author = "Stephen A. {Fulling (Moderator)}",
+ title = "{{{\TeX} and math on the Web}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "324--324",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bazargan:TB20-3-325,
+ author = "Kaveh {Bazargan (Moderator)}",
+ title = "{{{\TeX} in publishing}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "325--325",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ogawa:TB20-3-326,
+ author = "Arthur {Ogawa (Moderator)}",
+ title = "{The Future of \LaTeX}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "326--326",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-329,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "329--330",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-154,
+ author = "Anonymous",
+ title = "{TUG2000\Dash The \nth{21} Annual Conference}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "154--154",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-331,
+ author = "Anonymous",
+ title = "{{\acro{GUT}enberg\,2000\Dash{\LaTeX} and {\XML}:
+ Cooperating with the Internet}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "331--331",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Preston:TB20-3-330,
+ author = "Roy Preston",
+ title = "{An Analogy with Web Sites}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "330--330",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-327,
+ author = "Anonymous",
+ title = "{{\acro{TUG}\,'99 Attendees}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "327--328",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-332,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "332--332",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-333,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "333--333",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-334,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "334--334",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-335,
+ author = "Anonymous",
+ title = "{Cambridge University Press}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "335--335",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-336,
+ author = "Anonymous",
+ title = "{Y\&Y Inc.}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "336--336",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-3-cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "3",
+ pages = "Cover 3",
+ month = sep,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-339,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "339--340",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB20-4-341,
+ author = "Mimi Jett",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "341--341",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB20-4-342,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "342--343",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB20-4-344,
+ author = "Peter Flynn",
+ title = "{Typographers' Inn}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "344--347",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Koutny:TB20-4-347,
+ author = "Vladim{\'{\i}}r Koutn{\'y}",
+ title = "{TrueType fonts in \TeX}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "347--348",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zyka:TB20-4-348,
+ author = "V{\'{\i}}t Z{\'y}ka",
+ title = "{The semaphore alphabet}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "348--350",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Travis:TB20-4-350,
+ author = "Brian E. Travis",
+ title = "{{The Paper Path: \acro{XML} to paper using
+ \TeX\acro{ML}}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "350--356",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Strokov:TB20-4-356,
+ author = "Igor I. Strokov",
+ title = "{{A \acro{WYSIWYG} {\TeX} implementation}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "356--359",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Casselman:TB20-4-359,
+ author = "Bill Casselman",
+ title = "{{{\it The {\LaTeX} Graphics Companion\/} and {\it
+ {\TeX} Unbound}\Dash A review of two books}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "359--364",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB20-4-364,
+ author = "Peter Flynn",
+ title = "{{{\it Digital Typography}, by Donald Knuth}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "364--366",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB20-4-366,
+ author = "Jonathan Fine",
+ title = "{{The good name of {\TeX} (\tubissue 20(2), p. 93)}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "366--366",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB20-4-366,
+ author = "Christina Thiele",
+ title = "{{\acro{TUG}\,99 (\tubissue 20(3))}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "366--366",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hefferon:TB20-4-367,
+ author = "{Jim Hef{}feron}",
+ title = "{{A {\CTAN} search page}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "367--367",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibbons:TB20-4-367,
+ author = "Jeremy Gibbons",
+ title = "{Hey --- it works!}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "367--370",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB20-4-370,
+ author = "Christina Thiele",
+ title = "{The treasure chest}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "370--374",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{LPT:TB20-4-375,
+ author = "{{\LaTeX} project team}",
+ title = "{{{\LaTeX} News, Issue 12, December 1999}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "375--375",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Shawyer:TB20-4-376,
+ author = "Bruce Shawyer",
+ title = "{Scaled pictures in \LaTeX}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "376--377",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB20-4-378,
+ author = "Philip Taylor",
+ title = "{{Book design for {\TeX} users: Part 2: Practice}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "378--389",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moore:TB20-4-389,
+ author = "Ross Moore",
+ title = "{Preparation of documents for multiple modes of
+ delivery\Dash Notes from TUG'99}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "389--394",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-394,
+ author = "Anonymous",
+ title = "{{{\sl Les Cahiers GUTenberg}, Contents of double
+ issue 33/34 (November 1999)}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "394--395",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-395,
+ author = "Anonymous",
+ title = "{Euro\TeX\,'99 Proceedings\Dash Paperless \TeX}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "395--398",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-399,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "399--400",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-401,
+ author = "Anonymous",
+ title = "{{TUG\,2000\Dash The \nth{21} Annual Conference}}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "401--401",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB20-4-400,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "400--400",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-400,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "400--400",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Preston:TB20-4-340,
+ author = "Roy Preston",
+ title = "{Download free fonts!}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "340--340",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-402,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "402--402",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-403,
+ author = "Anonymous",
+ title = "{Statement of ownership}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "403--403",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-403-2,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "403--403",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-404,
+ author = "Anonymous",
+ title = "{Y\&Y Inc.}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "404--404",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB20-4-Cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "20",
+ number = "4",
+ pages = "Cover 3",
+ month = dec,
+ year = "1999",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "3--3",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB21-1-5,
+ author = "Mimi Jett",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "5--5",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB21-1-6,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "6--6",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fujita:TB21-1-7,
+ author = "Shinsaku Fujita and Nobuya Tanaka",
+ title = "{{\XyMTeX (Version 2.00) as implementation of the
+ \XyM{} notation and the \XyM{} markup language}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "7--14",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hefferon:TB21-1-15,
+ author = "{Jim Hef{}feron}",
+ title = "{{The {\TUG} {\CTAN} site makes a move}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "15--15",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Team:TB21-1-16,
+ author = "{The \TUB{} Team}",
+ title = "{{\TeXLive{} 5 and the \TeX{} Catalogue}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "16--16",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-17,
+ author = "Anonymous",
+ title = "{{Graham Williams' \TeX{} Catalogue}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "17--90",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-xx,
+ author = "Anonymous",
+ title = "{Supplement: {\TeXLive} 5 CD}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "??--??",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB21-1-91,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "91--91",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-92,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "92--92",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-4,
+ author = "Anonymous",
+ title = "{{TUG2000\Dash The \nth{21} Annual Conference}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "4--4",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB21-1-93,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "93--93",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-93,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "93--93",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-94,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "94--94",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-95,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "95--95",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Farley:TB21-1-15,
+ author = "David Farley",
+ title = "{Don Knuth finally sells out}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "15--15",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-96,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "96--96",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-1-Cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "1",
+ pages = "Cover 3",
+ month = mar,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-99,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "99--99",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB21-2-101,
+ author = "Mimi Jett",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "101--101",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB21-2-102,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "102--103",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Levien:TB21-2-103,
+ author = "Advogato (Raph Levien)",
+ title = "{Interview: Donald E. Knuth}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "103--110",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gratzer:TB21-2-111,
+ author = "G. Gr{\"a}tzer",
+ title = "{Turbulent transition}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "111--113",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lemberg:TB21-2-113,
+ author = "Werner Lemberg",
+ title = "{Thai fonts}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "113--120",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Toledo:TB21-2-121,
+ author = "Sivan Toledo",
+ title = "{Exploiting rich fonts}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "121--129",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berdnikov:TB21-2-129,
+ author = "Alexander Berdnikov and Hans Hagen and Taco Hoekwater
+ and Bogus{\l}aw Jackowski",
+ title = "{Even more MetaFun with \MP: A request for
+ permission}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "129--130",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hobby:TB21-2-131,
+ author = "John D. Hobby",
+ title = "{Extending \MP: Response to ``Even more MetaFun''}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "131--132",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB21-2-132,
+ author = "Barbara Beeton",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "132--133",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gibbons:TB21-2-133,
+ author = "Jeremy Gibbons",
+ title = "{Hey --- it works!}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "133--135",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thiele:TB21-2-136,
+ author = "Christina Thiele",
+ title = "{The treasure chest}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "136--142",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{LPT:TB21-2-143,
+ author = "{{\LaTeX} project team}",
+ title = "{{{\LaTeX} News, Issue 13, June 2000}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "143--143",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-144,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "144--145",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-148,
+ author = "Anonymous",
+ title = "{{TUG2000\Dash The \nth{21} Annual Conference}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "148--148",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burbank:TB21-2-146,
+ author = "Mimi Burbank",
+ title = "{Production notes}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "146--146",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-146,
+ author = "Anonymous",
+ title = "{Future issues}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "146--146",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Preston:TB21-2-100,
+ author = "Roy Preston",
+ title = "{Font identification}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "100--100",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{DeLand:TB21-2-145,
+ author = "Donald DeLand",
+ title = "{Report from the TUG Treasurer}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "145--146",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-147,
+ author = "Anonymous",
+ title = "{{2001 {\TeX} Users Group election}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "147--147",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-149,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "149--149",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-150,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "150--150",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-151,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "151--151",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-152,
+ author = "Anonymous",
+ title = "{{IBM {\sf techexplorer}}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "152--152",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "Cover 3",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-2-,
+ author = "Anonymous",
+ title = "{{\CTAN\ \acro{CD}s: A 3-disk collection}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "2",
+ pages = "{}",
+ month = jun,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fairbairns:TB21-3-155,
+ author = "Robin Fairbairns",
+ title = "{Editorial Comments\Dash TUG\,'2000}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "155--156",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-157,
+ author = "Anonymous",
+ title = "{TUG\,'2000 Program}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "157--158",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bayart:TB21-3-159,
+ author = "Benjamin Bayart",
+ title = "{The description language chosen for {\FDNTeX}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "159--175",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB21-3-176,
+ author = "Barbara Beeton",
+ title = "{Unicode and math, a combination whose time has
+ come\Dash Finally!}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "176--185",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berdnikov:TB21-3-186,
+ author = "Alexander Berdnikov and Yury Yarmola and Olga Lapko
+ and Andrew Janishewsky",
+ title = "{Some experience in converting LH Fonts from {\MF} to
+ Type1 format {\Abstract}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "186--186",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bzyl:TB21-3-187,
+ author = "W{\l}odek Bzyl",
+ title = "{Typesetting {\TeX} documents containing computer
+ code}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "187--192",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Carlisle:TB21-3-193,
+ author = "David Carlisle",
+ title = "{\smc xmltex}: {A} non validating (and not 100\%
+ conforming) namespace aware {{\smc XML}} parser
+ implemented in {\TeX}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "193--199",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{DeLand:TB21-3-200,
+ author = "Donald DeLand",
+ title = "{Developing interactive, Web-based courseware
+ {\Abstract}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "200--200",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Downes:TB21-3-201,
+ author = "Michael Downes",
+ title = "{The {\tt amsrefs} {\LaTeX} package and the {\tt
+ amsxport} {\BibTeX} style}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "201--209",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB21-3-210,
+ author = "Jonathan Fine",
+ title = "{Line breaking and page breaking}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "210--221",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB21-3-222,
+ author = "Michel Goossens and Sebastian Rahtz",
+ title = "{Passive\TeX}: from {\XML} to {\PDF}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "222--234",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gostanza:TB21-3-235,
+ author = "Pedro Palao Gostanza",
+ title = "{Fast scanners and self-parsing in {\TeX}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "235--242",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kakugawa:TB21-3-243,
+ author = "Hirotsugu Kakugawa",
+ title = "{A device-independent \acro{DVI} interpreter library
+ for various output devices}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "243--249",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kolodin:TB21-3-250,
+ author = "M. Y. Kolodin and O. V. Eterevksy and O. G. Lapko and
+ and I. A. Makhovaya",
+ title = "{``Russian style'' with {\LaTeX} and {\ssf babel}:
+ what does it look like and how does it work
+ {\Abstract}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "250--250",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kostin:TB21-3-251,
+ author = "Alex Kostin and Michael Vulis",
+ title = "{Mixing {\TeX} \& PostScript: The {\GeX} model}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "251--264",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lavaud:TB21-3-265,
+ author = "Michel Lavaud",
+ title = "{The {As\TeX} Assistant and Navigator {\Abstract}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "265--265",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lipkin:TB21-3-266,
+ author = "Bernice Sacks Lipkin",
+ title = "{{\LaTeX} and the personal database}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "266--277",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB21-3-278,
+ author = "Frank Mittelbach",
+ title = "{Formatting documents with floats: A new algorithm
+ for {\LaTeXe}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "278--290",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Murphy:TB21-3-291,
+ author = "Timothy Murphy",
+ title = "{The {Penrose} notation: a {\LaTeX} challenge
+ {\Abstract}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "291--291",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Syropoulos:TB21-3-292,
+ author = "Apostolos Syropoulos and Richard W. D. Nickalls",
+ title = "{A {Perl} port of the {\mathsPIC} graphics package}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "292--297",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Nikulina:TB21-3-298,
+ author = "Marina Yu. Nikulina and Alexander S. Berdnikov",
+ title = "{Chess macros for chess games and puzzles}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "298--302",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Plaice:TB21-3-303,
+ author = "John Plaice",
+ title = "{Omega version 2 {\Abstract}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "303--303",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Taylor:TB21-3-304,
+ author = "Philip Taylor and Ji\v{r}{\'\i} Zlatu{\v{s}}ka",
+ title = "{The {\NTS} project: from conception to birth
+ {\Abstract}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "304--304",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-306,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "306--307",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-154,
+ author = "Anonymous",
+ title = "{{\acro{TUG}'2001 {Announcement}}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "154--154",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-305,
+ author = "Anonymous",
+ title = "{Miscellaneous photos}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "305--305",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-308,
+ author = "Anonymous",
+ title = "{{\acro{TUG}\,'2000 {Attendees}}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "308--309",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-307,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "307--307",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-310,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "310--310",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-311,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "311--311",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-312,
+ author = "Anonymous",
+ title = "{IBM \ssf techexplorer}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "312--312",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-3-cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "3",
+ pages = "Cover 3",
+ month = sep,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB21-4-315,
+ author = "Barbara Beeton",
+ title = "{Editorial Comments}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "4",
+ pages = "315",
+ month = dec,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-4-435,
+ author = "Anonymous",
+ title = "{{\acro{TUG}\,'2001 Announcement}}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "4",
+ pages = "435",
+ month = dec,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-4-436,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "4",
+ pages = "436",
+ month = dec,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-4-437,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "4",
+ pages = "437",
+ month = dec,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-4-438,
+ author = "Anonymous",
+ title = "{{TUG} membership application}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "4",
+ pages = "438",
+ month = dec,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-4-439,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "4",
+ pages = "439",
+ month = dec,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-4-440,
+ author = "Anonymous",
+ title = "{IBM \ssf techexplorer}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "4",
+ pages = "440",
+ month = dec,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB21-4-cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "21",
+ number = "4",
+ pages = "{Cover 3}",
+ month = dec,
+ year = "2000",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-3,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "3--3",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB22-12-5,
+ author = "Mimi Jett",
+ title = "{From the President}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "5--5",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB22-12-6,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "6--7",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hefferon:TB22-12-8,
+ author = "Jim Hef{}feron",
+ title = "{Why \TeX?}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "8--14",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-15,
+ author = "Anonymous",
+ title = "{{Question \& Answer session with Donald Knuth,
+ \acro{U.K.\,TUG}, Oxford, Sunday, 12 September 1999}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "15--19",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-20,
+ author = "Anonymous",
+ title = "{{How \AllTeX{} changed the face of mathematics: An
+ {\ssf E}-interview with Leslie Lamport, the author of
+ \LaTeX}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "20--22",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB22-12-23,
+ author = "Peter Flynn",
+ title = "{Typographers' inn}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "23--23",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB22-12-24,
+ author = "Frank Mittelbach",
+ title = "{Laudatio for Professor Hermann Zapf}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "24--26",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Zapf:TB22-12-26,
+ author = "Hermann Zapf",
+ title = "{My collaboration with Don Knuth and my font design
+ work}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "26--30",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB22-12-31,
+ author = "Barbara Beeton",
+ title = "{Hyphenation exception log}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "31--32",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jackson:TB22-12-32,
+ author = "Laura Elizabeth Jackson and Herbert Vo{\ss}",
+ title = "{{{\LyX} --- An Open Source document processor}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "32--41",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Lewenberg:TB22-12-42,
+ author = "Adam H. Lewenberg",
+ title = "{{\acro{DVII}: A {\TeX} dvi file information
+ utility}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "42--45",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hobby:TB22-12-46,
+ author = "John D. Hobby",
+ title = "{Drawing graphs with {\MP}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "46--58",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hagen:TB22-12-58,
+ author = "Hans Hagen",
+ title = "{The status quo of the {\NTS} project}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "58--66",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Adams:TB22-12-67,
+ author = "William Adams",
+ title = "{The treasure chest}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "67--74",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Gratzer:TB22-12-74,
+ author = "George Gr{\"a}tzer",
+ title = "{Publishing legacy documents on the {Web}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "74--78",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Roegel:TB22-12-78,
+ author = "Denis Roegel",
+ title = "{Anatomy of a macro}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "78--82",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Eijkhout:TB22-12-83,
+ author = "Victor Eijkhout",
+ title = "{The bag of tricks}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "83--86",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mauw:TB22-12-87,
+ author = "Sjouke Mauw and Victor Bos",
+ title = "{Drawing message sequence charts with {\LaTeX}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "87--92",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Mittelbach:TB22-12-93,
+ author = "Frank Mittelbach",
+ title = "{The {\sf trace} package}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "93--99",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-100,
+ author = "Anonymous",
+ title = "{{{\sl Les Cahiers GUTenberg}, Contents of issues
+ 35/36 (May 2000) and 37/38 (December 2000)}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "100--102",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-103,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "103--104",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-105,
+ author = "Anonymous",
+ title = "{{\acro{TUG}\,2001 Announcement}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "105--105",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{DeMeritt:TB22-12-106,
+ author = "Susan DeMeritt",
+ title = "{Minutes of \TeX\ Users Group Annual General Meeting,
+ 15 August 2000, Oxford, England}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "106--106",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{DeLand:TB22-12-107,
+ author = "Don DeLand",
+ title = "{Financial statement, 2000}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "107--107",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ogawa:TB22-12-xx,
+ author = "Arthur Ogawa",
+ title = "{{\acro{TUG} Election Notice}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "??--??",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-110,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "110--110",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-111,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "111--111",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-112,
+ author = "Anonymous",
+ title = "{Just Published: \TeX\ Reference Manual by David
+ Bausum}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "112--112",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-12-cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "1/2",
+ pages = "Cover 3",
+ month = mar,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-3-115,
+ author = "Anonymous",
+ title = "{TUG\,2001 Program}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "115--116",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-3-117,
+ author = "Anonymous",
+ title = "{Participants at the 22nd Annual TUG Meeting}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "117--117",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hagen:TB22-3-118,
+ author = "Hans Hagen",
+ title = "{Where will the odyssey bring us?}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "118--118",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Jett:TB22-3-119,
+ author = "Mimi Jett",
+ title = "{Future of publishing, Part 2}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "119--119",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Richter:TB22-3-120,
+ author = "William Richter",
+ title = "{Integrating \TeX\ into a document imaging system}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "120--130",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ogawa:TB22-3-131,
+ author = "Arthur Ogawa",
+ title = "{{REV\TeX} version 4.0, an authoring package by the
+ {American Physical Society}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "131--133",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schwartz:TB22-3-134,
+ author = "Anita {Schwartz (Chair)}",
+ title = "{The \TeX\ History Panel}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "134--135",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hagen:TB22-3-136,
+ author = "Hans Hagen",
+ title = "{Using \TeX\ for high end typesetting}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "136--136",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Flynn:TB22-3-137,
+ author = "Peter Flynn",
+ title = "{{\TeX}---a mass market product? Or just an image in
+ need of a makeover?}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "137--139",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tulett:TB22-3-140,
+ author = "David Tulett",
+ title = "{{\LaTeX} for Windows: a user's perspective}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "140--145",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Thanh:TB22-3-146,
+ author = "H{\'a}n Th\^e\llap{\raise 0.5ex\hbox{\'{\relax}}} Th{\'a}nh",
+ title = "{Margin kerning and font expansion with {pdf\TeX}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "146--148",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moore:TB22-3-149,
+ author = "Ross Moore",
+ title = "{PDF presentations using the Marslide package}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "149--159",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hagen:TB22-3-160,
+ author = "Hans Hagen",
+ title = "{Using \TeX\ to enhance your presentations}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "160--160",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Story:TB22-3-161,
+ author = "Donald P. Story",
+ title = "{Techniques of introducing document-level JavaScript
+ into a \acro{PDF} file from a {\LaTeX} source}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "161--167",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moore:TB22-3-168,
+ author = "Ross Moore",
+ title = "{Online self-marking quizzes, {pdf\TeX}, exerquiz}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "168--179",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Schroder:TB22-3-180,
+ author = "Martin Schr{\"o}der",
+ title = "{Using {pdf\TeX} in a \acro{PDF}-based imposition
+ tool}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "180--180",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB22-3-181,
+ author = "Nelson Beebe",
+ title = "{pdf{\TeX} Panel}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "181--187",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moore:TB22-3-188,
+ author = "Ross Moore",
+ title = "{Adobe plugin for \acro{WARM}reader}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "188--196",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Oliver:TB22-3-197,
+ author = "Stephen Oliver",
+ title = "{The \TeX{}spec tool for computer-aided software
+ engineering}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "197--203",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hammond:TB22-3-204,
+ author = "William Hammond",
+ title = "{{\acro{GELLMU}: A bridge for authors from {\LaTeX} to
+ \acro{XML}}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "204--207",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Caviness:TB22-3-208,
+ author = "Bob Caviness",
+ title = "{Creating Math Web Documents (Workshop)}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "208--208",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB22-3-209,
+ author = "Alan Hoenig",
+ title = "{Typesetting {Hebrew} with \TeX}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "209--215",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hoenig:TB22-3-216,
+ author = "Alan Hoenig",
+ title = "Modernizing {Computer Modern}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "216--219",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beebe:TB22-3-220,
+ author = "Nelson Beebe",
+ title = "{Fonts Panel}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "220--227",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Downes:TB22-3-228,
+ author = "Michael Downes",
+ title = "Managing multiple {\acro{TDS}} trees",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "228--237",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Doob:TB22-3-238,
+ author = "Michael Doob",
+ title = "Installing a {\acro{CTAN}} mirror on your desktop",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "238--239",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Koch:TB22-3-240,
+ author = "Richard Koch",
+ title = "Installing {{\TeX{}shop}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "240--246",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Adams:TB22-3-247,
+ author = "William Adams",
+ title = "Font installation: {Agfa\slash Eaglefeather} to
+ {Linotype Zapfino}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "247--250",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-3-251,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "251--252",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-3-253,
+ author = "Anonymous",
+ title = "{{\acro{TUG}\,2003 Announcement}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "253--253",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-3-254,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "254--254",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-3-255,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "255--255",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-3-256,
+ author = "Anonymous",
+ title = "{Just Published: \TeX\ Reference Manual by David
+ Bausum}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "256--256",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-3-cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "3",
+ pages = "Cover 3",
+ month = sep,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-259,
+ author = "Anonymous",
+ title = "{Addresses}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "259--260",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Ogawa:TB22-4-261,
+ author = "Arthur Ogawa",
+ title = "{From the Board of Directors}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "261--263",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Beeton:TB22-4-263,
+ author = "Barbara Beeton",
+ title = "{Editorial comments}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "263--265",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Story:TB22-4-265,
+ author = "D. P. Story",
+ title = "{{\tt execJS}: A new technique for introducing
+ discardable JavaScript into a \acro{PDF} file from a
+ {\LaTeX} source}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "265--268",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Goossens:TB22-4-269,
+ author = "Michel Goossens and Vesa Sivunen",
+ title = "{\LaTeX, \acro{SVG}, fonts}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "269--280",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Mon Aug 18 14:42:08 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Forkosh:TB22-4-280,
+ author = "John Forkosh",
+ title = "{{\sf mimeTex} announcement}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "280--281",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Berry:TB22-4-281,
+ author = "Karl Berry",
+ title = "{Making outline fonts from bitmap images}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "281--285",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fujita:TB22-4-285,
+ author = "Shinsaku Fujita and Nobuya Tanaka",
+ title = "{Size reduction of chemical structural formulas in
+ \XyMTeX (Version 3.00)}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "285--289",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Niepraschk:TB22-4-290,
+ author = "Rolf Niepraschk and Herbert Vo{\ss}",
+ title = "{{The package {\tt ps4pdf}: from \PS\ to
+ \acro{PDF}}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "290--292",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Fine:TB22-4-292,
+ author = "Jonathan Fine",
+ title = "{{Instant Preview and the {\TeX} daemon}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "292--298",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Roegel:TB22-4-298,
+ author = "Denis Roegel",
+ title = "{Space geometry with {\MP}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "298--314",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Voss:TB22-4-314,
+ author = "Jana Vo{\ss} and Herbert Vo{\ss}",
+ title = "{The plot functions of {\tt pst-plot}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "314--319",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Voss:TB22-4-319,
+ author = "Herbert Vo{\ss}",
+ title = "{Three dimensional plots with {\tt pst-3dplot}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "319--329",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Perlis:TB22-4-330,
+ author = "Alexander R. Perlis",
+ title = "{Axis alignment in {\Xypic} diagrams}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "330--334",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Obrecht:TB22-4-334,
+ author = "Christian Obrecht",
+ title = "{Eukleides: A geometry drawing language}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "334--337",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moye:TB22-4-338,
+ author = "Stephen Moye",
+ title = "{{\it \TeX\ Reference Manual}, by David Bausum}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "338--339",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Wilson:TB22-4-339,
+ author = "Peter Wilson",
+ title = "{Glisterings}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "339--341",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Adams:TB22-4-341,
+ author = "William Adams",
+ title = "{The treasure chest}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "341--348",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Tulett:TB22-4-349,
+ author = "David M. Tulett",
+ title = "{Highlighting in the {\LaTeX} picture environment}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "349--349",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Perlis:TB22-4-350,
+ author = "Alexander R. Perlis",
+ title = "{A complement to {\tt\char`\\smash},
+ {\tt\char`\\llap}, and {\tt\char`\\rlap}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "350--352",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Burt:TB22-4-353,
+ author = "John Burt",
+ title = "{Typesetting critical editions of poetry}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "353--360",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Verna:TB22-4-361,
+ author = "Didier Verna",
+ title = "{CV formatting with \curve}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "361--364",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-365,
+ author = "Anonymous",
+ title = "{{\sl Les Cahiers GUTenberg}, Contents of double
+ issue 39/40 (May 2001)}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "365--367",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-368,
+ author = "Anonymous",
+ title = "{{\acro{TUG}\,'2002 Announcement}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "368--368",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-369,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "369--370",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-371,
+ author = "Anonymous",
+ title = "{{\acro{TUG}\,'2003 Announcement}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "371--371",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-372,
+ author = "Anonymous",
+ title = "{{Euro\TeX\,'2003\Dash The \nth{14} European {\TeX}
+ Conference}}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "372--372",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Preston:TB22-4-260,
+ author = "Roy Preston",
+ title = "{Ya can't touch us!}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "260--260",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-373,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "373--373",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-374,
+ author = "Anonymous",
+ title = "{TUG membership application}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "374--374",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-375,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "375--375",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-376,
+ author = "Anonymous",
+ title = "{Just Published: \TeX\ Reference Manual by David
+ Bausum}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "376--376",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB22-4-cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "22",
+ number = "4",
+ pages = "Cover 3",
+ month = dec,
+ year = "2001",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Christiansen:TB23-1-2,
+ author = "Kaja Christiansen",
+ title = "{Editorial Comments}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "2--2",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-3,
+ author = "Anonymous",
+ title = "{TUG\,2002, Thiruvananthapuram\Dash Report and
+ travelogue}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "3--7",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-8,
+ author = "Anonymous",
+ title = "{TUG\,2002 Program}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "8--9",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-10,
+ author = "Anonymous",
+ title = "{{Participants at the \nth{23} Annual TUG Meeting}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "10--12",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kumar:TB23-1-13,
+ author = "K. Anil Kumar",
+ title = "{\TeX\ and databases\Dash\TeX DBI}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "13--16",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Babu:TB23-1-17,
+ author = "Satish Babu",
+ title = "{New horizons of free software: An Indian
+ perspective}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "17--20",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bujdoso:TB23-1-21,
+ author = "Gy{\"o}ngyi Bujdos{\'o} and Ferenc Wettl",
+ title = "{On the localization of \TeX\ in Hungary}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "21--26",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Bzyl:TB23-1-27,
+ author = "W{\l}odzimierz Bzyl",
+ title = "{The Tao of fonts}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "27--40",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Esfahbod:TB23-1-41,
+ author = "Behdad Esfahbod and Roozbeh Pournader",
+ title = "{Farsi\TeX\ and the Iranian \TeX community}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "41--45",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Feng:TB23-1-46,
+ author = "Hong Feng",
+ title = "{{The marriage of \TeX{} and Lojban}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "46--48",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Hagen:TB23-1-49,
+ author = "Hans Hagen",
+ title = "{{\ConTeXt, \acro{XML} and \TeX: State of the art?}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "49--49",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Haralambous:TB23-1-50,
+ author = "Yannis Haralambous and John Plaice",
+ title = "{{Low-level Devan\=agar\=\i{} support for Omega\Dash
+ Adapting {\tt devnag}}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "50--56",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Kastrup:TB23-1-57,
+ author = "David Kastrup",
+ title = "{{Revisiting \acro{WYSIWYG} paradigms for authoring
+ \LaTeX}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "57--64",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Moore:TB23-1-65,
+ author = "Ross Moore",
+ title = "{{serendi\acro{PDF} with searchable math-fields in
+ \acro{PDF} documents}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "65--69",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Piska:TB23-1-70,
+ author = "Karel P{\'\i}{\v{s}}ka",
+ title = "{{A conversion of public Indic fonts from {\MF} into
+ Type 1 format with \TeX{\smc trace}}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "70--73",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Popineau:TB23-1-74,
+ author = "Fabrice Popineau",
+ title = "{{\TeX{}Live under Windows: What's new with the
+ \nth{7} edition?}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "74--79",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Pournader:TB23-1-80,
+ author = "Roozbeh Pournader",
+ title = "{Catching up to Unicode}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "80--85",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rahtz:TB23-1-86,
+ author = "Sebastian Rahtz",
+ title = "{{Passive\TeX{}: An update}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "86--89",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Rajkumar:TB23-1-90,
+ author = "S. Rajkumar",
+ title = "{Indic typesetting\Dash Challenges and
+ opportunities}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "90--92",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Roegel:TB23-1-93,
+ author = "Denis Roegel",
+ title = "{{{\manual METAOBJ}\/: Very high-level objects in
+ \MP}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "93--100",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Shukla:TB23-1-101,
+ author = "Wagish Shukla and Amitabh Trehan",
+ title = "{Typesetting in Hindi, Sanskrit and Persian: A
+ beginner's perspective}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "101--105",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Skoupy:TB23-1-106,
+ author = "Karel Skoup{\'y}",
+ title = "{New typesetting language and system architecture}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "106--106",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Skoupy:TB23-1-107,
+ author = "Karel Skoup{\'y}",
+ title = "{\TeX\ file server}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "107--107",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Watt:TB23-1-108,
+ author = "Stephen M. Watt",
+ title = "{{Conserving implicit mathematical semantics in
+ conversion between {\TeX} and MathML}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "108--108",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-109,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "109--110",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-110,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "110--110",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-111,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "111--111",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-112,
+ author = "Anonymous",
+ title = "{{Just Published: {\TeX} Reference Manual by David
+ Bausum}}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "112--112",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-cover-3,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "Cover 3",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-109-2,
+ author = "Anonymous",
+ title = "{Calendar}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "109--110",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-110-2,
+ author = "Anonymous",
+ title = "{Institutional members}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "110--110",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-111-2,
+ author = "Anonymous",
+ title = "{{\TeX} consulting and production services}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "111--111",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-112-2,
+ author = "Anonymous",
+ title = "{Just Published: \TeX\ Reference Manual by David
+ Bausum}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "112--112",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
+
+@Article{Anonymous:TB23-1-cover-3-2,
+ author = "Anonymous",
+ title = "{Blue Sky Research}",
+ journal = j-TUGboat,
+ volume = "23",
+ number = "1",
+ pages = "Cover 3",
+ month = "",
+ year = "2002",
+ ISSN = "0896-3207",
+ bibdate = "Sat Jul 5 17:27:22 MDT 2003",
+ bibsource = "ftp://ftp.math.utah.edu/pub/tex/bib/tugboat.bib;
+ http://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat",
+ acknowledgement = ack-bnb # " and " # ack-nhfb,
+}
diff --git a/Master/texmf-dist/bibtex/bib/bibhtml/bibrefs.bib b/Master/texmf-dist/bibtex/bib/bibhtml/bibrefs.bib
new file mode 100644
index 00000000000..1b5bbb39edb
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/bibhtml/bibrefs.bib
@@ -0,0 +1,64 @@
+% Page seems to have disappeared
+@Misc{brown95,
+ author = "Haines Brown",
+ title = "Citations of Electronic Documents in an Electronic
+ Document",
+ howpublished = "World Wide Web page",
+ year = 1995,
+ note = "Once at \url{http://neal.ctstateu.edu/history/cite.html}, now disappeared"
+}
+
+@TechReport{walker95,
+ author = "Janice R Walker",
+ title = "{MLA}-Style Citations of Electronic Sources",
+ institution = "Department of English, University of South Florida",
+ year = 1995,
+ number = "4/95",
+ month = "January",
+ note = "Endorsed by the {A}lliance for {C}omputers and {W}riting",
+ url = "http://www.columbia.edu/cu/cup/cgos/idx_basic.html",
+ lastchecked = {September 2005}
+}
+
+@webpage{emory95,
+ author = "libsf@web.cc.emory.edu",
+ title = "Citation Formats",
+ howpublished = "World Wide Web page",
+ year = 1995,
+ url = "http://www.cc.emory.edu/WHSCL/citation.formats.html"
+}
+
+@webpage{apa03,
+ author = "{American Psychological Society}",
+ title = "{APA} Style: Electronic References",
+ year = {2003},
+ url = {http://www.apastyle.org/elecref.html},
+ lastchecked = {September 2005}
+}
+
+@webpage{weapas,
+ author = {T Land},
+ title = {Web Extension to {American Psychological
+ Association} Style ({WEAPAS})},
+ howpublished = {Web page},
+ year = 1998,
+ url = {http://www.beadsland.com/weapas/},
+ lastchecked = {September 2005},
+}
+
+@webpage{iso690,
+ key = {ISO 690-2},
+ title = {{ISO 690-2}, Bibliographic references to electronic
+ documents (excerpts)},
+ howpublished = {online},
+ year = 2002,
+ url = {http://www.collectionscanada.ca/iso/tc46sc9/standard/690-2e.htm},
+ lastchecked = {September 2005}
+}
+
+@unpublished{test,
+ author = "Experimenter, A. N.",
+ title = "bibhtml tests -- how do we handle odd (~&) characters?",
+ url = "http://www.example.org/~tilde/query?arg1=%1e&arg2=one;two&moreargswhichmaketheurlquitelong",
+ note = "This is a test entry"
+}
diff --git a/Master/texmf-dist/bibtex/bib/bibtopic/articles.bib b/Master/texmf-dist/bibtex/bib/bibtopic/articles.bib
new file mode 100644
index 00000000000..289cc662bf9
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/bibtopic/articles.bib
@@ -0,0 +1,48 @@
+%%
+%% This is file `articles.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% bibtopic.dtx (with options: `articles.bib')
+%%
+%% ----------------------------------------
+%% Example BibTeX file for the documentation
+%% of the bibtopic package
+%% Copyright (C) 1998-2000 P. Basso, S. Ulrich
+%% 2001-2004 S. Ulrich
+%%
+%% (AT sign confuses bibtex, so ...)
+%% Please send bug reports to: <stefanulrich AT users.sourceforge.net>
+%%
+%% See bibtopic.ins for the copyright details.
+%%
+The following entry is an example for what's allowed by
+BibTeX syntax (see btxdoc.dvi).
+
+@incollection
+(
+ RouxSmart:95
+ ,
+ author = "M. Roux and J. Smart",
+ title = "A Model of Medical Knowledge Representation, Application
+ to the Reports Analysis of Descriptive Pathology",
+ booktitle = "Methods of Information in Medecine",
+ note = {\`A para\^{\i}tre},
+ publisher = "Schattauer",
+ address = "Holland",
+ year = 1995
+)
+
+@article{Schwind:96,
+ author = {Camilla B. Schwind},
+ title = {Knowledge Based Language Tutoring},
+ journal = {Computer Assisted Language Learning},
+ publisher = {Svets},
+ year = 1996,
+ note = {\`A para\^{\i}tre}
+}
+
+\endinput
+%%
+%% End of file `articles.bib'.
diff --git a/Master/texmf-dist/bibtex/bib/bibtopic/books.bib b/Master/texmf-dist/bibtex/bib/bibtopic/books.bib
new file mode 100644
index 00000000000..d9bb4ad2c76
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/bibtopic/books.bib
@@ -0,0 +1,38 @@
+%%
+%% This is file `books.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% bibtopic.dtx (with options: `books.bib')
+%%
+%% ----------------------------------------
+%% Example BibTeX file for the documentation
+%% of the bibtopic package
+%% Copyright (C) 1998-2000 P. Basso, S. Ulrich
+%% 2001-2004 S. Ulrich
+%%
+%% (AT sign confuses bibtex, so ...)
+%% Please send bug reports to: <stefanulrich AT users.sourceforge.net>
+%%
+%% See bibtopic.ins for the copyright details.
+%%
+@book{ColBenh:93,
+ editor = "Fr\'ed\'eric Benhamou and Alain Colmerauer" ,
+ title = "Constraint Logic programming, Selected Research",
+ publisher = "MIT Press",
+ year = 1993
+}
+
+@book{Munt:93,
+ author = {Tra{\"\i}an Muntean},
+ title = {Puces tr\`es performantes},
+ publisher = {Hatier},
+ address = {Paris},
+ series = {Terres du futur, Les Editions UNESCO},
+ year = 1993,
+}
+
+\endinput
+%%
+%% End of file `books.bib'.
diff --git a/Master/texmf-dist/bibtex/bib/biocon/literature.bib b/Master/texmf-dist/bibtex/bib/biocon/literature.bib
new file mode 100644
index 00000000000..3ed48ed7779
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/biocon/literature.bib
@@ -0,0 +1,43 @@
+@comment{This file has been generated by Pybliographer}
+
+
+@Misc{Plants,
+ Author = {{W. Greuter} and {F. R. Barrie} and {H. M. Burdet} and
+ {W. G. Chaloner} and {V. Demoulin} and {D. L.
+ Hawksworth} and {P. M. J\o{}rgensen} and {D. H.
+ Nicolson} and {P. C. Silva} and {P. Trehane} and {J.
+ McNeill}},
+ Title = {International {C}ode of {B}otanical {N}omenclature},
+ Note = {\url{http://www.bgbm.fu-berlin.de/iapt/nomenclature/code/tokyo-e/default.htm}},
+ year = 1993,
+ month = aug,
+}
+
+@Book{Goossens1994,
+ Author = {Goossens, Michel and Samarin, Alexander and
+ Mittelbach, Frank},
+ Title = {The {\LaTeX} comapanion},
+ Publisher = {Addison-Wesley},
+ year = 1994,
+}
+
+@Manual{Carlisle1999,
+ Title = {The keyval package},
+ Author = {Carlisle, David},
+ year = 1999,
+ month = {16 } # mar,
+}
+
+@Misc{Bacteria,
+ Author = {{P.H.A. Sneath}},
+ Title = {International {C}ode of {N}omenclature of {B}acteria},
+ year = 1992,
+}
+
+@Misc{Animals,
+ Title = {International {C}ode of {Z}oological {N}omenclature},
+ Note = {\url{http://www.iczn.org/code.htm}},
+ year = 1999,
+ month = aug,
+}
+
diff --git a/Master/texmf-dist/bibtex/bib/camel/camel.bib b/Master/texmf-dist/bibtex/bib/camel/camel.bib
new file mode 100644
index 00000000000..c5321a32863
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/camel/camel.bib
@@ -0,0 +1,154 @@
+%%
+%% This is file `camel.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% camel.dtx (with options: `bib')
+%%
+%% This file is part of the Camel package.
+%% ---------------------------------------
+%% This is a generated file.
+%%
+%% IMPORTANT NOTICE:
+%%
+%% You are not allowed to change this file. You may however copy
+%% this file to a file with a different name and then change the
+%% copy if (a) you do not charge for the modified code, (b) you
+%% acknowledge Camel and its author(s) in the new file, if it
+%% is distributed to others, and (c) you attach these same
+%% conditions to the new file.
+%%
+%% The above conditions do not apply to the demonstration
+%% file test.tex.
+%%
+%% You are not allowed to distribute this file alone. You are not
+%% allowed to take money for the distribution or use of this file
+%% (or a changed version) except for a nominal charge for copying
+%% etc.
+%%
+%% You are allowed to distribute this file under the condition that
+%% it is distributed with all of its contents, intact.
+%%
+%% For error reports, or offers to help make Camel a more powerful,
+%% friendlier, and better package, please contact me on
+%% `fb' at soas.ac.uk
+%%
+@string{asr..="Am.~Soc.\ Rev."}
+@book{bluebook,
+ title = {A Uniform System of Citation},
+ edition = {19th},
+ year = 1989
+}
+@book{knuth,
+ title = {The {\TeX} book},
+ year = 1990,
+ author = {D.E. Knuth}
+}
+@book{leunen,
+ author = {M.-C. van Leunen},
+ title = {A Handbook for Scholars},
+ year = 1979
+}
+@book{latex-book,
+ title = {\LaTeX: a document preparation system},
+ year = 1994,
+ author = {Leslie Lamport}
+}
+@inbook{companion-bibs,
+ title = {Bibliography Generation},
+ chapter = 13,
+ pages = {371},
+ crossref = {latex-companion}
+}
+@book{latex-companion,
+ author = {M. Goosens and Frank Mittelbach and A. Samarin},
+ title = {The \LaTeX\ Companion},
+ booktitle = {The \LaTeX\ Companion},
+ year = 1994
+}
+@techreport{oren-user,
+ author = {Oren Patashnik},
+ title = {\BibTeX ing},
+ year = 1988,
+ type = {CTAN document}
+}
+@techreport{oren-hackers,
+ author = {Oren Patashnik},
+ title = {Designing \BibTeX\ Styles},
+ type = {CTAN document},
+ year = 1988
+}
+@book{maki-constitution,
+ author = {Maki, John McGilvrey},
+ title = {Court and Constitution in Japan: Selected Supreme Court Decisions,
+ 1948-1960},
+ publisher = {Washington University Press},
+ year = 1964
+}
+@booklet{sansom-constitution,
+ author = {Sansom, {Sir} George Bailey},
+ title = {The First Japanese Constitution: A Lecture},
+ note = {delivered before the
+ Asiatic Society of Japan},
+ year = 1938
+}
+@article{macauley,
+ author = {Stuart Macauley},
+ title = {Non-Contractual Relations
+in Business: A Preliminary Study},
+ volume = {28},
+ journal = asr..,
+ pages = {55},
+ year = {1963}
+}
+@mastersthesis{homma-derivative,
+ title = {The Derivative Suit under Japanese Law as a Measure of
+ Corporate Governance},
+ author = {Masahiro Homma},
+ institution = {School of Oriental and African Studies},
+ type = {LL.M. thesis},
+ year = {1994}
+}
+@case{bradshaw-v-us,
+ title = {Bradshaw v United States},
+ cites = {231 Ct.Cl. 144 (1982) = 683 F.2d 365 (1982)}
+}
+@incollection{haley-land-lease,
+ title = {Japan's New Land and House Lease Law},
+ author = {John Owen Haley},
+ crossref = {policy-failure},
+ pages = 149,
+}
+@book{policy-failure,
+ title = {Land Issues in Japan: A Policy Failure?},
+ booktitle = {Land Issues in Japan: A Policy Failure?},
+ year = 1992
+}
+@article{appleyard-heed,
+ author = {Bryan Appleyard},
+ title = {Why Major should heed the press},
+ pages = 21,
+ journal = {The Independent},
+ year = {7 jul 1995},
+ place = {London}
+}
+@statute{sga,
+ title = {Sale of Goods Act},
+ year = {1979},
+ jurisdiction = {england}
+}
+@case{heap,
+ title = {Heap v Motorists' Advisory Agency Ltd},
+ year = 1923,
+ journal = {KB},
+ number = 1,
+ pages = 577
+}
+@case{halsall-v-brizell,
+ title = {Halsall v Brizell},
+ cites = {[1957] Ch 169 = [1957] 1 All ER 371}
+}
+\endinput
+%%
+%% End of file `camel.bib'.
diff --git a/Master/texmf-dist/bibtex/bib/computational-complexity/journals.bib b/Master/texmf-dist/bibtex/bib/computational-complexity/journals.bib
new file mode 100644
index 00000000000..426e89d9e64
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/computational-complexity/journals.bib
@@ -0,0 +1,728 @@
+===========================================================================
+Hier zuerst einige allgemeine Strings:
+===========================================================================
+
+F{\"{u}}r "urltext"-Felder hier ein paar Strings:
+
+@String{PS = "PostScript"}
+
+@String{PSZ = "Gzipped PostScript"}
+
+@String{PDF = "PDF"}
+
+@String{UPBONLY = " (accessible only from uni-paderborn)"}
+
+@String{LOCALONLY = "Available only locally"}
+
+@String{OLDLITFILE = "file:/ag/aggathen/ag/litfiles/"}
+@String{LITFILE = "file:litfiles/"}
+
+@String{PUBFILE = "http://www-math.upb.de/~aggathen/Publications/"}
+
+@String{LINKSERVICE = "http://link.springer.de/link/service/"}
+@String{LINKOPENURL = "http://www.springerlink.com/openurl.asp?"}
+
+@String{GDZURLTEXT = "G{\"{o}}ttinger Digitalisierungszentrum"}
+@String{GDZURL = "http://www-gdz.sub.uni-goettingen.de/"}
+
+@String{DOI = "http://dx.doi.org/"}
+
+@String{LNCSBIB = "http://link.springer.de/link/service/series/0558/bibs/"}
+
+@String{INPREP = "In preparation"}
+@String{SM = "Submitted"}
+@String{SMTO = "Submitted to "}
+@String{TAIN = "To appear in "}
+
+
+===========================================================================
+Und jetzt Strings f{\"{u}}r Zeitschriften udgl.
+===========================================================================
+
+@string{ECCC = "Electronic Colloquium on Computational Complexity"}
+@string{FIPS = "Federal Information Processings Standards"}
+@string{NIST = "National Institute of Standards and Technology"}
+
+
+@string{BSL = "The Bulletin of Symbolic Logic"}
+@string{CTM = "Contemporary Mathematics"}
+@string{CTC = "Contemporary Cryptology, The Science of Information Integrity"}
+@string{EMA = "Encyclopedia of Mathematics and its Applications"}
+@string{GMW = "Grundlehren der mathematischen Wissenschaften"}
+@string{GTM = "Graduate Texts in Mathematics"}
+@string{LMSLN = "London Mathematical Society Lecture Note Series"}
+@string{LNCS = "Lecture Notes in Computer Science"}
+@string{LNAI = "Lecture Notes in Artificial Intelligence"}
+@string{LNIM = "Lecture Notes in Mathematics"}
+@string{LNPAM = "Lecture Notes in Pure and Applied Mathematics"}
+@string{MCT = "Mathematical Centre Tracts"}
+@string{MIA = "Mathematics and Its Applications"}
+@string{PSAM = "Proceedings of Symposia in Applied Mathematics"}
+@string{SYM = "Symposia Mathematica"}
+@string{TMSC = "Texts and Monographs in Symbolic Computation"}
+@string{UTM = "Undergraduate Texts in Mathematics"}
+
+
+@string{AAECC3 = "Algebraic Algorithms and Error-Correcting Codes: AAECC-3"}
+@string{AAECC5 = "Applied Algebra, Algebraic Algorithms and Error-Correcting Codes: AAECC-5, {\rm Menorca, Spain}"}
+@string{AAECC6 = "Algebraic Algorithms and Error-Correcting Codes: AAECC-6, {\rm Rome, Italy, 1988}"}
+@string{AAECC8 = "Algebraic Algorithms and Error-Correcting Codes: AAECC-8"}
+@string{AAECC9 = "Algebraic Algorithms and Error-Correcting Codes: AAECC-9"}
+@string{AAECC10 = "Algebraic Algorithms and Error-Correcting Codes: AAECC-10, {\rm San Juan de Puerto Rico}"}
+@string{AAECC11 = "Algebraic Algorithms and Error-Correcting Codes: AAECC-11"}
+@string{AAECC12 = "Applied Algebra, Algebraic Algorithms and Error-Correcting Codes: AAECC-12, {\rm Toulouse, France}"}
+@string{AAECC13 = "Applied Algebra, Algebraic Algorithms and Error-Correcting Codes: AAECC-13, {\rm Hawaii}"}
+@string{AAECC14 = "Applied Algebra, Algebraic Algorithms and Error-Correcting Codes: AAECC-14, {\rm Melbourne, Australia}"}
+
+
+@string{ACO = "Algebraic Coding, First French-Israeli Workshop, {\rm Paris, France, 1993}"}
+
+
+@string{ANTS1 = "Proceedings of the First International ANTS Symposium"}
+@string{ANTS2 = "Proceedings of the Second International ANTS Symposium"}
+@string{ANTS3 = "Algorithmic Number Theory, Proceedings ANTS-III, {\rm Portland~OR}"}
+@string{ANTS4 = "Algorithmic Number Theory, Proceedings ANTS-IV, {\rm Leiden, The Netherlands}"}
+
+@string{CASC99 = "Proceedings of the Second Workshop on Computer Algebra in Scientific Computing, CASC '99, {\rm M\"unchen, Germany}"}
+
+@string{CCS93 = "CCS'93: Proceedings of the First ACM Conference on Computer
+ and Communications Security, November 1993, Fairfax,
+ Virginia, United States, November 03-05, 1993."}
+
+@string{CHES99 = "Cryptographic Hardware and Embedded Systems, First International Workshop, CHES'99, {\rm Worcester,~MA}"}
+@string{CHES00 = "Cryptographic Hardware and Embedded Systems, Workshop, CHES'00, {\rm Worcester,~MA}"}
+@string{CHES01 = "Cryptographic Hardware and Embedded Systems, Workshop, CHES'01, {\rm Paris,~France}"}
+
+@string{COCOON99 = "5th Annual International Computing and Combinatorics Conference (COCOON '99), {\rm Tokyo, Japan}, July 1999"}
+@string{COCOON00 = "6th Annual International Computing and Combinatorics Conference (COCOON 2000), {\rm Sydney, Australia}, July 2000"}
+@string{COCOON01 = "7th Annual International Computing and Combinatorics Conference (COCOON 2001), {\rm Guilin, China}, August 2001"}
+
+@string{CRYPTO83 = "Advances in Cryptology: Proceedings of CRYPTO~'83"}
+@string{CRYPTO84 = "Advances in Cryptology: Proceedings of CRYPTO~'84, {\rm Santa Barbara~CA}"}
+@string{CRYPTO85 = "Advances in Cryptology: Proceedings of CRYPTO~'85, {\rm Santa Barbara~CA}"}
+@string{CRYPTO86 = "Advances in Cryptology: Proceedings of CRYPTO~'86, {\rm Santa Barbara~CA}"}
+@string{CRYPTO87 = "Advances in Cryptology: Proceedings of CRYPTO~'87, {\rm Santa Barbara~CA}"}
+@string{CRYPTO88 = "Advances in Cryptology: Proceedings of CRYPTO~'88, {\rm Santa Barbara~CA}"}
+@string{CRYPTO89 = "Advances in Cryptology: Proceedings of CRYPTO~'89, {\rm Santa Barbara~CA}"}
+@string{CRYPTO90 = "Advances in Cryptology: Proceedings of CRYPTO~'90, {\rm Santa Barbara~CA}"}
+@string{CRYPTO91 = "Advances in Cryptology: Proceedings of CRYPTO~'91, {\rm Santa Barbara~CA}"}
+@string{CRYPTO92 = "Advances in Cryptology: Proceedings of CRYPTO~'92, {\rm Santa Barbara~CA}"}
+@string{CRYPTO93 = "Advances in Cryptology: Proceedings of CRYPTO~'93, {\rm Santa Barbara~CA}"}
+@string{CRYPTO94 = "Advances in Cryptology: Proceedings of CRYPTO~'94, {\rm Santa Barbara~CA}"}
+@string{CRYPTO95 = "Advances in Cryptology: Proceedings of CRYPTO~'95, {\rm Santa Barbara~CA}"}
+@string{CRYPTO96 = "Advances in Cryptology: Proceedings of CRYPTO~'96, {\rm Santa Barbara~CA}"}
+@string{CRYPTO97 = "Advances in Cryptology: Proceedings of CRYPTO~'97, {\rm Santa Barbara~CA}"}
+@string{CRYPTO98 = "Advances in Cryptology: Proceedings of CRYPTO~'98, {\rm Santa Barbara~CA}"}
+@string{CRYPTO99 = "Advances in Cryptology: Proceedings of CRYPTO~'99, {\rm Santa Barbara~CA}"}
+@string{CRYPTO00 = "Advances in Cryptology: Proceedings of CRYPTO~'00, {\rm Santa Barbara~CA}"}
+@string{CRYPTO01 = "Advances in Cryptology: Proceedings of CRYPTO~'01, {\rm Santa Barbara~CA}"}
+@string{CRYPTO02 = "Advances in Cryptology: Proceedings of CRYPTO~'02, {\rm Santa Barbara~CA}"}
+@String{CRYPTO03 = "Advances in Cryptology: Proceedings of CRYPTO '04: {\rm Santa Barbara, CA}"}
+@String{CRYPTO04 = "Advances in Cryptology: Proceedings of CRYPTO '04: {\rm Santa Barbara, CA}"}
+
+
+@string{EUCAL82 = "Proceedings of EUROCAL 1982"}
+@string{EUCAL83 = "Proceedings of EUROCAL 1983, {\rm London,~UK}"}
+@string{EUCAL85 = "Proceedings of EUROCAL 1985"}
+
+
+@string{EUCRY84 = "Advances in Cryptology: Proceedings of EUROCRYPT 1984, {\rm Paris, France}"}
+@string{EUCRY85 = "Advances in Cryptology: Proceedings of EUROCRYPT 1985"}
+@string{EUCRY87 = "Advances in Cryptology: Proceedings of EUROCRYPT 1987, {\rm Amsterdam, The Netherlands}"}
+@string{EUCRY88 = "Advances in Cryptology: Proceedings of EUROCRYPT 1988"}
+@string{EUCRY89 = "Advances in Cryptology: Proceedings of EUROCRYPT 1989, {\rm Houthalen, Belgium}"}
+@string{EUCRY90 = "Advances in Cryptology: Proceedings of EUROCRYPT 1990, {\rm Aarhus, Denmark}"}
+@string{EUCRY91 = "Advances in Cryptology: Proceedings of EUROCRYPT 1991, {\rm Brighton, UK}"}
+@string{EUCRY92 = "Advances in Cryptology: Proceedings of EUROCRYPT 1992, {\rm Balatonf{\"u}red, Hungary}"}
+@string{EUCRY93 = "Advances in Cryptology: Proceedings of EUROCRYPT 1993, {\rm Lofthus, Norway}"}
+@string{EUCRY94 = "Advances in Cryptology: Proceedings of EUROCRYPT 1994, {\rm Perugia, Italy}"}
+@string{EUCRY95 = "Advances in Cryptology: Proceedings of EUROCRYPT 1995, {\rm Saint-Malo, France}"}
+@string{EUCRY96 = "Advances in Cryptology: Proceedings of EUROCRYPT 1996, {\rm Saragossa}"}
+@string{EUCRY97 = "Advances in Cryptology: Proceedings of EUROCRYPT 1997, {\rm Konstanz, Germany}"}
+@string{EUCRY98 = "Advances in Cryptology: Proceedings of EUROCRYPT 1998, {\rm Santa Barbara, CA}"}
+@string{EUCRY99 = "Advances in Cryptology: Proceedings of EUROCRYPT 1999, {\rm Prague, Czech Republic}"}
+@string{EUCRY00 = "Advances in Cryptology: Proceedings of EUROCRYPT 2000, {\rm Bruges, Belgium}"}
+@string{EUCRY01 = "Advances in Cryptology: Proceedings of EUROCRYPT 2001, {\rm Aarhus, Denmark}"}
+@string{EUCRY02 = "Advances in Cryptology: Proceedings of EUROCRYPT 2002, {\rm Amsterdam, The Netherlands}"}
+
+
+@string{ASCRY94 = "Advances in Cryptology: Proceedings of ASIACRYPT 1994, {\rm Wollongong, Australia}"}
+@string{ASCRY96 = "Advances in Cryptology: Proceedings of ASIACRYPT 1996, {\rm
+Kyongju, Korea}"}
+@string{ASCRY98 = "Advances in Cryptology: Proceedings of ASIACRYPT 1998, {\rm Beijing, China}"}
+@string{ASCRY00 = "Advances in Cryptology: Proceedings of ASIACRYPT 2000, {\rm Kyoto, Japan}"}
+@string{ASCRY01 = "Advances in Cryptology: Proceedings of ASIACRYPT 2000, {\rm Gold Coast, Australia}"}
+@string{EUSAM79 = "Proceedings of EUROSAM~'79, {\rm Marseille, France}"}
+@string{EUSAM84 = "Proceedings of EUROSAM~'84, {\rm Cambridge,~UK}"}
+
+
+@string{FCM97 = "Foundations of Computational Mathematics 1997"}
+
+
+@string{FOCS70 = "Proceedings of the 11th Annual IEEE Symposium on Switching and Automata Theory, {\rm Santa Monica~CA}"}
+@string{FOCS71 = "IEEE Conference Record of the 12th Annual Symposium on Switching and Automata Theory, {\em East Lansing~MI}"}
+@string{FOCS72 = "Proceedings of the 13th Annual IEEE Symposium on Switching and Automata Theory, {\rm Yorktown Heights~NY}"}
+@string{FOCS75 = "Proceedings of the 16th Annual IEEE Symposium on Foundations of Computer Science, {\rm Berkeley~CA}"}
+@string{FOCS76 = "Proceedings of the 17th Annual IEEE Symposium on Foundations of Computer Science, {\rm Houston~TX}"}
+@string{FOCS77 = "Proceedings of the 18th Annual IEEE Symposium on Foundations of Computer Science, {\rm Providence~RI}"}
+@string{FOCS78 = "Proceedings of the 19th Annual IEEE Symposium on Foundations of Computer Science, {\rm Ann Arbor~MI}"}
+@string{FOCS79 = "Proceedings of the 20th Annual IEEE Symposium on Foundations of Computer Science, {\rm San Juan~PR}"}
+@string{FOCS80 = "Proceedings of the 21st Annual IEEE Symposium on Foundations of Computer Science, {\rm Syracuse~NY}"}
+@string{FOCS81 = "Proceedings of the 22nd Annual IEEE Symposium on Foundations of Computer Science, {\rm Nashville~TN}"}
+@string{FOCS82 = "Proceedings of the 23rd Annual IEEE Symposium on Foundations of Computer Science, {\rm Chicago~IL}"}
+@string{FOCS83 = "Proceedings of the 24th Annual IEEE Symposium on Foundations of Computer Science, {\rm Tucson~AZ}"}
+@string{FOCS84 = "Proceedings of the 25th Annual IEEE Symposium on Foundations of Computer Science, {\rm Singer Island~FL}"}
+@string{FOCS85 = "Proceedings of the 26th Annual IEEE Symposium on Foundations of Computer Science, {\rm Portland~OR}"}
+@string{FOCS86 = "Proceedings of the 27th Annual IEEE Symposium on Foundations of Computer Science, {\rm Toronto, Ontario, Canada}"}
+@string{FOCS87 = "Proceedings of the 28th Annual IEEE Symposium on Foundations of Computer Science, {\rm Los Angeles~CA}"}
+@string{FOCS88 = "Proceedings of the 29th Annual IEEE Symposium on Foundations of Computer Science, {\rm White Plains~NY}"}
+@string{FOCS89 = "Proceedings of the 30th Annual IEEE Symposium on Foundations of Computer Science, {\rm Research Triangle Park~NC}"}
+@string{FOCS90 = "Proceedings of the 31st Annual IEEE Symposium on Foundations of Computer Science, {\rm St.~Louis~MO}"}
+@string{FOCS91 = "Proceedings of the 32nd Annual IEEE Symposium on Foundations of Computer Science, {\rm San Juan~PR}"}
+@string{FOCS92 = "Proceedings of the 33rd Annual IEEE Symposium on Foundations of Computer Science, {\rm Pittsburgh~PA}"}
+@string{FOCS93 = "Proceedings of the 34th Annual IEEE Symposium on Foundations of Computer Science, {\rm Palo Alto~CA}"}
+@string{FOCS94 = "Proceedings of the 35th Annual IEEE Symposium on Foundations of Computer Science, {\rm Santa Fe~NM}"}
+@string{FOCS95 = "Proceedings of the 36th Annual IEEE Symposium on Foundations of Computer Science, {\rm Milwaukee~WI}"}
+@string{FOCS96 = "Proceedings of the 37th Annual IEEE Symposium on Foundations of Computer Science, {\rm Burlington~VT}"}
+@string{FOCS97 = "Proceedings of the 38th Annual IEEE Symposium on Foundations of Computer Science, {\rm Miami Beach~FL}"}
+@string{FOCS98 = "Proceedings of the 39th Annual IEEE Symposium on Foundations of Computer Science, {\rm Palo Alto~CA}"}
+@string{FOCS99 = "Proceedings of the 40th Annual IEEE Symposium on Foundations of Computer Science, {\rm New York City~NY}"}
+@string{FOCS00 = "Proceedings of the 41st Annual IEEE Symposium on Foundations of Computer Science, {\rm Redondo Beach~CA}"}
+@string{FOCS01 = "Proceedings of the 42nd Annual IEEE Symposium on Foundations of Computer Science, {\rm Las Vegas~NV}"}
+@string{FOCS02 = "Proceedings of the 43nd Annual IEEE Symposium on Foundations of Computer Science, {\rm Vancouver, Canada}"}
+
+@string{CCC99 = "Proceedings of the 14th IEEE Conference on Computational Complexity, {\rm Atlanta~GA}"}
+
+@string{ICCC99 = "Proceedings of the 5th International Computing and Combinatorics Conference, {\rm Tokyo~Japan}"}
+
+@string{FOCT85 = "Proceedings of the 5th International Conference on Fundamentals of Computation Theory 1985, {\rm Cottbus, Germany}"}
+@string{FOCT87 = "Proceedings of the 6th International Conference on Fundamentals of Computation Theory 1987, {\rm Kazan, Russia}"}
+@string{FOCT91 = "Proceedings of the 8th International Conference on Fundamentals of Computation Theory 1991, {\rm Gosen, Germany}"}
+
+@string{FSE97 = "Fast Software Encryption 1997"}
+
+@string{ICALP81 = "Proceedings of the 8th International Colloquium on Automata, Languages and Programming ICALP 1981, {\rm Acre (`Akko), Israel}"}
+@string{ICALP82 = "Proceedings of the 9th International Colloquium on Automata, Languages and Programming ICALP 1982, {\rm Aarhus, Denmark}"}
+@string{ICALP83 = "Proceedings of the 10th International Colloquium on Automata, Languages and Programming ICALP 1983, {\rm Barcelona, Spain}"}
+@string{ICALP84 = "Proceedings of the 11th International Colloquium on Automata, Languages and Programming ICALP 1984, {\rm Antwerp, Belgium}"}
+@string{ICALP85 = "Proceedings of the 12th International Colloquium on Automata, Languages and Programming ICALP 1985, {\rm Nafplion, Greece}"}
+@string{ICALP90 = "Proceedings of the 17th International Colloquium on Automata, Languages and Programming ICALP 1990, {\rm Warwick,~UK}"}
+@string{ICALP91 = "Proceedings of the 18th International Colloquium on Automata, Languages and Programming ICALP 1991, {\rm Madrid, Spain}"}
+@string{ICALP92 = "Proceedings of the 19th International Colloquium on Automata, Languages and Programming ICALP 1992, {\rm Vienna, Austria}"}
+@string{ICALP93 = "Proceedings of the 20th International Colloquium on Automata, Languages and Programming ICALP 1993, {\rm Lund, Sweden}"}
+@string{ICALP94 = "Proceedings of the 21st International Colloquium on Automata, Languages and Programming ICALP 1994, {\rm Jerusalem, Israel}"}
+@string{ICALP95 = "Proceedings of the 22nd International Colloquium on Automata, Languages and Programming ICALP 1995, {\rm Szeged, Hungary}"}
+@string{ICALP96 = "Proceedings of the 23rd International Colloquium on Automata, Languages and Programming ICALP 1996, {\rm Paderborn, Germany}"}
+@string{ICALP97 = "Proceedings of the 24th International Colloquium on Automata, Languages and Programming ICALP 1997, {\rm Bologna, Italy}"}
+@string{ICALP98 = "Proceedings of the 25th International Colloquium on Automata, Languages and Programming ICALP 1998, {\rm Aalborg, Denmark}"}
+@string{ICALP99 = "Proceedings of the 26th International Colloquium on Automata, Languages and Programming ICALP 1999, {\rm Prague, Czech Republik}"}
+@string{ICALP00 = "Proceedings of the 27th International Colloquium on Automata, Languages and Programming ICALP 2000, {\rm Geneva, Switzerland}"}
+@string{ICALP01 = "Proceedings of the 28th International Colloquium on Automata, Languages and Programming ICALP 2001, {\rm Crete, Greece}"}
+
+
+@string{ICFCT = "Proceedings of the International Conference on Foundations of Computation Theory"}
+
+@string{ICICS97 = "Proceedings of the First International Conference on Information and Communications Security 1997, {\rm Beijing, China}"}
+@string{ICICS01 = "Proceedings of the Third International Conference on Information and Communications Security 2001, {\rm Xian, China}"}
+
+
+@string{ICM50 = "Proceedings of the International Congress of Mathematicians 1950"}
+@string{ICM70 = "Proceedings of the International Congress of Mathematicians 1970, {\rm Nice, France}"}
+@string{ICM74 = "Proceedings of the International Congress of Mathematicians 1974"}
+@string{ICM86 = "Proceedings of the International Congress of Mathematicians 1986"}
+@string{ICM90 = "Proceedings of the International Congress of Mathematicians 1990, {\rm Kyoto, Japan}"}
+@string{ICM95 = "Proceedings of the International Congress of Mathematicians 1995"}
+
+
+@string{ISAAC94 = "Proceedings of 5th International Symposium on Algorithms and Computation ISAAC~'94, {\rm Beijing, China}"}
+@string{ISAAC95 = "Proceedings of 6th International Symposium on Algorithms and Computation ISAAC~'95, {\rm Cairns, Australia}"}
+@string{ISAAC98 = "Proceedings of 10th International Symposium on Algorithms and Computation ISAAC~'98, {\rm Taejon, Korea}"}
+@string{ISAAC99 = "Proceedings of 10th International Symposium on Algorithms and Computation ISAAC~'99, {\rm Chennai, India}"}
+@string{ISAAC00 = "Proceedings of 11th International Symposium on Algorithms and Computation ISAAC~2000, {\rm Taipei, Taiwan}"}
+@string{ISAAC01 = "Proceedings of 12th International Symposium on Algorithms and Computation ISAAC~2001, {\rm Chirstchurch, New Zealand}"}
+@string{ISAAC03 = "Proceedings of 14th International Symposium on Algorithms and Computation ISAAC~2003, {\rm Kyoto, Japan}"}
+
+
+@string{ISSAC71 = "Proceedings 2nd ACM Symposium on Symbolic and Algebraic Manipulation, {\rm Los Angeles~CA}"}
+
+@string{ISSAC76 = "Proceedings of the 1976 ACM Symposium on Symbolic and Algebraic Computation SYMSAC~'76, {\rm Yorktown Heights~NY}"}
+@string{ISSAC81 = "Proceedings of the 1981 International Symposium on Symbolic and Algebraic Computation ISSAC~'81, {\rm Snowbird~UT}"}
+@string{ISSAC86 = "Proceedings of the 1986 International Symposium on Symbolic and Algebraic Computation ISSAC~'86, {\rm Waterloo, Canada}"}
+@string{ISSAC88 = "Proceedings of the 1988 International Symposium on Symbolic and Algebraic Computation ISSAC~'88, {\rm Rome, Italy}"}
+@string{ISSAC89 = "Proceedings of the 1989 International Symposium on Symbolic and Algebraic Computation ISSAC~'89, {\rm Portland~OR}"}
+@string{ISSAC90 = "Proceedings of the 1990 International Symposium on Symbolic and Algebraic Computation ISSAC~'90, {\rm Tokyo, Japan}"}
+@string{ISSAC91 = "Proceedings of the 1991 International Symposium on Symbolic and Algebraic Computation ISSAC~'91, {\rm Bonn, Germany}"}
+@string{ISSAC92 = "Proceedings of the 1992 International Symposium on Symbolic and Algebraic Computation ISSAC~'92, {\rm Berkeley~CA}"}
+@string{ISSAC93 = "Proceedings of the 1993 International Symposium on Symbolic and Algebraic Computation ISSAC~'93, {\rm Kiev}"}
+@string{ISSAC94 = "Proceedings of the 1994 International Symposium on Symbolic and Algebraic Computation ISSAC~'94, {\rm Oxford,~UK}"}
+@string{ISSAC95 = "Proceedings of the 1995 International Symposium on Symbolic and Algebraic Computation ISSAC~'95, {\rm Montreal, Canada}"}
+@string{ISSAC96 = "Proceedings of the 1996 International Symposium on Symbolic and Algebraic Computation ISSAC~'96, {\rm Z{\"u}rich, Switzerland}"}
+@string{ISSAC97 = "Proceedings of the 1997 International Symposium on Symbolic and Algebraic Computation ISSAC~'97, {\rm Maui~HI}"}
+@string{ISSAC98 = "Proceedings of the 1998 International Symposium on Symbolic and Algebraic Computation ISSAC~'98, {\rm Rostock, Germany}"}
+@string{ISSAC99 = "Proceedings of the 1999 International Symposium on Symbolic and Algebraic Computation ISSAC~'99, {\rm Vancouver, Canada}"}
+@string{ISSAC00 = "Proceedings of the 2000 International Symposium on Symbolic and Algebraic Computation ISSAC2000, {\rm St. Andrews, Scotland}"}
+@string{ISSAC01 = "Proceedings of the 2001 International Symposium on Symbolic and Algebraic Computation ISSAC2001, {\rm London, Canada}"}
+@string{ISSAC03 = "Proceedings of the 2003 International Symposium on Symbolic and Algebraic Computation ISSAC2003, {\rm Philadelphia, USA}"}
+
+@string{LATIN92 = "Proceedings of LATIN~'92, {\rm S\~ao Paulo, Brazil}"}
+@string{LATIN95 = "Proceedings of LATIN~'95, {\rm Valpara{\'{\i}}so, Chile}"}
+@string{LATIN98 = "Proceedings of LATIN~'98, {\rm Campinas, Brazil}"}
+@string{LATIN00 = "Proceedings of LATIN~2000, {\rm Punta del Este, Uruguay}"}
+@string{LATIN02 = "Proceedings of LATIN~2002, {\rm Cancun, Mexico}"}
+
+@string{MACSYMA77 = "Proceedings of the 1977 MACSYMA Users Conference, {\rm Berkeley~CA}"}
+
+
+@string{MANITOBA72 = "Proceedings of the Second Manitoba Conference on Numerical Mathematics"}
+@string{MANITOBA75 = "Proceedings of the Fifth Manitoba Conference on Numerical Mathematics"}
+
+
+@string{MFOCS84 = "Proceedings of the 11th International Symposium Mathematical Foundations of Computer Science 1984, {\rm Praha, Czechoslovakia}"}
+@string{MFOCS86 = "Proceedings of the 12th International Symposium Mathematical Foundations of Computer Science 1986, {\rm Bratislava, Czechosolvakia}"}
+@string{MFOCS98 = "Proceedings of the 23rd International Symposium on Mathematical Foundations of Computer Science 1998, {\rm Brno, Czech Republic}"}
+@string{MFOCS00 = "Proceedings of the 25th International Symposium on Mathematical Foundations of Computer Science 2001, {\rm Bratislava, Slovakia}"}
+@string{MFOCS01 = "Proceedings of the 26th International Symposium on Mathematical Foundations of Computer Science 2001, {\rm Marianske Lazne, Czech Republic}"}
+
+
+@string{PASCO97 = "Parallel Symbolic Computation PASCO~'97, {\rm Maui, Hawaii}"}
+
+
+@string{STOC69 = "Proceedings of the First Annual ACM Symposium on the Theory of Computing, {\rm Marina del Rey~CA}"}
+@string{STOC70 = "Proceedings of the Second Annual ACM Symposium on the Theory of Computing, {\rm Northampton~MA}"}
+@string{STOC71 = "Proceedings of the Third Annual ACM Symposium on the Theory of Computing, {\rm Shaker Heights~OH}"}
+@string{STOC72 = "Proceedings of the Fourth Annual ACM Symposium on the Theory of Computing, {\rm Denver~CO}"}
+@string{STOC73 = "Proceedings of the Fifth Annual ACM Symposium on the Theory of Computing, {\rm Austin~TX}"}
+@string{STOC74 = "Proceedings of the Sixth Annual ACM Symposium on the Theory of Computing, {\rm Seattle~WA}"}
+@string{STOC75 = "Proceedings of the Seventh Annual ACM Symposium on the Theory of Computing, {\rm Albuquerque~NM}"}
+@string{STOC76 = "Proceedings of the Eighth Annual ACM Symposium on the Theory of Computing, {\rm Hershey~PA}"}
+@string{STOC77 = "Proceedings of the Ninth Annual ACM Symposium on the Theory of Computing, {\rm Boulder~CO}"}
+@string{STOC78 = "Proceedings of the Tenth Annual ACM Symposium on the Theory of Computing, {\rm San Diego~CA}"}
+@string{STOC79 = "Proceedings of the Eleventh Annual ACM Symposium on the Theory of Computing, {\rm Atlanta~GA}"}
+@string{STOC80 = "Proceedings of the Twelfth Annual ACM Symposium on the Theory of Computing, {\rm Los Angeles~CA}"}
+@string{STOC81 = "Proceedings of the Thirteenth Annual ACM Symposium on the Theory of Computing, {\rm Milwaukee~WI}"}
+@string{STOC82 = "Proceedings of the Fourteenth Annual ACM Symposium on the Theory of Computing, {\rm San Francisco~CA}"}
+@string{STOC83 = "Proceedings of the Fifteenth Annual ACM Symposium on the Theory of Computing, {\rm Boston~MA}"}
+@string{STOC84 = "Proceedings of the Sixteenth Annual ACM Symposium on the Theory of Computing, {\rm Washington~DC}"}
+@string{STOC85 = "Proceedings of the Seventeenth Annual ACM Symposium on the Theory of Computing, {\rm Providence~RI}"}
+@string{STOC86 = "Proceedings of the Eighteenth Annual ACM Symposium on the Theory of Computing, {\rm Berkeley~CA}"}
+@string{STOC87 = "Proceedings of the Nineteenth Annual ACM Symposium on the Theory of Computing, {\rm New York}"}
+@string{STOC88 = "Proceedings of the Twentieth Annual ACM Symposium on the Theory of Computing, {\rm Chicago~IL}"}
+@string{STOC89 = "Proceedings of the Twenty-first Annual ACM Symposium on the Theory of Computing, {\rm Seattle~WA}"}
+@string{STOC90 = "Proceedings of the Twenty-second Annual ACM Symposium on the Theory of Computing, {\rm Baltimore~MD}"}
+@string{STOC91 = "Proceedings of the Twenty-third Annual ACM Symposium on the Theory of Computing, {\rm New Orleans~LA}"}
+@string{STOC92 = "Proceedings of the Twenty-fourth Annual ACM Symposium on the Theory of Computing, {\rm Victoria, British Columbia, Canada}"}
+@string{STOC93 = "Proceedings of the Twenty-fifth Annual ACM Symposium on the Theory of Computing, {\rm San Diego~CA}"}
+@string{STOC94 = "Proceedings of the Twenty-sixth Annual ACM Symposium on the Theory of Computing, {\rm Montr\'{e}al, Qu\'{e}bec, Canada}"}
+@string{STOC95 = "Proceedings of the Twenty-seventh Annual ACM Symposium on the Theory of Computing, {\rm Las Vegas~NV}"}
+@string{STOC96 = "Proceedings of the Twenty-eighth Annual ACM Symposium on the Theory of Computing, {\rm Philadelphia~PA}"}
+@string{STOC97 = "Proceedings of the Twenty-ninth Annual ACM Symposium on the Theory of Computing, {\rm El Paso~TX}"}
+@string{STOC98 = "Proceedings of the Thirtieth Annual ACM Symposium on the Theory of Computing, {\rm Dallas~TX}"}
+@string{STOC99 = "Proceedings of the Thirty-first Annual ACM Symposium on the Theory of Computing, {\rm Atlanta~GA}"}
+@string{STOC00 = "Proceedings of the Thirty-second Annual ACM Symposium on the Theory of Computing, {\rm Portland~OR}"}
+@string{STOC01 = "Proceedings of the Thirty-third Annual ACM Symposium on the Theory of Computing, {\rm Hersonissos, Crete, Greece}"}
+
+@string{NY = "New York"}
+
+
+@string{AMCT = "Mathematisch Centrum, Amsterdam"}
+@String{AGJSC = "Arab Gulf Journal of Scientific Research"}
+@string{AMS = "American Mathematical Society"}
+@string{ACM = "ACM Press"}
+@string{ADW = "Akademie der Wissenschaften"}
+@string{ADWL-GSK51 = "Akademie der Wissenschaften und der Literatur, Abhandlungen der geistes- und sozialwissenschaftlichen Klasse, Jahrgang 1951"}
+@string{AP = "Academic Press"}
+@string{APPAMS = "Abstracts of papers presented to the American Mathematical Society"}
+@string{AV = "Akademie-Verlag"}
+@string{AW = "Addison-Wesley"}
+@string{BB = "Birkh{\"{a}}user Verlag"}
+@string{BIW = "BI Wissenschaftsverlag"}
+@string{CPUC = "Chelsea Publishing Company"}
+@string{CRC = "CRC Press"}
+@string{CUP = "Cambridge University Press"}
+@string{DP = "Dover Publications, Inc."}
+@string{ELS = "Elsevier"} %"American Elsevier Publishing Company"??
+@string{FD = "Firmin Didot"}
+@string{ELSSP = "Elsevier Science Publishers B.V."}
+@string{FRMN = "Freeman"}
+@string{FI = "Fundamenta Informaticae"}
+@string{FM = "Fundamenta Mathematicae"}
+@string{GV = "Gauthier-Villars"}
+@string{HBJ = "Harcourt Brace Jovanovich"}
+@string{IEEECSP = "IEEE Computer Society Press"}
+@string{TAIEE = "Transactions of the American Institute of Electrical Engineers"}
+@string{IEEEPR = "IEEE Press"}
+@string{JRC = "Johnson Reprint Co"}
+@string{JUS = "Julius Springer"} % Verlag von JS
+@string{KAP = "Kluwer Academic Publishers"}
+@string{KGW = "{K\"onigliche} Gesellschaft der Wissenschaften"}
+@string{KGWG = "{K\"onigliche} Gesellschaft der Wissenschaften zu {G\"ottingen}"}
+@string{MD = "Marcel Dekker, Inc."}
+@string{MH = "McGraw-Hill"}
+@string{MIT = "MIT Press"}
+@string{MKP = "Morgan Kaufmann Publishers"}
+@string{NH = "North-Holland"}
+@string{OUP = "Oxford University Press"}
+@string{PERG = "Pergamon Press"}
+@string{PH = "Prentice-Hall, Inc."}
+@string{PLNM = "Plenum Press"}
+@string{PUF = "Presses Universitaires de France"}
+@string{PUP = "Princeton University Press"}
+@string{REI = "Reidel"}
+@string{SS = "Simon \& Schuster"}
+@string{SV = "Springer-Verlag"}
+@string{TV = "B.~G. Teubner"}
+@string{UCP = "University of Chicago Press"}
+@string{UM = "Utilitas Mathematica"}
+@string{VN = "Van Nostrand Reinhold"}
+@string{VS = "Friedrich Vieweg \& Sohn"}
+@string{WS = "John Wiley \& Sons"}
+
+
+@string{AA = "Acta Arithmetica"}
+@string{AAECC = "Applicable Algebra in Engineering, Communication and Computing"}
+@string{AAM = "Advances in Applied Mathematics"}
+@string{AASF = "Annales Academiae Scientiarum Fennicae"}
+@string{AASFI = "Annales de l'Acad{\'e}mie des Sciences de Finlande"}
+@string{AASP = "American Antiquarian Society Proceedings, Worcester, Mass."}
+@string{ABWG = "Abhandlungen der Braunschweigischen Wissenschaftlichen Gesellschaft"}
+@string{AC = "Ars Combinatoria"}
+@string{ACB = "Australian Computer Bulletin"} % kommt nicht in der refs.bib vor !!!
+@string{ACTAM = "Acta Mathematica"}% ISSN = "0001-5962",
+@string{ACTAMS = "Acta Mathematica Sinica"}
+@string{ADM = "Annals of Discrete Mathematics"}
+@string{AFAS = "Association Fran{\c{c}}aise pour l'Avancement des Sciences; Comptes Rendus"}
+@string{AGMNT = "Archiv f{\"u}r Geschichte der Mathematik, der Naturwissenschaften und der Technik"}
+@string{AHC = "Annals of the History of Computing"}
+@string{AHES = "Archive of the History of Exact Sciences"}
+@string{AHR = "The American Historical Review"}
+@string{AI = "Acta Informatica"}
+@string{AIM = "Advances in Mathematics"}
+@string{AIN = "Artificial Intelligence"}
+@string{AIPHO = "Annuaire de l'Institut de Philologie et d'Histoires Orientales"}
+@string{AJM = "American Journal of Mathematics"}
+@string{AK = "Archiv f{\"u}r Kriminologie"}
+@string{AKGWG = "Abhandlungen der K{\"o}niglichen Gesellschaft der
+ Wissenschaften zu G{\"o}ttingen"}
+@string{AKK = "Archiv f{\"u}r Kriminalanthropologie und Kriminalistik"}
+@string{AL = "American Literature"}
+@string{ALG = "Algorithmica"}
+@string{AM = "Annals of Mathematics"}
+@string{AMII = "Annals of Mathematics, Series II"}
+@string{AML = "Applied Mathematics Letters"}
+@string{AMM = "The American Mathematical Monthly"}% ISSN = "0002-9890",
+@string{AMST = "American Mathematical Society Translations"}
+@string{AMST2 = "American Mathematical Society Translations, Series 2"}
+@string{ANMS = "Annals of Mathematical Statistics"}
+@string{AOAW = "Anzeiger der {\"{O}}sterreichischen Akademie der
+ Wissenschaften, mathematisch-naturwissenschaftliche Klasse"}
+@string{ARAL = "Atti della Reale Accademia dei Lincei"}
+@string{ARAM = "Archiv der reinen und angewandten Mathematik"}
+@string{ARAST = "Atti della Reale Accademia della Scienze di Torino"}
+@string{ARCHM = "Archiv der Mathematik"}% ISSN = "0003-889X",
+@string{ARCP = "Annual Reviews of Computational Physics"}
+@string{ARCS = "Annual Review of Computer Science"}
+@string{ASAE = "Annales du Service des Antiquites de l'Egypte"}
+@string{ASAU = "Analele stiintifice ale Universitatii ``Al. I. Cuza'' din Iasi"}
+@string{ASB = "ACM SIGSAM Bulletin"}
+@string{ASI = "Archivio Storico Italiano"}
+@string{ASMS = "Acta Scientarum Mathematicarum Szegediensis"}
+@string{ATMS = "ACM Transactions on Mathematical Software"}
+@string{AZ = "Archivalische Zeitschrift"}
+@string{BAH = "Bolet{\'i}n de la Academ{\'i}a de la Historia, Buenos Aires"}
+@string{BAMS = "Bulletin of the American Mathematical Society"}
+@string{BAUSMS = "Bulletin of the Australian Mathematical Society"}
+
+@string{BBSSMF = "Bulletin Biblio. Storia Sci. Mat. Fis."}
+
+@string{BIMA = "Bulletin of the Institute of Mathematics and its Applications"}
+@string{BIT = "BIT"}
+@string{BJNT = "Bordeaux Journal of Number Theory"}
+@string{BLMS = "Bulletin of the London Mathematical Society"}
+@string{BNAMS = "Bulletin (New Series) of the American Mathematical Society"}
+@string{BRICS = "Basic Research in Computer Science"}
+
+@string{BSAF = "Bulletin de la {Soci\'et\'e} des Antiquaires de France, Paris"}
+@string{BSE = "Bulletin de la {Soci\'et\'e} d'Encouragement pour L'Industrie Nationale"}
+@string{BARB = "Bulletins de l'Acad{\'{e}}mie royale de Belgique, "}
+@string{BSL = "Beitr{\"a}ge zur deutschen Sprache und Literatur"}
+@string{BSMB = "Bulletin de la {Soci\'et\'e} {Math\'ematique} de Belgique, S{\'e}r.~A"}
+@string{BSMBB = "Bulletin de la {Soci\'et\'e} {Math\'ematique} de Belgique, S{\'er}.~B"}
+@string{BSMF = "Bulletin des sciences math{\'e}matiques F{\'e}russac"}
+@string{BSTJ = "Bell System Technical Journal"}
+@string{CA = "Communications in Algebra"}
+@string{CACM = "Communications of the ACM"}
+@string{CAD = "Computer-Aided Design"}
+@string{CAL = "Calcolo"}
+@string{CAS = "Computers \&{} Security"}
+@string{CASP = "Commentarii academiae scientiarum imperalis Petropolitanae"}
+@string{CASPP = "Commentarii Academiae Scientiarum Petropolitanae"}
+@string{CC = "computational complexity"}
+@String{CG = "Computers \&{} Graphics"}
+@string{CHJM = "Chinese Journal of Mathematics"}
+@string{CJ = "The Computer Journal"}
+@string{CJM = "Canadian Journal of Mathematics"}
+@string{CL = "Cryptologia"}
+@string{CM = "Colloqium Mathematicum"}
+@string{CMA = "Computers and Mathematics with Applications"}
+@string{CMB = "Canadian Mathematical Bulletin"}
+@string{CMH = "Commentarii Mathematici Helvetici"}% ISSN ="0010-2571"
+@string{CN = "Congressus Numerantium"}
+@string{COMB = "Combinatorica"}
+@string{CPCOMP = "Combinatorics, Probability and Computing"}
+@string{COMP = "Computing"}
+@string{COS = "Cosmopolitan Magazine, New York"}
+@string{CPAM = "Communications on Pure and Applied Mathematics"}
+@string{CPMF = "{\v C}asopis pro p{\v e}stov{\'an\'\i} matematiky a fysiky"}
+@string{CPC = "Computer Physics Commun."} % kommt nicht in der refs.bib vor !!!
+@string{CRAS = "Comptes Rendus des S{\'{e}}ances de l'{Acad\'{e}mie} des Sciences"}
+@string{CRASP = "Comptes Rendus de l'Acad{\'{e}}mie des Sciences Paris"}
+@string{CRASPI = "Comptes Rendus de l'Acad{\'{e}}mie des Sciences Paris, s{\'{e}}rie I"}
+@string{DAM = "Discrete Applied Mathematics"}
+@string{DAN = "{\cyr Doklady Akademi\u\i\ Nauk SSSR}"}
+@string{DANengl = "Doklady Akademii Nauk SSSR
+ English translation: Soviet Mathematics, Doklady"}
+@string{DCC = "Designs, Codes and Cryptography"}
+@String{DCG = "Discrete \&{} Computational Geometry"}
+@string{DM = "Discrete Mathematics"}
+@string{DIMACS = "DIMACS Series in Discrete Mathematics and Theoretical
+Computer Science"}
+@string{DMJ = "Duke Mathematical Journal"}
+@string{DOM = "Documenta Mathematica"}
+@string{DPA = "Deutsches Polizei-Archiv"}
+@string{DSW = "Der Stein der Weisen"}
+@string{EIK = "Elektronische Informationsverarbeitung und Kybernetik"}
+@string{ELEM = "Elemente der Mathematik"}% ISSN = "0013-6018",
+@string{ELETT = "Electronics Letters"}
+@string{EM = "L'Enseignement Math{\'{e}}matique"}
+@string{ET = "Educational Times"}
+@string{EXM = "Expositiones Mathematicae"}
+@string{FFA = "Finite Fields and Their Applications"}
+@string{FQ = "Fibonacci Quarterly"}
+@string{GC = "Le G{\`{e}}nie Civil"}
+@string{GM = "The Gentleman's Magazine"}
+@string{GN = "G{\"{o}}ttinger Nachrichten"}% Achtung, besser NKGWG oder NAWG!
+@string{IBMJ = "IBM Journal of Research and Development"}
+@string{IBMSJ = "IBM Systems Journal"}
+@string{IC = "Information and Computation"}
+@string{ICTRL = "Information and Control"}
+@string{IEICE-TFE = "IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, Series A (UK)"}
+@string{IEEE-AHC = "IEEE Annals of the History of Computing"}
+@string{IEEE-EC = "IEEE Transactions on Electronic Computers"}
+@string{IEEE-TSE00 = "IEEE Transactions on Software Engineering, 2000"}
+@string{IEEE-IT = "IEEE Transactions on Information Theory"}
+@string{IEEE-SIT = "IEEE International Symposium on Information Theory"}
+@string{IEEE-JSAC = "IEEE Journal on Selected Areas in Communications"}
+@string{IEEE-TC = "IEEE Transactions on Computers"}
+@string{IEEE-TCS = "IEEE Transactions on Circuits Systems"}
+@string{IEEP = "IEE Proceedings---Computers and Digital Techniques"}
+@string{IJCM = "International Journal of Computer Mathematics"}
+@string{IJMMS = "International Journal of Mathematics and Mathematical Sciences"}
+@string{IMRN = "International Mathematics Research Notices"}
+@string{IJM = "Illinois Journal of Mathematics"}
+@string{INVM = "Inventiones mathematicae"}
+@string{IM = "Indagationes Mathematicae"}
+@string{IPL = "Information Processing Letters"}
+@string{IAN = "{\cyr Izvestiya Akademi\u\i\ Nauk SSSR, Seriya Matematicheskaya}"}
+@string{IANE = "{\cyr Izvestiya Akademi\u\i\ Nauk SSSR, Seriya Matematicheskaya} (Izvestiya Akademi\u\i\ Nauk SSSR, Mathematical Series)"}
+@string{IR = "International Review, New York"}
+@string{JALG = "Journal of Algebra"} % ISSN = "0021-8693",
+@string{JA = "Journal of Algorithms"}
+@string{JACM = "Journal of the ACM"}
+@string{JAMS = "Journal of the American Mathematical Society"}
+@string{JAFCM = "Journal of the Association for Computing Machinery"}
+@string{JAMSA = "Journal of the Australian Mathematical Society, Ser.~A"}
+@string{JAR = "Journal of Automated Reasoning"}
+@string{JC = "Journal of Cryptology"}
+@string{JCAM = "Journal of Computational and Applied Mathematics"}
+@string{JCMPLX = "Journal of Complexity"}% ISSN = "0885-064X",
+@string{JCP = "Journal of Computational Physics"}
+@string{JCSS = "Journal of Computer and System Sciences"}
+@string{JCTA = "Journal of Combinatorial Theory, Series~A"}
+@string{JCTB = "Journal of Combinatorial Theory, Series~B"}
+@string{JDMV = "Jahresberichte der DMV"}
+@string{JEGP = "The Journal of English and Germanic Philology, Urbana, Illinois"}
+@string{JEP = "Journal de l'{\'{E}}cole Polytechnique"}
+@string{JFI = "Journal of the Franklin Institute"}
+@string{JIOS = "Journal of Information and Optimization Sciences"}
+@string{JIMS = {Journal of the Indian Mathematical Society}}
+@string{JLMS = "Journal of the London Mathematical Society"}
+@string{JMPA = "Journal de {Math\'{e}matiques} Pures et {Appliqu\'{e}es}"}
+@string{JMPAI = "Journal de {Math\'{e}matiques} Pures et {Appliqu\'{e}es}, I s{\'e}rie"}
+@string{JNAIE = "Journal of Nanjing Aeronautical Institute (English edition)"}
+@string{JNT = "Journal of Number Theory"}
+@string{JPAA = "Journal of Pure and Applied Algebra"} % ISSN = "0022-4049",
+@string{JRAM = "Journal f{\"{u}}r die reine und angewandte Mathematik"}% ISSN = "0075-4102", % Crelle!
+@string{JRM = "Journal of Recreational Mathematics"}
+@string{JRNBS = "Journal of Research of the National Bureau of Standards"}
+@string{JS = "The Journal of Supercomputing"}
+@string{JSC = "Journal of Symbolic Computation"}% ISSN = "0747-7171",
+@string{JSH = "The Journal of Southern History"}
+@string{JSL = "Journal of Symbolic Logic"}
+@string{JSM = "Journal des Sciences Militaires"}
+@string{KL = "Knowledge, London"}
+@string{KM = "Kriminalistische Monatshefte"}
+@string{KR = "Kriminalistische Rundschau"}
+@string{LAA = "Linear Algebra and its Applications"}
+@string{LAC = "L'Antiquit{\'e} Classique, Bruxelles"}
+@string{LD = "The Literary Digest"}
+@string{LICC = "L'Interm{\'{e}}diaire des Chercheurs et Curieux"}
+@string{MA = "Mathematische Annalen"}% ISSN = "0025-5831",
+@string{MAA = "Mathematical Association of America"}
+@String{MAMATH = "manuscripta mathematica"}% ISSN = "0025-2611",
+@string{MARS = "M\'{e}moires de l'{Acad\'{e}mie} Royale des Sciences"}
+@string{MASB = "{M\'{e}moires} de l'{Acad\'{e}mie} des Sciences de Berlin"}
+@string{MASBB = "{M\'{e}moires} de l'{Acad\'{e}mie} des Sciences et Belles-Lettres de Berlin"}
+@string{MASBD = "M{\'{e}}moires de l'Acad{\'{e}}mie des Sciences,
+ Arts et Belles-Lettres de Dijon"}
+@string{MATH = "Mathematika"}
+@string{MATHSCI = "Mathematical Scientist"}
+@string{MC = "Mathematics of Computation"}
+@string{MG = "Mathematical Gazette"}% ISSN = "0025-5572",
+@string{MI = "The Mathematical Intelligencer"}
+@string{MIOG = "Mittheilungen des Instituts f{\"{u}}r Oesterreichische Geschichtsforschung"}
+@string{MJOU = "Mathematical Journal of Okayama University"}
+@string{MKPAW = "Monatsberichte der {K\"oniglich} Preussischen Akademie der
+ Wissenschaften, Berlin"}
+@string{MM = "Mathematical Magazine"}
+@string{MMGH = "Mitt. Math. Ges. Hamburg"} % kommt nicht in der refs.bib vor !!!
+@string{MMJ = "Michigan Mathematical Journal"}
+@string{MMP = "Monatshefte fuer Mathematik und Physik"} % f{\"u}r (->bie91)
+@string{MN = "Mathematical Notes"}
+@string{MNACH = "Mathematische Nachrichten"}% ISSN = "0025-584X",
+@string{MP = "Mathematical Papers"}
+@string{MQET ="Mathematical Questions and Solutions from the
+ Educational Times"}
+@String{MSEM = "Mathematische Semesterberichte"}
+@string{MS = "Matematiceskij Sbornik"}
+@string{MST = "Mathematical Systems Theory"}
+@string{MTAC = "Mathematical Tables and other Aids to Computation"}
+@string{MUSSRS = "Mathematics of the USSR Sbornik"}
+@string{MV = "{\cyr Matematichki Vesnik} (Matematicki Vesnik)"}
+@string{MW = "Milit{\"{a}}r--Wochenblatt"}
+@string{MZ = "Mathematische Zeitschrift"}% ISSN = "0025-5874",
+@string{NA = "Neues Archiv der Gesellschaft f{\"u}r {\"a}ltere deutsche Geschichtskunde"}
+@string{NAM = "Nouvelles Annales de Mathematiques"}
+@string{NAMS = "Notices of the American Mathematical Society"}
+@string{NAR = "The North American Review"}
+@string{NAS = "Proceedings of the National Acadamy of Sciences of the USA"}
+@string{NAVW = "Nieuw Archief voor Wiskunde"}
+@string{NAASP = "Nova Acta Academiae Scientiarum Imperalis Petropolitanae"}
+@string{NCASP = "Novi commentarii academiae scientiarum imperalis
+ Petropolitanae"}
+@string{NDJFL = "Notre Dame Journal of Formal Logic"}
+@string{NEMBN = "Notices et Extraits des Manuscrits de la Biblioth{\`{e}}que
+ Nationale et Autres Biblioth{\`{e}}ques, Paris"}
+@string{NAWG = "Nachrichten der Akademie der Wissenschaften in
+ G{\"{o}}ttingen"}% = Nachfolge von NKGWG, ISSN 0065-5295
+@string{NKGWG = "Nachrichten von der K{\"{o}}niglichen Gesellschaft der
+ Wissenschaften zu G{\"{o}}ttingen"}
+@string{NM = "Numerische Mathematik"}
+@string{NMT = "Nordisk Matemarisk Tidskrift"}
+@string{NQ = "Notes and Queries"}
+@string{NZMM = "New Zealand Math. Mag."} % kommt nicht in der refs.bib vor !!!
+@string{PAMS = "Proceedings of the American Mathematical Society"}
+@string{PAAS = "Proceedings of the American Antiquarian Society"}
+@string{PC = "Parallel Computing"}
+@string{PCPS = "Proceedings of the Cambridge Philosophical Society"}
+@string{PAPS = "Proceedings of the American Philosophical Society"}
+@string{PCSAL = "Progress in Computer Science and Applied Logic"}% ISSN = "0743-1597",
+@string{PDM = "Publications du D{\'e}partement de Math{\'e}matiques.
+ Facult{\'e} des Sciences de Lyon"}
+@string{PEMS = "Proceedings of the Edinburgh Mathematical Society"}
+@string{PIT = "Problems of Information Transmission"}
+@string{PJM = "Pacific Journal of Mathematics"}% ISSN = "0030-8730",
+@string{PJR = "Philips Journal of Research"}
+@string{PKNAW = "Proceedings of the Koninklijke Nederlandse Akademie van
+ Wetenschappen"}
+@string{PLMS = "Proceedings of the London Mathematical Society"}% ISSN = "0024-6115",
+@string{PLMS2 = "Proceedings of the London Mathematical Society, Second
+ Series"}
+@string{PLMS3 = "Proceedings of the London Mathematical Society, Third
+ Series"}
+@string{PM = "Progress in Mathematics"}
+@string{PMAG = "Philosophical Magazine"}
+@string{PMD = "Publicationes Mathematicae (Debrecen)"}
+@string{PMH = "Periodica Mathematica Hungarica"}
+@string{PMIM = "{\cyr Prikladnaya matematika i mekhanika}"}
+@string{PMIMeng = "{\cyr Prikladnaya matematika i mekhanika}
+ (Prikladnaya matematika i mekhanika)"}
+@string{PMLA = "Publications of the Modern Language Association"}
+@string{PMM = "The Pall Mall Magazine"}
+@string{PNAS = "Proceedings of the National Academy of Sciences of the USA"}
+@string{PPI = "Problemy Peredachi Informatsii"}
+@string{PRSE = "Proceedings of the Royal Society of Edinburgh"}
+@string{PRSL = "Proceedings of the Royal Society, London"}
+@string{PTRS = "Philosophical Transactions of the Royal Society of London"}
+@string{QJM = "Quarterly Journal of Mathematics"}
+@string{QJMOX = "Quarterly Journal of Mathematics Oxford"}
+@string{QJPAM = "Quarterly Journal of Pure and Applied Mathematics"}
+@string{QPPAM = "Queen's Papers in Pure and Applied Mathematics"}
+@string{QR = "The Quarterly Review, London"}
+@string{RA = "Radio{\'{e}}l{\'{e}}ctricit{\'{e}}"}
+@string{RABM = "Revista de archivos, bibliotecas y museos"}
+@string{RBAB = "Revue des Biblioth{\`e}ques et Archives de Belgique, Bruxelles"}
+@string{RCMP = "Rendiconti del Circolo Matematico di Palermo"}
+@string{RD = "The Reader's Digest"}
+@string{RDM = "Revue des deux mondes"}
+@string{RE = "Revue d'egyptologie"}
+@string{RES = "The Review of English Studies"}
+@string{RH = "Revue Hebdomadaire"}
+@string{RIC = "Revue Internationale de Criminalistique"}
+@string{RM = "Rivista Marittima"}
+@string{RMC = "Revue Maritime et Coloniale"}
+@string{RMS = "Russian Mathematical Surveys"}
+@string{RS = "Revue Scientifique, Paris"}
+@string{RNAPOLI = "Rendiconto dell' Accademia della Scienze Fisiche e Matematiche, Napoli"}
+@string{RQH = "Revue des questions historiques"}
+@string{SA = "Scientific American"}
+@string{SAS = "Scientific American Supplement"}
+@string{SAM = "Studies in Applied Mathematics"}
+@string{SBMG = "Sitzungsberichte der Berliner Mathematischen Gesellschaft"}
+@string{SCB = "Signal Corps Bulletin"}
+@string{SCIM = "Scientific Monthly"}
+@string{SCJ = "Systems and Computers in Japan"}
+@string{SCP = "Science of Computer Programming"}
+@string{SHM = "Shadow Magazine"}
+@string{SIAMJADM = "SIAM Journal on Algebraic and Discrete Methods"}
+@string{SIAMJAM = "SIAM Journal on Applied Mathematics"}
+@string{SIAMJC = "SIAM Journal on Computing"}
+@string{SIAMJDM = "SIAM Journal on Discrete Mathematics"}
+@string{SIAMJNA = "SIAM Journal on Numerical Analysis"}
+@string{SIAMR = "SIAM Review"}
+@string{SIGACT = "SIGACT News"}
+@string{SM = "Scripta Mathematica"}
+@string{SMD = "Soviet Mathematics, Doklady"}
+@string{SOE = "Sphinx-Oedipe"}
+@string{SPD = "Soviet Physics - Doklady"}
+@string{STT = "Suomalaisen Tiedeakatemian Toimituksia"}
+@string{SW = "Spektrum der Wissenschaft"}
+@string{TAMS = "Transactions of the American Mathematical Society"}
+@string{TSBA="Transactions of the Society of Biblical Arch{\ae}ology"}
+@string{TCS = "Theoretical Computer Science"}
+@string{TJM = "Tokyo Journal of Mathematics"}
+@string{TLS = "The Times Literary Supplement"}
+@string{TOPLAS = "ACM Transactions on Programming Languages and Systems"}
+@string{UMN = "{\cyr Uspekhi Matematicheskikh Nauk}"}
+@string{UMNengl = "{\cyr Uspekhi Matematicheski Nauk} (Uspekhi Matematicheski Nauk)"}
+English translation: Russian Mathematical Surveys
+@string{VKCSN = "V{\v e}stn{\'i}k Kr{\'a}lovsk{\'e} {\v C}esk{\'e}
+ Spole{\v c}nosti Nauk, T{\v r}{\'i}da
+ Matematiko-P{\v r}irodov{\v e}deck{\' a}"}
+@string{WW = "The World's Work"}
+@string{ZDA = "Zeitschrift f{\"u}r deutsches Altertum und deutsche Litteratur"}
+@string{ZMP = "Zeitschrift fuer Mathematik und Physik"}
+
+@string{RANMZ = "Rossi{\u{\i}}skaya Akademiya Nauk. Matematicheskie Zametki"}
+@string{RANMZCYR = "{\cyr Rossi{\u{\i}}skaya Akademiya Nauk. Matematicheskie Zametki}"}
+@string{ZVMIMF = "Zhurnal v{\={y}}chislitel'noi Matematiki i matematicheskoi Fiziki"}
+@string{ZVMIMFCYR = "{\cyr Zhurnal vychislitel\cprime no\u\i\ Matematiki i matematichesko\u\i\ Fiziki}"}
+
+@string{JASIA = "Journal Asiatique"}
+@string{NORSKE = "Det Kongelige Norske Videnskabers Selskab Forhandlinger"}
+@string{VSFC = "Videnskabers Selskab Forhandlinger Christiana"}
+@string{BEATCS = "Bulletin of the European Association for Theoretical Computer Science"}
+
+@string{VJS = "Virginia Journal of Science"}
+@string{ZEIE = "Zeitschrift f{\"u}r elektrische Informations- und Energietechnik, Leipzig"}
+
+@String{DMTCS = "Discrete Mathematics and Theoretical Computer Science"}
diff --git a/Master/texmf-dist/bibtex/bib/directory/business.bib b/Master/texmf-dist/bibtex/bib/directory/business.bib
new file mode 100644
index 00000000000..4291252c8cd
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/directory/business.bib
@@ -0,0 +1,32 @@
+## business.bib
+## Copyright 1999 Christophe Geuzaine
+#
+# This program can be redistributed and/or modified under the terms
+# of the LaTeX Project Public License distributed from CTAN
+# archives in directory macros/latex/base/lppl.txt; either
+# version 1 of the License, or (at your option) any later version.
+#
+# 'directory' package: sample bib file
+#
+
+@Company{microknud,
+ name = "Microknud Corp.",
+ phone = "+01-(0)2-465.83.99",
+ fax = "005.79.00",
+ address = "Haight Street 513\dirbreak
+ 80214 Novosibirsk, Gnuland",
+ url = "http://microknu.com/ass/bill.html",
+}
+
+@Company{knudsoft,
+ name = "The Knudsoft Company",
+ email = "knud@knudsoft.com",
+ url = "http://knudsoft.com/hole/gates.htm",
+}
+
+@Place{knudsoft:rs.2,
+ name = "Knudsoft (RS.2 Computer Room)",
+ phone = "+01-(0)2-434.23.23",
+}
+
+
diff --git a/Master/texmf-dist/bibtex/bib/directory/family.bib b/Master/texmf-dist/bibtex/bib/directory/family.bib
new file mode 100644
index 00000000000..1d4f85fa71f
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/directory/family.bib
@@ -0,0 +1,70 @@
+## family.bib
+## Copyright 1999-2000 Christophe Geuzaine
+#
+# Last Mod by Christophe on Sun Aug 27 21:22:09 2000
+#
+# This program can be redistributed and/or modified under the terms
+# of the LaTeX Project Public License distributed from CTAN
+# archives in directory macros/latex/base/lppl.txt; either
+# version 1 of the License, or (at your option) any later version.
+#
+# 'directory' package: sample bib file
+#
+# important notes:
+# * 'birthday' field format: "day month"
+# * For married couples, be aware that an entry of the form 'Hillary and
+# Bill Clinton' will produce silly alphabetical sorting, since BibTeX
+# thinks Hillary is a last name. A better (but not perfect, and a little
+# bit macho) way to proceed is to introduce 'Bill Clinton and Hillary'.
+# The best way is of course to introduce 'Bill Clinton and Hillary Rodham'.
+# (An even better way is to introduce 'Clinton, William Jefferson
+# Blythe III and Rodham, Hillary' and put 'Bill' in the nickname field.)
+
+@Person{c.geuzaine,
+ name = "Christophe Geuzaine",
+ birthday = "06 02",
+ birthyear = "1973",
+ p.email = "Christophe.Geuzaine@advalvas.be",
+ w.title = "Ir., Research Assistant",
+ w.name = "University of Li{\`e}ge,
+ Dept. of Electrical Engineering",
+ w.address = "Institut Montefiore (B28, P32, I21),\\
+ Sart Tilman Campus, B-4000 Li{\`e}ge, Belgium",
+ w.phone = "+32-(0)4-366.37.10",
+ w.fax = "+32-(0)4-366.29.10",
+ w.email = "Christophe.Geuzaine@ulg.ac.be",
+ w.url = "http://www.geuz.org/",
+}
+
+@Person{d.e.knu,
+ name = "Knudson, Donald Ernest",
+ birthday = "29 01",
+ p.phone = "+01-(0)2-234.56.78",
+ p.email = "duck@novosi.uni.gnu",
+ note = "1952 Permafrost Press Award winner",
+}
+
+@Person{d.d.knu,
+ name = "Knudson, Daffy Duck and Bunny, Bugs and Pluto",
+ nickname = "gnat and gnu and pluto",
+ birthday = "10 02 and 05 11 and 01 01",
+ p.address = "Haight Street 512, 80214 Novosibirsk, Gnuland",
+ p.phone = "+01-(0)2-765.43.21",
+ p.cellular = "+01-(0)5-555.55.55",
+ p.account = "010-1234567-05",
+ r.address = "Manor Lane 2, 80214 Novosibirsk, Gnuland",
+ r.phone = "+01-(0)2-876.54.32",
+ w.name = "University of Novosibirsk,
+ Department of Octopus Parthenogenesis",
+ w.address = "Planck Institut (V1-V2, Park. U-67),
+ Hessenberg Road, 80214 Novosibirsk, Gnuland",
+}
+
+@Person{b.b.knu,
+ name = "Bip B. Knudson",
+ nickname = "road runner",
+ birthday = "27 02",
+ p.email = "bip_bip@free.prov.gnu",
+}
+
+
diff --git a/Master/texmf-dist/bibtex/bib/directory/test.bib b/Master/texmf-dist/bibtex/bib/directory/test.bib
new file mode 100644
index 00000000000..3302c2352bc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/directory/test.bib
@@ -0,0 +1,30 @@
+@Person {person,
+ name= "name",
+ nickname= "nickname",
+ birthday= "birthday",
+ birthyear= "birthyear",
+ p.address= "p.address",
+ p.phone= "p.phone",
+ p.cellular= "p.cellular",
+ p.fax= "p.fax",
+ p.email= "p.email",
+ p.url= "p.url",
+ p.account= "p.account",
+ r.address= "r.address",
+ r.phone= "r.phone",
+ r.cellular= "r.cellular",
+ r.fax= "r.fax",
+ r.email= "r.email",
+ r.url= "r.url",
+ r.account= "r.account",
+ w.title= "w.title",
+ w.name= "w.name",
+ w.address= "w.address",
+ w.phone= "w.phone",
+ w.cellular= "w.cellular",
+ w.fax= "w.fax",
+ w.email= "w.email",
+ w.url= "w.url",
+ w.account= "w.account",
+ note= "note",
+} \ No newline at end of file
diff --git a/Master/texmf-dist/bibtex/bib/dk-bib/litteratur.bib b/Master/texmf-dist/bibtex/bib/dk-bib/litteratur.bib
new file mode 100644
index 00000000000..848cf3a6125
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/dk-bib/litteratur.bib
@@ -0,0 +1,10 @@
+@Book{Mittelbach:2004,
+ author = {Frank Mittelbach and Michel Goosens},
+ title = {The {\LaTeX} Companion},
+ publisher = {Addison-Wesley},
+ year = 2004,
+ edition = {second},
+ printing = {first},
+ isbn = {0-201-36299-6},
+ url = {http://www.awprofessional.com/titles/0201362996}
+}
diff --git a/Master/texmf-dist/bibtex/bib/dtk/beispiel.bib b/Master/texmf-dist/bibtex/bib/dtk/beispiel.bib
new file mode 100644
index 00000000000..f5eb82fae21
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/dtk/beispiel.bib
@@ -0,0 +1,80 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% $Id: beispiel.bib,v 1.1 2000/08/06 11:18:33 gene Exp $
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+@Book{ companion,
+ author = {Michel Goosens and Frank Mittelbach and Alexander
+ Samarin},
+ title = {The {\LaTeX} Companion},
+ publisher = {Addison-Wesley Publishing Company},
+ year = {1994},
+ address = {Reading, Mass.}
+}
+
+@Book{ knuth:mfbook,
+ author = {Donald E. Knuth},
+ title = {The {\MF book}},
+ publisher = {Addison-Wesley Publishing Company},
+ year = 1990,
+ address = {Reading, Mass.},
+ edition = 5,
+ volume = {C},
+ series = {Computers and Typesetting}
+}
+
+@Book{ knuth:texbook,
+ author = {Donald E. Knuth},
+ title = {The {\TeX book}},
+ publisher = {Addison-Wesley Publishing Company},
+ address = {Reading, Mass.},
+ year = 1989,
+ edition = {15},
+ volume = {A},
+ series = {Computers and Typesetting}
+}
+
+@Book{ kopka:latex,
+ author = {Helmut Kopka},
+ title = {{\LaTeX} -- Eine Einf{\"u}hrung},
+ publisher = {Addison-Wesley Publishing Company},
+ address = {Bonn},
+ year = 1993
+}
+
+@Book{ kopka:latex2,
+ author = {Helmut Kopka},
+ title = {{\LaTeX}-Erg{\"a}nzungen -- mit einer Einf{\"u}hrung in
+ {\MF}},
+ publisher = {Addison-Wesley Publishing Company},
+ address = {Bonn},
+ year = 1995
+}
+
+@Book{ lamport:latex.2,
+ author = {Leslie Lamport},
+ title = {{\LaTeX}: A Document Preparation System},
+ publisher = {Addison-Wesley Publishing Company},
+ year = {1994},
+ address = {Reading, Mass.},
+ edition = {2}
+}
+
+@Article{ neugebauer:klasse,
+ author = {Gerd Neugebauer},
+ title = {Eine Klasse f{\"u}r {\glqq}Die {\TeX}nische
+ Kom{\"o}die{\grqq}},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ pages = {6-14}
+}
+
+@Misc{ twg:tds,
+ author = {TUG Working Group on a \TeX{} Directory Structure},
+ title = {A Directory Structure for {\TeX} Files},
+ howpublished = {Draft version 0.9991},
+ year = 1996,
+ month = nov,
+ note = {CTAN:
+ \texttt{tex-archive/""tds/""working-paper/""tds-0.9991.tar.gz}}
+}
diff --git a/Master/texmf-dist/bibtex/bib/dtk/dtk.bib b/Master/texmf-dist/bibtex/bib/dtk/dtk.bib
new file mode 100644
index 00000000000..08a241aee5a
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/dtk/dtk.bib
@@ -0,0 +1,11386 @@
+%% -*-bibtex-*-
+%%% ====================================================================
+%%% BibTeX-file{
+%%% author = "Gerd Neugebauer; Jan Braun; Andreas Schlechte",
+%%% version = "1.9",
+%%% date = "Sun Dec 8 2002",
+%%% filename = "dtk.bib",
+%%% email = "DTK Redaktion <DTK-Redaktion at dante.de>",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "Die TeXnische Komoedie",
+%%% docstring = "This bibliography covers the contents of
+%%% ``Die \TeX nische Kom\"odie'', the
+%%% Communications of the German speaking TeX
+%%% users group ``DANTE e.V.''.
+%%%
+%%% This \BibTeX\ file uses some advanced
+%%% features. Those features are provided by
+%%% \texttt{german.sty} (maybe
+%%% \texttt{babel.sty} suffices. In additions
+%%% Logos are taken from \textt{dtk.cls}. An
+%%% excerpt is enclosed as \texttt{dtk-logo.sty}.
+%%%
+%%% This \BibTeX\ file is also the base for the
+%%% Web pages at
+%%% \url{http://www.dante.de/dante/DTK}.
+%%% "
+%%% }
+%%% ====================================================================
+@STRING{beiprogramm = {{\TeX}-Beiprogramm} }
+@STRING{bretter = {Bretter, die die Welt bedeuten} }
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+@STRING{editorial = {Editorial} }
+@STRING{fremdebuehne = {Von fremden B{\"u}hnen} }
+@STRING{fundus = {Aus dem Fundus} }
+@STRING{hinterbuehne = {Hinter der B{\"u}hne} }
+@STRING{leserbrief = {Leserbrief(e)} }
+@STRING{magazin = {Magazin} }
+@STRING{rezension = {Rezensionen} }
+@STRING{schonimmer = {Was Sie schon immer {\"u}ber {\TeX} wissen wollten
+ \dots} }
+@STRING{theaterkasse = {Von der Theaterkasse} }
+@STRING{theatertage = {{\TeX}-Theatertage} }
+
+@Article{ dtk89.0:kruljac.burr:editorial,
+ author = {Gabriele Kruljac and Barbara Burr},
+ title = {Editorial},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = {3--4},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk89.0:neubauer:protokoll,
+ author = {Marion Neubauer},
+ title = {Protokoll der {G}r{\"u}ndungsversammlung von {DANTE}
+ {D}eutschsprachige {A}nwendervereinigung {\TeX}},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = {5--7},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk89.0:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 1.~ordentlichen {M}itgliederversammlung von
+ {DANTE}, {D}eutschsprachige {A}nwendervereinigung {\TeX}
+ e.{V}},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = {8--11},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk89.0:lammarsch:bericht,
+ author = {Joachim Lammarsch},
+ title = {Bericht eines {USA}-{R}eisenden},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = {12--15},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk89.0:burr.kruljac:europaeische,
+ author = {Barbara Burr and Gabriele Kruljac},
+ title = {4.~{E}urop{\"a}ische {\TeX}-{K}onferenz in {K}arlsruhe,
+ 11.--13.~{S}eptember 1989},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = {15--17},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk89.0:kruljac.burr:treffen,
+ author = {Gabriele Kruljac and Barbara Burr},
+ title = {8.~{T}reffen der deutschsprachigen {{\TeX}-Anwender} in
+ {E}ichst{\"a}tt, 12.--13.~{O}ktober 1989},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = {18--20},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk89.0:dietsche:deutsche,
+ author = {Luzia Dietsche},
+ title = {Deutsche {K}urzfassung von {A}rtikeln aus einem der
+ n{\"a}chsten {TUGboats}},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = {21--24},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk89.0:lammarsch:tex,
+ author = {Joachim Lammarsch},
+ title = {{\TeX} f{\"u}r {IBM-PC} und {K}ompatible},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = 25,
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk89.0:lammarsch:software,
+ author = {Joachim Lammarsch},
+ title = {Software vom {S}erver auf {D}iskette},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = 26,
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk89.0:neuwirth:metaplot,
+ author = {Konrad Neuwirth},
+ title = {Meta{P}lot: und es geht doch!},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = 27,
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk89.0:detig:digital,
+ author = {Christine Detig},
+ title = {Digital {T}ypography -- {A}n {I}ntroduction to {T}ype and
+ {C}omposition for {C}omputer {S}ystem {D}esign},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = {29--30},
+ annote = magazin,
+ keywords = {Typographie, Rezension}
+}
+
+@Article{ dtk89.0:jones:underfull,
+ author = {Frankeye Jones},
+ title = {The {U}nderfull {B}adness {B}lues},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = 31,
+ annote = magazin,
+ keywords = {Humor, Satire}
+}
+
+@Article{ dtk89.0:alighieri:goettliche,
+ author = {Dante Alighieri},
+ title = {Die g{\"o}ttliche {K}om{\"o}die},
+ journal = dtk,
+ year = 1989,
+ volume = {0/89},
+ altvolume = 1,
+ altnumber = 1,
+ month = dec,
+ pages = 32,
+ annote = magazin,
+ keywords = {}
+}
+
+@Article{ dtk90.1:kruljac.burr:editorial,
+ author = {Gabriele Kruljac and Barbara Burr},
+ title = {Editorial},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk90.1:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 2.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {4--11},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.1:dietsche:deutsche,
+ author = {Luzia Dietsche},
+ title = {Deutsche {K}urzfassungen: {TUG}boat-{A}rtikel {V}ol. 11,
+ {N}o. 1},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {12--15},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.1:knuth:new,
+ author = {Donald E. Knuth},
+ title = {The New Versions of {\TeX} and {\MF}},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {16--22},
+ annote = bretter,
+ keywords = {Knuth, \TeX-Entwicklung, Metafont-Entwicklung}
+}
+
+@Article{ dtk90.1:kruljac:bibtex,
+ author = {Gabriele Kruljac},
+ title = {{\BibTeX} und \texttt{MAKEINDEX}},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {23--24},
+ annote = bretter,
+ keywords = {\MakeIndex, BibTeX}
+}
+
+@Article{ dtk90.1:birnthaler:setzen,
+ author = {Thomas Birnthaler},
+ title = {Setzen von {R}egeln mit \texttt{regel.sty}},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {24--27},
+ annote = bretter,
+ keywords = {Regelsatz,}
+}
+
+@Article{ dtk90.1:birnthaler:bearbeitung,
+ author = {Thomas Birnthaler},
+ title = {Bearbeitung mehrteiliger {\LaTeX}-{D}okumente mit
+ \texttt{TEXPART.BAT}},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {32--34},
+ annote = bretter,
+ keywords = {mehrteilige Dokumente}
+}
+
+@Article{ dtk90.1:birnthaler:struktogramme,
+ author = {Thomas Birnthaler},
+ title = {Struktogramme setzen mit \texttt{strukto.sty}},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {27--32},
+ annote = bretter,
+ keywords = {Struktogramme}
+}
+
+@Article{ dtk90.1:huelse.kaspar:expdlist,
+ author = {Rainer H{\"u}lse and Wolfgang Kaspar},
+ title = {\texttt{EXPDLIST} -- eine {E}rweiterung der
+ \texttt{description}-{U}mgebung},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {34--36},
+ annote = bretter,
+ abstract = {Die erweiterte \texttt{description}-Umgebung soll die
+ {\LaTeX}-\texttt{description}-Umgebung nicht ersetzen,
+ sondern bietet bei Bedarf einige zus{\"a}tzliche
+ M{\"o}glichkeiten. Daneben steht mit \verb+\listpart+ ein
+ neuer, f{\"u}r alle \texttt{list}-Umgebungen g{\"u}ltiger
+ Befehl zur Verf{\"u}gung.},
+ keywords = {Beschreibungen}
+}
+
+@Article{ dtk90.1:lammarsch:xtex,
+ author = {Joachim Lammarsch},
+ title = {{x\TeX}, {y\TeX}, {z\TeX}, \dots {W}ieviele {V}ersionen
+ wird es noch geben?},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {37--39},
+ annote = rezension,
+ keywords = {Rezension, \TeX-Versionen}
+}
+
+@Article{ dtk90.1:mid:publisher,
+ key = {mid:publisher},
+ author = {{MID/Information Logistics Group GmbH}},
+ title = {Publisher},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {40--41},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk90.1:neuwirth:buchbesprechung,
+ author = {Konrad Neuwirth},
+ title = {Buchbesprechung: {D}esign for {D}esktop {P}ublishing},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {42--43},
+ annote = magazin,
+ keywords = {DTP}
+}
+
+@Article{ dtk90.1:rotkaeppchen,
+ optauthor = {N. N.},
+ title = {Rotk{\"a}ppchen, wie der {I}nformatiker es seinen
+ {K}indern erz{\"a}hlt},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = {44--45},
+ annote = magazin,
+ keywords = {Humor, Satire}
+}
+
+@Article{ dtk90.1:alighieri:goettliche,
+ author = {Dante Alighieri},
+ title = {Die g{\"o}ttliche {K}om{\"o}die},
+ journal = dtk,
+ year = 1990,
+ volume = {1/90},
+ altvolume = 2,
+ altnumber = 1,
+ month = mar,
+ pages = 46,
+ annote = magazin,
+ keywords = {}
+}
+
+@Article{ dtk90.2:burr:editorial,
+ author = {Barbara Burr},
+ title = {Editorial},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk90.2:lammarsch:dante,
+ author = {Joachim Lammarsch},
+ title = {Dante {L}etter},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {4--6},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.2:dietsche:gutenberg90,
+ author = {Luzia Dietsche},
+ title = {{GUT}enberg{'90} (15.5--17.5)},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {7--9},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.2:dietsche:tug90,
+ author = {Luzia Dietsche},
+ title = {{TUG}90 (17.6--20.6)},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {9--10},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.2:dietsche:deutsche,
+ author = {Luzia Dietsche},
+ title = {Deutsche {K}urzfassung {TUG}boat-{A}rtikel {V}ol.~11,
+ {N}o.~2},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {11--15},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.2:dietsche:deutsche*1,
+ author = {Luzia Dietsche},
+ title = {Deutsche {K}urzfassung {TUG}boat-{A}rtikel {V}ol.~11,
+ {N}o.~3},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {15--20},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.2:schrod:komponenten,
+ author = {Joachim Schrod},
+ title = {Die {K}omponenten von {\TeX}},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {21--29},
+ annote = bretter,
+ abstract = {{\TeX} ben{\"o}tigt eine gro{\ss}e Anzahl an
+ Hilfskomponenten (Dateien und Programme), deren Bedeutung
+ und gegenseitige Beziehung oft nicht bekannt ist. F{\"u}r
+ das Kernsystem {\TeX} werden die Komponenten und ihre
+ Beziehungen, die f{\"u}r den {\TeX}-Benutzer sichtbar sind,
+ erl{\"a}utert.},
+ keywords = {\TeX-Komponenten}
+}
+
+@Article{ dtk90.2:schrod:site-koordinator,
+ author = {Joachim Schrod},
+ title = {Site-{K}oordinator f{\"u}r {T}reiber -- {W}as ist das?},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {30--32},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk90.2:schrod:status,
+ author = {Joachim Schrod},
+ title = {Zum {S}tatus verteilter {S}oftware},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {32--34},
+ annote = bretter,
+ keywords = {Shareware, Public Domain, Freeware}
+}
+
+@Article{ dtk90.2:burr:schwierigkeiten,
+ author = {Barbara Burr},
+ title = {Schwierigkeiten beim {S}etzen einer {T}abelle},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {35--37},
+ annote = schonimmer,
+ keywords = {Tabellensatz}
+}
+
+@Article{ dtk90.2:detig:deutsche,
+ author = {Christine Detig},
+ title = {Deutsche {\TeX}-{B}{\"u}cher},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = {38--40},
+ annote = magazin,
+ keywords = {}
+}
+
+@Article{ dtk90.2:alighieri:goettliche,
+ author = {Dante Alighieri},
+ title = {Die g{\"o}ttliche {K}om{\"o}die},
+ journal = dtk,
+ year = 1990,
+ volume = {2/90},
+ altvolume = 2,
+ altnumber = 2,
+ month = aug,
+ pages = 41,
+ annote = magazin,
+ keywords = {}
+}
+
+@Article{ dtk90.3:burr:editorial,
+ author = {Barbara Burr},
+ title = {Editorial},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk90.3:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 3.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = {4--7},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.3:sowa:kassenbericht,
+ author = {Friedhelm Sowa},
+ title = {Kassenbericht f{\"u}r den {Z}eitraum 9.10.1989--4.9.1990},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = 8,
+ annote = hinterbuehne,
+ keywords = {Kasenbericht}
+}
+
+@Article{ dtk90.3:schmidt:tagungsbericht,
+ author = {Jens Schmidt},
+ title = {Tagungsbericht von der {\TeX}90 in {C}ork},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = {9--11},
+ annote = theatertage,
+ keywords = {Tagungsbericht, Cork}
+}
+
+@Article{ dtk90.3:zierke:tagungsbericht,
+ author = {Reinhard Zierke},
+ title = {Tagungsbericht vom 9.~{T}reffen der deutschen
+ {\TeX}-{I}nteressenten in {G}{\"o}ttingen},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = {11--16},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk90.3:dafferner:epson-kompatibilitaet,
+ author = {Andreas Dafferner},
+ title = {Epson-{K}ompatibilit{\"a}t $\neq$
+ {E}pson-{K}ompatibilit{\"a}t},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = {17--18},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk90.3:tolksdorf:deutschsprachige,
+ author = {Robert Tolksdorf},
+ title = {Deutschsprachige {V}ersion des
+ {\BibTeX}-\texttt{alpha}-{S}tils},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = 28,
+ annote = bretter,
+ keywords = {BibTeX, Literaturverzeichnis}
+}
+
+@Article{ dtk90.3:donath:dokumentation,
+ author = {Dirk Donath},
+ title = {Dokumentation von {HPTOMF}},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = {19--22},
+ annote = bretter,
+ keywords = {HPTOMF}
+}
+
+@Article{ dtk90.3:partl:notizen,
+ author = {Hubert Partl},
+ title = {Notizen zu {L}ayout und {\LaTeX}},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = {22--26},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk90.3:tolksdorf:kennzeichnung,
+ author = {Robert Tolksdorf},
+ title = {Kennzeichnung von {V}orversionen eines {D}okumentes},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = {26--29},
+ annote = bretter,
+ abstract = {Durch eine kleine Modifikation der Output-Routine von
+ {\LaTeX} werden Vorversionen eines Dokumentes durch eine
+ zus{\"a}tzliche Zeile am Seitenende als solche
+ gekennzeichnet. Die Modifikation wird als Style-Option
+ implementiert.},
+ keywords = {}
+}
+
+@Article{ dtk90.3:pirnay:hilfsprogramme,
+ author = {Jens Pirnay},
+ title = {Hilfsprogramme f{\"u}r {\TeX}},
+ journal = dtk,
+ year = 1990,
+ volume = {3/90},
+ altvolume = 2,
+ altnumber = 3,
+ month = nov,
+ pages = {30--33},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk90.4:burr:editorial,
+ author = {Barbara Burr},
+ title = {Editorial},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk90.4:lammarsch:jahresrueckblick,
+ author = {Joachim Lammarsch},
+ title = {Jahresr{\"u}ckblick},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {4--7},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.4:dietsche:deutsche,
+ author = {Luzia Dietsche},
+ title = {Deutsche {K}urzfassungen: {TUG}boat-{A}rtikel {V}ol.~11,
+ {N}o.~5},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {9--13},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk90.4:dafferner:nachtrag,
+ author = {Andreas Dafferner},
+ title = {Nachtrag zum {A}rtikel: \emph{{E}pson-{K}ompatibilit{\"a}t
+ $\neq$ {E}pson-{K}ompatibilit{\"a}t}},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = 14,
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk90.4:schrod:bemerkungen,
+ author = {Joachim Schrod},
+ title = {Bemerkungen zur deutschsprachigen {V}ersion des
+ {\BibTeX}-\texttt{alpha}-{S}tiles},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {14--16},
+ annote = bretter,
+ keywords = {BibTeX}
+}
+
+@Article{ dtk90.4:zierke:vereinfachter,
+ author = {Reinhard Zierke},
+ title = {Vereinfachter {\TeX}-{A}ufruf unter {U}nix},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {17--22},
+ annote = bretter,
+ keywords = {Unix, \TeX-Aufruf}
+}
+
+@Article{ dtk90.4:pirnay:ueberblick,
+ author = {Jens Pirnay},
+ title = {{{\"U}}berblick {\"u}ber die {M}{\"o}glichkeiten von
+ {\TeX}draw f{\"u}r den {A}tari},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {22--23},
+ annote = bretter,
+ keywords = {\TeX{}draw, Atari}
+}
+
+@Article{ dtk90.4:knuth:future,
+ author = {Donald E. Knuth},
+ title = {The Future of {\TeX} and {\MF}},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {23--25},
+ annote = bretter,
+ keywords = {Knuth, Metafont-Entwicklung, \TeX-Entwicklung}
+}
+
+@Article{ dtk90.4:thull:gebrauch,
+ author = {Klaus Thull},
+ title = {Der {G}ebrauch von {\MF}},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {25--36},
+ annote = bretter,
+ keywords = {Metafont, Fontentwurf, Schriftentwurf}
+}
+
+@Article{ dtk90.4:lammarsch:tests,
+ author = {Joachim Lammarsch},
+ title = {Tests von verschiedenen {PC}-{V}ersionen},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {37--41},
+ annote = bretter,
+ keywords = {MS-DOS, PC\TeX, Turbo\TeX, em\TeX, $\mu$\TeX, PubliC\TeX,
+ sb\TeX}
+}
+
+@Article{ dtk90.4:mittelbach:brief,
+ author = {Frank Mittelbach},
+ title = {Brief an den {E}ditor},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = 42,
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk90.4:neubauer:kalender,
+ author = {Marion Neubauer},
+ title = {Kalender in {\TeX}},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {43--45},
+ annote = bretter,
+ keywords = {Kalender}
+}
+
+@Article{ dtk90.4:alighieri:goettliche,
+ author = {Dante Alighieri},
+ title = {Die g{\"o}ttliche {K}om{\"o}die},
+ journal = dtk,
+ year = 1990,
+ volume = {4/90},
+ altvolume = 2,
+ altnumber = 4,
+ month = dec,
+ pages = {46--47},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk91.1:burr:editorial,
+ author = {Barbara Burr},
+ title = {Editorial},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk91.1:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 4.~ordentlichen {M}itgliederversammlung von
+ {DANTE}, {D}eutschsprachigen {A}nwendervereinigung {\TeX}
+ e.{V}.},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {4--11},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk91.1:kruljac-dronskowski:grusswort,
+ author = {Gabriele Kruljac-Dronskowski},
+ title = {Gru{\ss}wort zum {A}bschied},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {11--12},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk91.1:neuwirth.obermiller:bericht,
+ author = {Erich Neuwirth and Walter Obermiller},
+ title = {Bericht {\"u}ber die 10.~{T}agung der deutschsprachigen
+ {\TeX} {I}nteressenten},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {13--16},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk91.1:esken:bedieneroberflaeche,
+ author = {Thomas Esken},
+ title = {Eine {B}edieneroberfl{\"a}che f{\"u}r das {em\TeX}-{S}ystem},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {17--20},
+ annote = bretter,
+ keywords = {Oberfl{\"a}che, em\TeX}
+}
+
+@Article{ dtk91.1:bernloehr:viewdvi,
+ author = {Konrad Bernl{\"o}hr},
+ title = {{VIEWDVI} -- ein leistungsf{\"a}higer {P}reviewer f{\"u}r
+ {P}ersonal {C}omputer},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {20--23},
+ annote = bretter,
+ keywords = {Previewer, VIEWDVI}
+}
+
+@Article{ dtk91.1:schurr:grafikeinbindung,
+ author = {Oliver Schurr},
+ title = {Grafikeinbindung (!) in {\TeX} mit {HPTOMF} -- {E}in
+ {E}rfahrungsbericht},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {23--24},
+ annote = bretter,
+ keywords = {HPTOMF, Grafik, Bilder}
+}
+
+@Article{ dtk91.1:meyer-lerbs:klassiker,
+ author = {Lothar Meyer-Lerbs},
+ title = {Zwei {K}lassiker der {T}ypographie},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {25--26},
+ note = {Rezension zweier B{\"u}cher von Jan Tschichold},
+ annote = rezension,
+ keywords = {Rezension, Tschichold}
+}
+
+@Article{ dtk91.1:meyer-lerbs:tips,
+ author = {Lothar Meyer-Lerbs},
+ title = {Tips zum {T}abellensatz},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {27--29},
+ annote = schonimmer,
+ keywords = {Tabellen, }
+}
+
+@Article{ dtk91.1:alighieri:goettliche,
+ author = {Dante Alighieri},
+ title = {Die g{\"o}ttliche {K}om{\"o}die},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {30--31},
+ annote = magazin,
+ keywords = {}
+}
+
+@Article{ dtk91.1:physikalisches-maerchen,
+ key = {physikalisches maerchen},
+ title = {Ein physikalisches {M}{\"a}rchen},
+ journal = dtk,
+ year = 1991,
+ volume = {1/91},
+ altvolume = 3,
+ altnumber = 1,
+ month = may,
+ pages = {32--33},
+ annote = magazin,
+ keywords = {}
+}
+
+@Article{ dtk91.2:burr:editorial,
+ author = {Barbara Burr},
+ title = {Editorial},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk91.2:lammarsch:dante,
+ author = {Joachim Lammarsch},
+ title = {Neues von {DANTE}},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = {4--7},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk91.2:lammarsch:wahlen,
+ author = {Joachim Lammarsch},
+ title = {Wahlen zum \emph{Board of Directors}},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = {7--8},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk91.2:lammarsch:ruecktritt,
+ author = {Joachim Lammarsch},
+ title = {R{\"u}cktritt des {E}uropean {C}oordinators},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = 9,
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk91.2:sowa:grafikintegration,
+ author = {Friedhelm Sowa},
+ title = {Grafikintegration mit \textsf{BM2FONT}},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = {10--14},
+ annote = bretter,
+ keywords = {bm2font, Grafik, Bilder}
+}
+
+@Article{ dtk91.2:werntges:hp2xx,
+ author = {Heinz Werntges},
+ title = {\texttt{hp2xx} -- {E}in {K}onverter f{\"u}r
+ {HPGL}-{D}ateien},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = {14--23},
+ annote = bretter,
+ abstract = {HPGL ist ein Quasi-Standard f{\"u}r Vektorgrafiken. Wer
+ HPGL-Bilder in {\TeX}-Dokumente einbinden will, erh{\"a}lt
+ mit \texttt{hp2xx} ein Hilfsmittel f{\"u}r alle typischen
+ Vorgehensweisen: \texttt{hp2xx} kann Druckdateien erzeugen,
+ so da{\ss} Abbildungen in alter Weise separat gedruckt und
+ eingeklebt werden k{\"o}nnen, generiert aber auch
+ Rastergrafik (PCX), entweder f{\"u}r die direkte Einbindung
+ wie mit den {em\TeX}-Treibern, oder f{\"u}r
+ Weiterverarbeitung wie z.\,B. mit \texttt{bm2font}. Das
+ EPS-Format (encapsulated \textsc{PostScript})
+ erm{\"o}glicht aufl{\"o}sungsunabh{\"a}ngige Bildeinbindung
+ und ist insbesondere f{\"u}r hochaufl{\"o}sende Drucker
+ oder Lichtsatzanlagen interessant. Auch \textsc{Metafont}
+ wird unterst{\"u}tzt. Auf DOS-Rechnern mit VGA-Grafik ist
+ schlie{\ss}lich ein Preview-Modus realisiert.
+
+ Das ausf{\"u}hrbare Programm ist {\glqq}public
+ domain{\grqq} und wird zur Zeit auf DOS, Sun (Sparc), sowie
+ (mit Einschr{\"a}nkungen) auf VAX/VMS und ATARI unterst{\"u}tzt.},
+ keywords = {hp2xx, Konverter, Rastergrafik, Bilder, Postscript,
+ bm2font, eps}
+}
+
+@Article{ dtk91.2:strempel:latex-programm,
+ author = {Torsten-Karl Strempel},
+ title = {{\LaTeX}-{P}rogramm zum {B}riefeschreiben},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = {22--25},
+ annote = bretter,
+ keywords = {Briefe, \verb|tksbrief.sty|}
+}
+
+@Article{ dtk91.2:schoepf:softwareverteilung,
+ author = {Rainer Sch{\"o}pf},
+ title = {Softwareverteilung durch elektronische {N}etze {I} --
+ {D}ie {\TeX}-{S}erver in {H}eidelberg und {S}tuttgart},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = {26--32},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk91.2:lammarsch:qms-ps,
+ author = {Joachim Lammarsch},
+ title = {{QMS PS} {L}aserdrucker},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = {32--33},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk91.2:dietsche:hat,
+ author = {Luzia Dietsche},
+ title = {\dots{} der hat was zu erz{\"a}hlen},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = {33--34},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk91.2:schmitt:bemerkungen,
+ author = {Peter Schmitt},
+ title = {Einige {B}emerkungen zu den {DC}-{F}onts},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = {35--37},
+ annote = leserbrief,
+ keywords = {Leserbrief, Fonts (DC), DC-Fonts, Schriften}
+}
+
+@Article{ dtk91.2:alighieri:goettliche,
+ author = {Dante Alighieri},
+ title = {Die g{\"o}ttliche {K}om{\"o}die},
+ journal = dtk,
+ year = 1991,
+ volume = {2/91},
+ altvolume = 3,
+ altnumber = 2,
+ month = aug,
+ pages = 38,
+ annote = magazin,
+ keywords = {}
+}
+
+@Article{ dtk91.3:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 5.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1991,
+ volume = {3/91},
+ altvolume = 3,
+ altnumber = 3,
+ month = oct,
+ pages = {4--16},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk91.3:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1991,
+ volume = {3/91},
+ altvolume = 3,
+ altnumber = 3,
+ month = oct,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk91.3:lammarsch:resumee,
+ author = {Joachim Lammarsch},
+ title = {Ein {R}esumee},
+ journal = dtk,
+ year = 1991,
+ volume = {3/91},
+ altvolume = 3,
+ altnumber = 3,
+ month = oct,
+ pages = {17--18},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk91.3:dafferner.schoepf:aufenthalt,
+ author = {Andreas Dafferner and Rainer Sch{\"o}pf},
+ title = {Ein {A}ufenthalt in {E}lbflorenz},
+ journal = dtk,
+ year = 1991,
+ volume = {3/91},
+ altvolume = 3,
+ altnumber = 3,
+ month = oct,
+ pages = {19--21},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk91.3:kisker:rumgraph,
+ author = {H.-W. Kisker},
+ title = {rumgraph -- {E}inbindung von {P}ixel-{B}ildern in ein
+ {\TeX}-{D}okument, {T}eil 1},
+ journal = dtk,
+ year = 1991,
+ volume = {3/91},
+ altvolume = 3,
+ altnumber = 3,
+ month = oct,
+ pages = 22,
+ annote = bretter,
+ keywords = {Grafik, Bilder, RUMgraph}
+}
+
+@Article{ dtk91.3:wiechern:test,
+ author = {Hartmut Wiechern},
+ title = {Test zweier {A}tari-{V}ersionen},
+ journal = dtk,
+ year = 1991,
+ volume = {3/91},
+ altvolume = 3,
+ altnumber = 3,
+ month = oct,
+ pages = {34--37},
+ annote = bretter,
+ keywords = {Atari, Lindner-\TeX, Strunk-\TeX}
+}
+
+@Article{ dtk91.3:baas:briefe,
+ author = {Michael Baas},
+ title = {Briefe mit {\LaTeX} -- {E}in {\"U}berblick},
+ journal = dtk,
+ year = 1991,
+ volume = {3/91},
+ altvolume = 3,
+ altnumber = 3,
+ month = oct,
+ pages = {37--40},
+ annote = bretter,
+ keywords = {Briefe, Dinbriefe}
+}
+
+@Article{ dtk91.3:schoepf:tex-benutzer,
+ author = {Rainer Sch{\"o}pf},
+ title = {{\TeX}-{B}enutzer -- {E}in {P}ortrait},
+ journal = dtk,
+ year = 1991,
+ volume = {3/91},
+ altvolume = 3,
+ altnumber = 3,
+ month = oct,
+ pages = {41--43},
+ annote = beiprogramm,
+ keywords = {Humor, Satire}
+}
+
+@Article{ dtk91.3:astheimer:bemerkung,
+ author = {Henning Astheimer},
+ title = {Bemerkung zu den {S}ervern},
+ journal = dtk,
+ year = 1991,
+ volume = {3/91},
+ altvolume = 3,
+ altnumber = 3,
+ month = oct,
+ pages = {44--45},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk91.4:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk91.4:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk91.4:knappen:bericht,
+ author = {J{\"o}rg Knappen},
+ title = {Bericht von der 6.~europ{\"a}ischen {\TeX}-{K}onferenz},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {6--11},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk91.4:mittelbach.rowley:latex3,
+ author = {Frank Mittelbach and Chris Rowley},
+ title = {Das {\LaTeX3} {P}rojekt},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {12--15},
+ annote = fremdebuehne,
+ keywords = {\LaTeX3, \LaTeX-Entwicklung, \LaTeX-News}
+}
+
+@Article{ dtk91.4:kisker:rumgraph,
+ author = {H.-W. Kisker},
+ title = {rumgraph -- {E}inbindung von {P}ixel-{B}ildern in ein
+ {\TeX}-{D}okument, {T}eil 2},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {16--23},
+ annote = bretter,
+ keywords = {Grafik, Bilder, RUMgraph}
+}
+
+@Article{ dtk91.4:schalueck:night,
+ author = {Elmar Schal{\"u}ck},
+ title = {A {N}ight at the {O}pera -- {Z}wei {K}onzertberichte},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {23--26},
+ annote = bretter,
+ keywords = {Mu\TeX, Music\TeX, Musiknotensatz}
+}
+
+@Article{ dtk91.4:erlmeier:amiga,
+ author = {Markus Erlmeier},
+ title = {Der {A}miga und {\TeX}},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {26--28},
+ annote = bretter,
+ keywords = {Amiga}
+}
+
+@Article{ dtk91.4:meyer-lerbs:macintosh,
+ author = {Lothar Meyer-Lerbs},
+ title = {Der {M}acintosh und {\TeX}},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {28--40},
+ annote = bretter,
+ keywords = {Macintosh, Oz\TeX, Direct\TeX, Textures}
+}
+
+@Article{ dtk91.4:birkhahn.lindner:tex,
+ author = {Lutz Birkhahn and Stefan Lindner},
+ title = {{\TeX} auf dem {A}tari {ST}},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {40--43},
+ annote = bretter,
+ abstract = {Das folgende ist ein stichpunktartiger Bericht {\"u}ber
+ den Status des {\TeX}-Systems auf dem Atari ST.},
+ keywords = {Atari}
+}
+
+@Article{ dtk91.4:wiechern:nachtrag,
+ author = {Hartmut Wiechern},
+ title = {Nachtrag zum {A}tari-{\TeX}-{T}est},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {43--45},
+ annote = bretter,
+ keywords = {Atari}
+}
+
+@Article{ dtk91.4:schoepf:tex-raetsel,
+ author = {Rainer Sch{\"o}pf},
+ title = {Drei {\TeX}-{R}{\"a}tsel},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = 46,
+ annote = schonimmer,
+ keywords = {R{\"a}tsel}
+}
+
+@Article{ dtk91.4:lammarsch:aktuelle,
+ author = {Joachim Lammarsch},
+ title = {Aktuelle {A}uflage der {\TeX}-{B}{\"u}cher},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = 47,
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk91.4:lammarsch:tex-buecher,
+ author = {Joachim Lammarsch},
+ title = {Drei {\TeX}-{B}{\"u}cher im {V}ergleich},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {48--51},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk91.4:lehmke:atari-tex,
+ author = {Stephan Lehmke},
+ title = {Atari-{\TeX} und {U}mlaute},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = 52,
+ annote = leserbrief,
+ keywords = {Leserbrief, Atari, Umlaute}
+}
+
+@Article{ dtk91.4:lehmke:grafikeinbindung,
+ author = {Stephan Lehmke},
+ title = {Grafikeinbindung},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {53--54},
+ note = {mit Antwort von Friedhelm Sowa},
+ annote = leserbrief,
+ keywords = {Leserbrief, Grafik, \PiCTeX}
+}
+
+@Article{ dtk91.4:landmann:serverzugang,
+ author = {J{\"o}rg Landmann},
+ title = {Serverzugang},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = 56,
+ note = {mit {A}ntwort von Joachim Lammarsch},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk91.4:landmann:dc-fonts,
+ author = {J{\"o}rg Landmann},
+ title = {{DC}-{F}onts},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = 57,
+ note = {mit einer {A}ntwort von Rainer Sch{\"o}pf},
+ annote = leserbrief,
+ keywords = {Leserbrief, DC-Fonts, Fonts (DC), Umlaute}
+}
+
+@Article{ dtk91.4:joswig:bemerkungen,
+ author = {Michael J. Joswig},
+ title = {Bemerkungen zum {A}tari-{\TeX}},
+ journal = dtk,
+ year = 1991,
+ volume = {4/91},
+ altvolume = 3,
+ altnumber = 4,
+ month = dec,
+ pages = {57--58},
+ annote = leserbrief,
+ keywords = {Leserbrief, Atari}
+}
+
+@Article{ dtk92.1:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk92.1:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk92.1:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 6.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {5--22},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk92.1:sowa:kassenbericht,
+ author = {Friedhelm Sowa},
+ title = {Kassenbericht f{\"u}r den {Z}eitraum 1.1.1991--31.12.1991},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {23--25},
+ annote = hinterbuehne,
+ keywords = {Kassenbericht}
+}
+
+@Article{ dtk92.1:zierke:stammtischbericht,
+ author = {Reinhard Zierke},
+ title = {Stammtischbericht aus {H}amburg},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {25--26},
+ annote = hinterbuehne,
+ keywords = {Stammtisch}
+}
+
+@Article{ dtk92.1:erlmeier:software-verteilung,
+ author = {Markus Erlmeier},
+ title = {Software-{V}erteilung {A}miga},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {26--28},
+ annote = hinterbuehne,
+ keywords = {Amiga}
+}
+
+@Article{ dtk92.1:burkhard:klassenarbeiten,
+ author = {Werner Burkhard},
+ title = {Klassenarbeiten mit {\LaTeX}},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {29--32},
+ annote = bretter,
+ keywords = {Aufgaben, Klassenarbeiten, Klausuren}
+}
+
+@Article{ dtk92.1:barth.steiner:deutsche,
+ author = {Wilhelm Barth and Helmut Steiner},
+ title = {Deutsche {S}ilbentrennung f{\"u}r {\TeX} 3.1},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {33--35},
+ annote = bretter,
+ keywords = {Silbentrennung}
+}
+
+@Article{ dtk92.1:wallmeier:deutsches,
+ author = {Markus Wallmeier},
+ title = {Deutsches und internationales {\BibTeX}ing},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {35--38},
+ annote = bretter,
+ keywords = {BibTeX}
+}
+
+@Article{ dtk92.1:sumbeck:verwaltung,
+ author = {Fred Sumbeck},
+ title = {Verwaltung von {L}iteraturdatenbanken},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {39--46},
+ annote = bretter,
+ keywords = {BibTeX, Literaturverzeichnis}
+}
+
+@Article{ dtk92.1:schmidt:metafont-spielereien,
+ author = {Jens Schmidt},
+ title = {{\MF}-{S}pielereien},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {46--48},
+ note = {Beschreibung eines ausgefallenen,
+ {\glqq}schwimmenden{\grqq} Fonts.},
+ annote = bretter,
+ keywords = {Metafont, cmnerv, Fonts, Schriften}
+}
+
+@Article{ dtk92.1:dietsche:anfaengerfragen,
+ author = {Luzia Dietsche},
+ title = {Anf{\"a}ngerfragen gesucht},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = 49,
+ annote = schonimmer,
+ keywords = {}
+}
+
+@Article{ dtk92.1:schoepf:tex-raetsel,
+ author = {Rainer Sch{\"o}pf},
+ title = {Drei {\TeX}-{R}{\"a}tsel -- die {A}ufl{\"o}sung},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = 50,
+ annote = schonimmer,
+ keywords = {R{\"a}tsel}
+}
+
+@Article{ dtk92.1:dietsche:bezugsquellen,
+ author = {Luzia Dietsche},
+ title = {Bezugsquellen f{\"u}r {\TeX}},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = 51,
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk92.1:szillat:dc-fonts,
+ author = {Horst Szillat},
+ title = {{DC}-{F}onts},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = {52--54},
+ annote = leserbrief,
+ keywords = {Leserbrief, Fonts (DC), DC-Fonts, Schriften}
+}
+
+@Article{ dtk92.1:langhaus:serverzugang,
+ author = {Claus Langhaus},
+ title = {Serverzugang},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = 54,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk92.1:woehle:geraeteunabhaengigkeit,
+ author = {Hartmut W{\"o}hle},
+ title = {Ger{\"a}teunabh{\"a}ngigkeit},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = 55,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk92.1:pauli:wissenschaftliche,
+ author = {Guido F. Pauli},
+ title = {Wissenschaftliche {P}ublikationen und {\TeX}},
+ journal = dtk,
+ year = 1992,
+ volume = {1/92},
+ altvolume = 4,
+ altnumber = 1,
+ month = may,
+ pages = 55,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk92.2:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk92.2:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk92.2:sowa:stammtisch,
+ author = {Friedhelm Sowa},
+ title = {Stammtisch in {D}uisburg},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {5--6},
+ annote = hinterbuehne,
+ keywords = {Stammtisch}
+}
+
+@Article{ dtk92.2:wellssow:bericht,
+ author = {Arne Well{\ss}ow},
+ title = {Bericht {\"u}ber {DANTE}'92 in {H}amburg},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {7--12},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk92.2:neuwirth:weiterentwicklung,
+ author = {Erich Neuwirth},
+ title = {Die {W}eiterentwicklung von {\TeX}},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {13-15},
+ annote = bretter,
+ keywords = {\TeX-Entwicklung}
+}
+
+@Article{ dtk92.2:mittelbach:latex3,
+ author = {Frank Mittelbach},
+ title = {{\LaTeX3}},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {15-22},
+ annote = bretter,
+ keywords = {\LaTeX-Entwicklung, \LaTeX3}
+}
+
+@Article{ dtk92.2:langhaus:elektronische,
+ author = {Claus Langhaus},
+ title = {Elektronische {K}ommunikation f{\"u}r {J}edermann},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {22--26},
+ annote = bretter,
+ abstract = {In diesem Artikel wird der Versuch unternommen, die
+ M{\"o}glichkeiten der elektronischen Kommunikation f{\"u}r
+ Privatleute zu beleuchten, soweit sie f{\"u}r die
+ Mitglieder von {DANTE}, Deutschsprachige
+ Anwendervereinigung {\TeX} e.V., interessant sind. Es wird
+ dabei auch auf die verschiedenen Netze eingegangen.},
+ keywords = {}
+}
+
+@Article{ dtk92.2:szillat:ams-latex,
+ author = {Horst Szillat},
+ title = {{\AMS-\LaTeX}},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {26--31},
+ annote = bretter,
+ keywords = {\AMS-\LaTeX}
+}
+
+@Article{ dtk92.2:bode:bibtex-style-files,
+ author = {Hans-Hermann Bode},
+ title = {Neue {\BibTeX}-{S}tyle-{F}iles: die \emph{adaptable
+ family}},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {31--41},
+ annote = bretter,
+ abstract = {Es wird eine neue Familie von \BibTeX{}-Style-Files
+ vorgestellt, die von den Standard-Style-Files abgeleitet
+ ist und sich durch nachtr{\"a}gliche Anpa{\ss}barkeit von
+ Layout und F{\"u}llw{\"o}rtern seitens des Benutzers oder
+ der Benutzerin auszeichnet. Das Paket umfa{\ss}t neben den
+ eigentlichen Stil-Dateien mit Definitionen, die automatisch
+ eine englische oder deutsche Bibliographie mit
+ ausgeschriebenen oder abgek{\"u}rzten F{\"u}llw{\"o}rtern
+ erzeugen und au{\ss}erdem die volle Kompatibilit{\"a}t
+ bestehender \BibTeX{}-Datenbanken zu den neuen Stilen sowie
+ umgekehrt die Vertr{\"a}glichkeit neuer Datenbanken zu den
+ alten Stilen herstellen.},
+ keywords = {BibTeX}
+}
+
+@Article{ dtk92.2:sowa:text,
+ author = {Friedhelm Sowa},
+ title = {Text und {B}ilder},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {41--45},
+ annote = bretter,
+ keywords = {Bilder, Grafik, \verb|picinpar.sty|}
+}
+
+@Article{ dtk92.2:lammarsch:aergernis,
+ author = {Joachim Lammarsch},
+ title = {Das {\"A}rgernis},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = 47,
+ annote = beiprogramm,
+ keywords = {Public Domain, Shareware, Chip, em\TeX, TUG}
+}
+
+@Article{ dtk92.2:lammarsch:umgebungsbereich,
+ author = {Joachim Lammarsch},
+ title = {Umgebungsbereich zu klein?},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = 46,
+ annote = schonimmer,
+ keywords = {MS-DOS, Umgebungsbereich}
+}
+
+@Article{ dtk92.2:zierke:vieweg,
+ author = {Reinhard Zierke},
+ title = {Das {V}ieweg {\LaTeX}-{B}uch: {E}ine praxisorientierte
+ {E}inf{\"u}hrung},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = {48--49},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk92.2:schaenzel:druckertreiber,
+ author = {Roland Sch{\"a}nzel},
+ title = {Druckertreiber gesucht},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = 50,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk92.2:kalski:pictex-manual,
+ author = {Jens Kalski},
+ title = {{\PiCTeX}-{M}anual},
+ journal = dtk,
+ year = 1992,
+ volume = {2/92},
+ altvolume = 4,
+ altnumber = 2,
+ month = aug,
+ pages = 50,
+ annote = leserbrief,
+ keywords = {Leserbrief, \PiCTeX}
+}
+
+@Article{ dtk92.3:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = nov,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk92.3:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 7.~{M}itgliederversammlung {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = nov,
+ pages = {4--17},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk92.3:bleser.lang:bilder,
+ author = {Joachim Bleser and Edmund Lang},
+ title = {Bilder in {\LaTeX}-{D}okumenten},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = nov,
+ pages = {18--24},
+ annote = bretter,
+ keywords = {Grafik, Bilder, \verb|picins.sty|}
+}
+
+@Article{ dtk92.3:raichle:umlaute,
+ author = {Bernd Raichle},
+ title = {Umlaute im {\BibTeX}-{S}tylebefehl \textsc{macro}},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = nov,
+ pages = {25--27},
+ annote = bretter,
+ keywords = {Umlaute, BibTeX}
+}
+
+@Article{ dtk92.3:schurr:documentstyle-familie,
+ author = {Oliver Schurr},
+ title = {Die documentstyle-{F}amilie \texttt{SCRIPT}},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = nov,
+ pages = {27--28},
+ annote = bretter,
+ abstract = {Die documentsytle-Familie \texttt{SCRIPT} von Frank Neukam
+ erm{\"o}glicht erstmals eine deutliche Verbesserung des
+ Layouts von Texten, die mit {\LaTeX} gesetzt sind. Sie
+ erlaubt u.\,a. eine sehr komfortable Einstellung des
+ Satzspiegels f{\"u}r die verschiedenen DIN-Formate und
+ enth{\"a}lt einen Briefstil, der in der {\TeX}-Gemeinde
+ seines gleichen sucht.},
+ keywords = {|SCRIPT|, Dokumentstyle}
+}
+
+@Article{ dtk92.3:willadt:anregungen,
+ author = {Peter Willadt},
+ title = {Anregungen hinsichtlich der {S}oftwareverteilung von
+ {DANTE} e.{V}.},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = nov,
+ pages = {29--30},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk92.3:juritza:wandel-exe,
+ author = {Dieter Juritza},
+ title = {\texttt{WANDEL.EXE} -- ein vielf{\"a}ltig nutzbarer
+ {F}ormatkonverter},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = nov,
+ pages = {31--32},
+ annote = bretter,
+ keywords = {Konverter, \verb|Wandel.exe|}
+}
+
+@Article{ dtk92.3:esken:kurzer,
+ author = {Thomas Esken},
+ title = {Kurzer {N}achtrag zur {\TeX}-{B}enutzungsoberfl{\"a}che
+ \textsf{Tx1}},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = nov,
+ pages = {33--34},
+ annote = bretter,
+ keywords = {Oberfl{\"a}che}
+}
+
+@Article{ dtk92.3:guelicher:autoaufkleber,
+ author = {Christoph G{\"u}licher},
+ title = {Autoaufkleber},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = nov,
+ pages = {34--35},
+ annote = bretter,
+ keywords = {Autoaufkleber}
+}
+
+@Article{ dtk92.3:kuchel.muus:kalender,
+ author = {W.F. Kuchel and P.H. Muus},
+ title = {Kalender},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = dec,
+ pages = {35--36},
+ annote = bretter,
+ keywords = {Kalender}
+}
+
+@Article{ dtk92.3:dietsche:blocksatz,
+ author = {Luzia Dietsche},
+ title = {Blocksatz beim {A}bbildungs-/{T}abellentitel},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = dec,
+ pages = {37--38},
+ annote = schonimmer,
+ keywords = {Markup, Blocksatz, Abbildungen, Tabellen}
+}
+
+@Article{ dtk92.3:hundt:nachdrucke,
+ author = {Ekkehardt Hundt},
+ title = {Nachdrucke der {K}nuth-{B}{\"a}nde},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = dec,
+ pages = {39--40},
+ annote = beiprogramm,
+ keywords = {Knuth}
+}
+
+@Article{ dtk92.3:lammarsch:beginners,
+ author = {Joachim Lammarsch},
+ title = {A {B}eginners {B}ook of {\TeX}},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = dec,
+ pages = {41--43},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk92.3:riedel:belichter,
+ author = {Wolfgang Riedel},
+ title = {Belichter gesucht},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = dec,
+ pages = 44,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk92.3:becker:devanangi-fonts,
+ author = {Joachim U. Becker},
+ title = {Devanangi-{F}onts f{\"u}r {\TeX}},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = dec,
+ pages = {44-45},
+ annote = leserbrief,
+ keywords = {Leserbrief, Devangangi, Fonts, Schriften}
+}
+
+@Article{ dtk92.3:kusznier:sprachschwierigkeiten,
+ author = {Heinz Kusznier},
+ title = {Sprachschwierigkeiten},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = dec,
+ pages = 45,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk92.3:loew:aufgabe,
+ author = {Michael L{\"o}w},
+ title = {Aufgabe},
+ journal = dtk,
+ year = 1992,
+ volume = {3/92},
+ altvolume = 4,
+ altnumber = 3,
+ month = dec,
+ pages = 45,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk92.4:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk92.4:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {4--6},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk92.4:meyer-lerbs:tex,
+ author = {Lothar Meyer-Lerbs},
+ title = {{\TeX} auf dem {M}ac},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = 6,
+ annote = hinterbuehne,
+ keywords = {Macintosh}
+}
+
+@Article{ dtk92.4:erlmeier:texnische,
+ author = {Markus Erlmeier},
+ title = {{\TeX}nische {S}oftware auf dem {A}miga},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {6--8},
+ annote = hinterbuehne,
+ keywords = {Amiga}
+}
+
+@Article{ dtk92.4:gloeckner:erzeugung,
+ author = {J{\"u}rgen Gl{\"o}ckner},
+ title = {Erzeugung virtueller {F}onts},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {9--16},
+ annote = bretter,
+ abstract = {Es werden Grundlagen f{\"u}r die Herstellung virtueller
+ Fonts vorgestellt. {A}nhand dreier Beispiele wird das
+ Vorgehen bei der Definition virtueller Fonts erl{\"a}utert:
+ \begin{enumerate} \item Ziffern in einem Font aus einem
+ anderen Font nehmen; \item PostScript-{\verb+\special+}
+ f{\"u}r das Rastern von Zeichen; \item Anpassungen der
+ Zeichenbelegung eines Fonts an einen anderen, dargestellt
+ f{\"u}r die DVIPS-Treiber von Arbort-{\TeX} von Tomas
+ Rokicki. \end{enumerate}},
+ keywords = {Fonts, virtuelle Fonts, Schriften, Metafont, DVIPS, }
+}
+
+@Article{ dtk92.4:dippel:latex-seitenlayout,
+ author = {Joachim Dippel},
+ title = {Neues zum {\LaTeX}-{S}eitenlayout: {D}er {O}urhead
+ {S}tyle},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {16--20},
+ annote = bretter,
+ keywords = {Markup, Seitenlayout, \verb|ourhead.sty|}
+}
+
+@Article{ dtk92.4:breuer:anmerkungen,
+ author = {Stefan Breuer},
+ title = {Anmerkungen zum \verb+\footnote+-{B}efehl},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {20--22},
+ annote = bretter,
+ keywords = {Fu{\ss}noten, Markup}
+}
+
+@Article{ dtk92.4:burkhardt:schaubilder,
+ author = {Werner Burkhardt},
+ title = {Schaubilder mathematischer {F}unktionen mit {\PiCTeX}},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {22--27},
+ annote = bretter,
+ keywords = {\PiCTeX, Funktionen, Grafik, Mathematik}
+}
+
+@Article{ dtk92.4:bleser.lang:balkendiagramme,
+ author = {Joachim Bleser and Edmund Lang},
+ title = {Balkendiagramme in {\LaTeX}-{D}okumenten},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {28--33},
+ annote = bretter,
+ keywords = {Balkendiagramme, Grafik, \verb|bar.sty|}
+}
+
+@Article{ dtk92.4:jurzitza:schaltbilder,
+ author = {Dieter Jurzitza},
+ title = {Schaltbilder mit {\LaTeX}},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {34},
+ annote = bretter,
+ keywords = {Schaltbilder}
+}
+
+@Article{ dtk92.4:dietsche:fette,
+ author = {Luzia Dietsche},
+ title = {Fette mathematische {A}kzente},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = 35,
+ annote = schonimmer,
+ keywords = {Formelsatz, Mathematik}
+}
+
+@Article{ dtk92.4:erlmeier:pastex,
+ author = {Markus Erlmeier},
+ title = {Pas{\TeX} in {V}orbereitung},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = 36,
+ annote = beiprogramm,
+ keywords = {Pas\TeX, Amiga}
+}
+
+@Article{ dtk92.4:bratz:beinahe,
+ author = {Ernst Bratz},
+ title = {Beinahe gut -- ein subjektiver {T}est von {S}cientific
+ {W}ord},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {37--38},
+ annote = rezension,
+ keywords = {Rezension, Word, Scientific Word}
+}
+
+@Article{ dtk92.4:meyer-lerbs:ganz,
+ author = {Lothar Meyer-Lerbs},
+ title = {Ganz un{\TeX}nische {B}{\"u}cher},
+ journal = dtk,
+ year = 1992,
+ volume = {4/92},
+ altvolume = 4,
+ altnumber = 4,
+ month = dec,
+ pages = {38--40},
+ annote = rezension,
+ keywords = {Rezension, Tschichold}
+}
+
+@Article{ dtk93.1:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk93.1:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk93.1:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 8.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {5--23},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk93.1:dietsche:aktive,
+ author = {Luzia Dietsche},
+ title = {Aktive {M}itglieder der letzten {J}ahre},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {23--25},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk93.1:kurdelski:stammtisch,
+ author = {Lutz-Peter Kurdelski},
+ title = {Stammtisch in {B}remerhafen},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = 26,
+ annote = hinterbuehne,
+ keywords = {Stammtisch,}
+}
+
+@Article{ dtk93.1:engelke:dante93,
+ author = {Stephan Engelke},
+ title = {{DANTE}'93 in {C}hemnitz},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {27--31},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk93.1:latex3-projekt-team:news,
+ author = {\LaTeX3-Projekt-Team},
+ title = {News from {\LaTeX}3},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {32--34},
+ annote = fremdebuehne,
+ keywords = {\LaTeX3, \LaTeX-News, \LaTeX-Entwicklung}
+}
+
+@Article{ dtk93.1:wisser:amiga,
+ author = {Ulrich Wisser},
+ title = {Amiga und {\TeX}},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {35--41},
+ annote = bretter,
+ keywords = {Amiga, Amiga\TeX, Pas\TeX}
+}
+
+@Article{ dtk93.1:krebs:metafont-reparaturen,
+ author = {Peter Krebs},
+ title = {{\MF}-{R}eparaturen -- f{\"u}r {L}aien},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {41--42},
+ annote = bretter,
+ keywords = {Metafont, Fonts, Schriften, yswab, Fraktur}
+}
+
+@Article{ dtk93.1:wallmeier:probleme,
+ author = {Martin Wallmeier},
+ title = {Probleme mit langen {\"U}berschriften in {\LaTeX} und ein
+ {L}{\"o}sungsvorschlag},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {43--46},
+ annote = bretter,
+ keywords = {{\"U}berschriften}
+}
+
+@Article{ dtk93.1:steinhaeuser:serienbriefe,
+ author = {Steffen Steinh{\"a}user},
+ title = {Serienbriefe und vieles mehr \dots},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {46--49},
+ annote = bretter,
+ keywords = {Serienbriefe, Briefe}
+}
+
+@Article{ dtk93.1:dietsche:fussnotenvariante,
+ author = {Luzia Dietsche},
+ title = {Fu{\ss}notenvariante},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {50--51},
+ annote = schonimmer,
+ keywords = {Markup, Fu{\ss}noten}
+}
+
+@Article{ dtk93.1:meyer-lerbs:so,
+ author = {Lothar Meyer-Lerbs},
+ title = {So kommen {S}ie an {I}hr {\TeX} auf dem {M}ac},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {52--53},
+ annote = beiprogramm,
+ keywords = {Macintosh, Oz\TeX, Direct\TeX, Textures}
+}
+
+@Article{ dtk93.1:erlmeier:mailbox,
+ author = {Markus Erlmeier},
+ title = {Mailbox f{\"u}r {A}miga-{\TeX}-{S}oftware},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {53--56},
+ annote = beiprogramm,
+ keywords = {Amiga, Mailbox}
+}
+
+@Article{ dtk93.1:hundt:wettbewerb,
+ author = {Ekkehardt Hundt},
+ title = {Wettbewerb},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = 56,
+ annote = beiprogramm,
+ keywords = {Metafont, Addison-Wesley, Logo}
+}
+
+@Article{ dtk93.1:hundt:vers,
+ author = {Ekkehardt Hundt},
+ title = {Der {V}ers 3:16 -- {E}in {I}nformatiker treibt
+ fr{\"o}hliche {T}heologie},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {58--59},
+ annote = rezension,
+ keywords = {Rezension, Knuth, Bibel, Theologie}
+}
+
+@Article{ dtk93.1:kusznier:artikel,
+ author = {Heinz Kusznier},
+ title = {Artikel und die darin beschriebene {S}oftware},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {60--61},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk93.1:steinhaeuser:anmerkungen,
+ author = {Steffen Steinh{\"a}user},
+ title = {Anmerkungen zu \verb+script_l+},
+ journal = dtk,
+ year = 1993,
+ volume = {1/93},
+ altvolume = 5,
+ altnumber = 1,
+ month = may,
+ pages = {62--63},
+ annote = leserbrief,
+ keywords = {Leserbrief, \verb|script_l|, Fonts, Schriften}
+}
+
+@Article{ dtk93.2:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk93.2:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk93.2:lammarsch:fond,
+ author = {Joachim Lammarsch},
+ title = {Fond zur {U}nterst{\"u}tzung von {M}itgliedern},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = 5,
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk93.2:vieth:bericht,
+ author = {Ulrik Vieth},
+ title = {Bericht von der 14.~{T}agung der {TUG}},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = {6--18},
+ note = {Zusammenfassung einiger Workshops und Vortr{\"a}ge zur 14.
+ TUG-Tagung in Birmingham.},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk93.2:taylor.obermiller:zukunft,
+ author = {Phil Taylor and Walter Obermiller},
+ title = {Die {Z}ukunft von {\TeX}},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = {19--37},
+ annote = fremdebuehne,
+ keywords = {\TeX-Entwicklung, NTS}
+}
+
+@Article{ dtk93.2:werntges:grafik-import,
+ author = {Heinz Werntges},
+ title = {Grafik-{I}mport in {\LaTeX}},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = {38--53},
+ note = {Einbinden von Grafiken in {\LaTeX} mit Beispielen und
+ diversen Wandelprogrammen.},
+ annote = bretter,
+ keywords = {Grafik, c't, Postscript, Rastergrafik, eps, Vektorgrafik,
+ Metafont, \PiCTeX, Xfig, \TeX{}cad, GhostScript, DVIPS,
+ em\TeX, RUMgraph, bm2font, hp2xx}
+}
+
+@Article{ dtk93.2:dietsche:kopfzeilen,
+ author = {Luzia Dietsche},
+ title = {Kopfzeilen mal anders},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = {54--55},
+ note = {Beispiele zur Abwandlung der Kopfzeilen.},
+ annote = schonimmer,
+ keywords = {Kopfzeilen, Markup}
+}
+
+@Article{ dtk93.2:birkhahn:gegendarstellung,
+ author = {Lutz Birkhahn},
+ title = {Gegendarstellung zum {A}rtikel {\glqq}{A}miga und
+ {\TeX}{\grqq}. 1/1993},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = {56--59},
+ annote = leserbrief,
+ keywords = {Leserbrief, Amiga, cs\TeX, Atari, Gegendarstellung}
+}
+
+@Article{ dtk93.2:strobel:fraktur,
+ author = {Franz Strobel},
+ title = {Fraktur und \texttt{eqnarray}},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = {58--59},
+ annote = leserbrief,
+ keywords = {Leserbrief, Fraktur, Formelsatz}
+}
+
+@Article{ dtk93.2:mehl:anfaengerfragen,
+ author = {Albrecht Mehl},
+ title = {Anf{\"a}ngerfragen},
+ journal = dtk,
+ year = 1993,
+ volume = {2/93},
+ altvolume = 5,
+ altnumber = 2,
+ month = sep,
+ pages = {59--61},
+ note = {Mit einer Anmerkung der Redaktion},
+ annote = leserbrief,
+ keywords = {Leserbrief, Promillezeichen, Umgebungen, Absatzformat,
+ Minimalsystem}
+}
+
+@Article{ dtk93.3:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk93.3:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {4--6},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk93.3:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 9.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {7--25},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk93.3:sowa:kassenbericht,
+ author = {Friedhelm Sowa},
+ title = {Kassenbericht f{\"u}r den {Z}eitraum 1.1.1992--1.12.1992},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {26--27},
+ annote = hinterbuehne,
+ keywords = {Kassenbericht}
+}
+
+@Article{ dtk93.3:steuer:cassettenhuellen,
+ author = {Arne W. Steuer},
+ title = {Cassettenh{\"u}llen mit {\LaTeX}},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {28--29},
+ annote = bretter,
+ keywords = {Casettenh{\"u}llen, \verb|cassette.sty|}
+}
+
+@Article{ dtk93.3:suchanek:mathematikaufgaben,
+ author = {Jan Suchanek},
+ title = {Mathematikaufgaben mit {P}ascal und {\LaTeX}},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {29--32},
+ annote = bretter,
+ keywords = {Pascal, Aufgaben, Mathematik}
+}
+
+@Article{ dtk93.3:goetz:asc2tex,
+ author = {Thomas K. G{\"o}tz},
+ title = {{ASC}2{\TeX}: ein {K}onverter f{\"u}r {B}lockgrafik},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {32--34},
+ annote = bretter,
+ keywords = {Blockgrafik, ASC2\TeX}
+}
+
+@Article{ dtk93.3:schleicher:kompatible,
+ author = {Ralph Schleicher},
+ title = {Kompatible {\TeX}-{M}akros f{\"u}r erweiterte
+ {Z}eichens{\"a}tze},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {34--39},
+ annote = bretter,
+ keywords = {Schriften, Fonts, Makroprogrammierung, Makrodefinition}
+}
+
+@Article{ dtk93.3:nitschke:markieren,
+ author = {Dirk Nitschke},
+ title = {Markieren von {F}ormeln},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {40--42},
+ annote = bretter,
+ keywords = {Formelsatz}
+}
+
+@Article{ dtk93.3:scherer:promillezeichen,
+ author = {Andreas Scherer},
+ title = {Das {P}romillezeichen als {\TeX}-{M}akro \dots},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {42--45},
+ annote = bretter,
+ keywords = {Promillezeichen, Metafont}
+}
+
+@Article{ dtk93.3:gewehr:vorsicht,
+ author = {Harald Gewehr},
+ title = {Vorsicht {D}atenverlust!},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {46--47},
+ annote = schonimmer,
+ keywords = {Datenverlust, \verb|\include|}
+}
+
+@Article{ dtk93.3:hesse:tex,
+ author = {Norbert Hesse},
+ title = {Das {\TeX} \textsc{RunTime System} f{\"u}r {SCO} {U}nix},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {48--52},
+ annote = schonimmer,
+ keywords = {Unix, SCO Unix}
+}
+
+@Article{ dtk93.3:erlmeier:amiga-news,
+ author = {Markus Erlmeier},
+ title = {Amiga-{N}ews},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {53--54},
+ annote = schonimmer,
+ keywords = {Amiga, Pas\TeX, Amiga\TeX}
+}
+
+@Article{ dtk93.3:meyer-lerbs:viel,
+ author = {Lothar Meyer-Lerbs},
+ title = {Viel {N}eues auf dem {M}ac},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {55--56},
+ annote = schonimmer,
+ keywords = {Macintosh, Oz\TeX, CMac\TeX}
+}
+
+@Article{ dtk93.3:getreu:anregungen,
+ author = {Jens Getreu},
+ title = {Anregungen zu {NTS}},
+ journal = dtk,
+ year = 1993,
+ volume = {3/93},
+ altvolume = 5,
+ altnumber = 3,
+ month = dec,
+ pages = {57--58},
+ annote = leserbrief,
+ keywords = {Leserbrief, NTS, \TeX-Entwicklung}
+}
+
+@Article{ dtk93.4:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk93.4:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk93.4:dietsche:verlorengegangene,
+ author = {Luzia Dietsche},
+ title = {Verlorengegangene {TUG}-{M}itglieder},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {6--7},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk93.4:latex3-projekt:latex2e,
+ author = {{\LaTeX}3-Projekt},
+ title = {{\LaTeXe} -- {A} {N}ew {V}ersion of {\LaTeX}},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {8--10},
+ annote = fremdebuehne,
+ keywords = {\LaTeX3, \LaTeX-Entwicklung}
+}
+
+@Article{ dtk93.4:hassel:schachfigurensatz,
+ author = {Frank Hassel},
+ title = {Schachfigurensatz mit {\TeX} und {\LaTeX}},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {11--25},
+ annote = bretter,
+ keywords = {Schachfiguren, \verb|chess.sty|, \verb|BdFchess.sty|}
+}
+
+@Article{ dtk93.4:scherer:graphiken,
+ author = {Andreas Scherer},
+ title = {Graphiken mit {G}nu{PLOT} und {\MF}},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {26--30},
+ annote = bretter,
+ keywords = {\textsc{GnuPlot}, Metafont, Graphik}
+}
+
+@Article{ dtk93.4:brusberg:makeidx,
+ author = {Oliver Brusberg},
+ title = {\emph{MakeIdx} -- ein (anderer) {I}ndexprozessor f{\"u}r
+ {\LaTeX}},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {30--33},
+ annote = bretter,
+ keywords = {MakeIdx, Index}
+}
+
+@Article{ dtk93.4:lauschke:leidigen,
+ author = {Andreas Lauschke},
+ title = {Diese leidigen {M}engenzeichen},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {33--35},
+ annote = bretter,
+ keywords = {Mengensymbole, Formelsatz, blackboard bold, bbold}
+}
+
+@Article{ dtk93.4:dietsche:hokuspokus,
+ author = {Luzia Dietsche},
+ title = {Hokuspokus},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {30--37},
+ annote = schonimmer,
+ keywords = {}
+}
+
+@Article{ dtk93.4:kamlage:texstar,
+ author = {Michael Kamlage},
+ title = {{\TeX}{S}tar -- {E}ine {O}berfl{\"a}che f{\"u}r {\TeX} und
+ {\LaTeX}},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {38--39},
+ annote = beiprogramm,
+ keywords = {\TeX{}Star, Oberfl{\"a}che}
+}
+
+@Article{ dtk93.4:schank:tex,
+ author = {Michael Schank},
+ title = {{\TeX} und {OS}/22.x},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {39--40},
+ annote = beiprogramm,
+ keywords = {OS/2, em\TeX}
+}
+
+@Article{ dtk93.4:erlmeier:rund,
+ author = {Markus Erlmeier},
+ title = {Rund um den {A}miga},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {40--43},
+ annote = beiprogramm,
+ keywords = {Amiga, Pas\TeX, Amiga\TeX}
+}
+
+@Article{ dtk93.4:breuer:word,
+ author = {Stefan Breuer},
+ title = {{WORD}, {\TeX} und {A}lcuin},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {44--45},
+ annote = beiprogramm,
+ keywords = {Word, Alcuin}
+}
+
+@Article{ dtk93.4:zierke:latex,
+ author = {Reinhard Zierke},
+ title = {The {\LaTeX} {C}ompanion},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = {46--48},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk93.4:hrebabetzky:farbiger,
+ author = {Frank Hrebabetzky},
+ title = {Farbiger {D}ruck},
+ journal = dtk,
+ year = 1993,
+ volume = {4/93},
+ altvolume = 5,
+ altnumber = 4,
+ month = apr,
+ pages = 49,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk94.1:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk94.1:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk94.1:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 10.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {6--22},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk94.1:thewalt:dante94,
+ author = {Volker Thewalt},
+ title = {{DANTE}'94 in {M}{\"u}nster -- ein kurzer
+ {T}agungsbericht},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {23--27},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk94.1:hosek:writers,
+ author = {Don Hosek},
+ title = {Writers on type and typography needed},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = 28,
+ annote = fremdebuehne,
+ keywords = {Typographie}
+}
+
+@Article{ dtk94.1:scherer:graphiken,
+ author = {Andreas Scherer},
+ title = {Graphiken mit \textsc{GnuPlot} und {\MF} -- {K}orrektur},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {29--33},
+ annote = bretter,
+ keywords = {\textsc{GnuPlot}, Metafont, Graphik}
+}
+
+@Article{ dtk94.1:baas:tex-makros,
+ author = {Michael Baas},
+ title = {{\TeX}-{M}akros f{\"u}r {F}ortgelaufene},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {34--40},
+ annote = bretter,
+ abstract = {Anhand eines konkreten Beispiels, {\"u}ber dessen
+ praktische Zul{\"a}ssigkeit die {\glqq}Fundis{\grqq} unter
+ den {\TeX}-Anwendern sicherlich hei{\ss}e Diskussionen
+ f{\"u}hren k{\"o}nnten, wird das Problem aufgezeigt, einen
+ allgemeinen {\glqq}Definitionsmechanismus{\grqq} f{\"u}r
+ Makros zu entwickeln. Es werden schlie{\ss}lich drei Makros
+ entwickelt, die es in verschiedenen Varianten erlauben,
+ beliebige Zeichen als Makro zu definieren.},
+ keywords = {Makrodefinition, Makroprogrammierung}
+}
+
+@Article{ dtk94.1:steuer:postkarten,
+ author = {Arne W. Steuer},
+ title = {Postkarten mit {P}as{\TeX} auf dem {A}miga},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {40--41},
+ annote = bretter,
+ keywords = {Amiga, Pas\TeX, Postkarten, \verb|postcard.sty|}
+}
+
+@Article{ dtk94.1:hirsch:dezimalkomma,
+ author = {Richard Hirsch},
+ title = {Dezimalkomma beim {\TeX}satz in deutsch},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {42--45},
+ annote = bretter,
+ abstract = {Wenn man in Dezimalbr{\"u}chen einfach ein Komma als
+ Dezimaltrennzeichen verwendet, erh{\"a}lt man unsch{\"o}ne
+ Abst{\"a}nde im Ausdruck. Hier wird eine Definition f{\"u}r
+ das Komma im mathematischen modus vorgestellt, die von
+ selbst erkennt, ob es sich um ein Satzzeichen oder ein
+ Dezimalkomma handelt, und entsprechende Abst{\"a}nde
+ einf{\"u}gt.},
+ keywords = {Dezimalkomma, Formelsatz, Komma in Zahlen, Mathematik}
+}
+
+@Article{ dtk94.1:dietsche:seitenzahlen,
+ author = {Luzia Dietsche},
+ title = {Seitenzahlen},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {46--47},
+ annote = schonimmer,
+ keywords = {Seitenzahlen, Markup, \verb|\thepage|}
+}
+
+@Article{ dtk94.1:lehrke:linux,
+ author = {J{\"o}rg Lehrke},
+ title = {Linu{X} -- ein freies *nix f{\"u}r {PC}s},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {48--51},
+ annote = beiprogramm,
+ keywords = {Linux, Unix}
+}
+
+@Article{ dtk94.1:hansen:mut,
+ author = {Oliver Hansen},
+ title = {Mut zur {T}ypographie},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = sep,
+ pages = {52--53},
+ annote = rezension,
+ keywords = {Rezension, DTP, Typographie}
+}
+
+@Article{ dtk94.1:schroeder:mehr,
+ author = {Martin Schr{\"o}der},
+ title = {Mehr {P}romillezeichen},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = 54,
+ annote = leserbrief,
+ keywords = {Leserbrief, Promillezeichen, wasy, Waldis Symbol Font,
+ Fonts, Schriften}
+}
+
+@Article{ dtk94.1:wolfrum-jr-:os2,
+ author = {Philipp {Wolfrum jr.}},
+ title = {{OS/2} und {\TeX}},
+ journal = dtk,
+ year = 1994,
+ volume = {1/94},
+ altvolume = 6,
+ altnumber = 1,
+ month = jul,
+ pages = {54--55},
+ annote = leserbrief,
+ keywords = {Leserbrief, OS/2}
+}
+
+@Article{ dtk94.2:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk94.2:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk94.2:guenther:verwaltungskueche,
+ author = {J{\"u}rgen G{\"u}nther},
+ title = {Aus der {V}erwaltungsk{\"u}che},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {5--7},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk94.2:lammarsch:fonds,
+ author = {Joachim Lammarsch},
+ title = {Fonds zur {U}nterst{\"u}tzung von {M}itgliedern},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = 7,
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk94.2:schrell:stammtisch,
+ author = {Andreas Schrell},
+ title = {Der {S}tammtisch in {W}uppertal},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {8--10},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk94.2:zapf:has,
+ author = {Hermann Zapf},
+ title = {Has type design any future},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {11--13},
+ annote = fremdebuehne,
+ keywords = {Stammtisch}
+}
+
+@Article{ dtk94.2:raichle:tex3,
+ author = {Bernd Raichle},
+ title = {{\TeX3} von {V}ersion 3.0 bis 3.1415},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {14--26},
+ annote = bretter,
+ keywords = {\TeX-Entwicklung}
+}
+
+@Article{ dtk94.2:schmidt:umsteigen,
+ author = {Walter Schmidt},
+ title = {Umsteigen auf {\LaTeXe}},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {26--31},
+ annote = bretter,
+ keywords = {\LaTeXe-Installation, \LaTeX~2.09}
+}
+
+@Article{ dtk94.2:schmidt:latex,
+ author = {Walter Schmidt},
+ title = {{\LaTeX} f{\"u}r {T}echniker},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {32--36},
+ annote = bretter,
+ keywords = {Formelsatz}
+}
+
+@Article{ dtk94.2:szillat:internet-anschluss,
+ author = {Horst Szillat},
+ title = {Internet-{A}nschlu{\ss} -- selbst gebastelt},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {37--39},
+ annote = beiprogramm,
+ keywords = {Internet}
+}
+
+@Article{ dtk94.2:schank:tex,
+ author = {Michael Schank},
+ title = {{\TeX} und {OS/2} 2.x},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {39--42},
+ annote = beiprogramm,
+ keywords = {OS/2, Emacs, Auc\TeX}
+}
+
+@Article{ dtk94.2:porto:tex-service,
+ author = {Markus Porto},
+ title = {{\TeX}-{S}ervice des {HRZ} der {U}niversit{\"a}t
+ {G}ie{\ss}en},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {43--46},
+ annote = beiprogramm,
+ keywords = {Online-Hilfe, WWW}
+}
+
+@Article{ dtk94.2:schoepf:buecher,
+ author = {Rainer Sch{\"o}pf},
+ title = {Zwei neue {B}{\"u}cher},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {47--49},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk94.2:mittelbach:seitenzahlen,
+ author = {Frank Mittelbach},
+ title = {Seitenzahlen},
+ journal = dtk,
+ year = 1994,
+ volume = {2/94},
+ altvolume = 6,
+ altnumber = 2,
+ month = sep,
+ pages = {50--52},
+ annote = leserbrief,
+ keywords = {Leserbrief, Markup, Seitenzahlen,
+ \verb|fancyheadings|-Paket}
+}
+
+@Article{ dtk94.3:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk94.3:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk94.3:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 11.~{M}itgliederversammlung von {DANTE}.
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {6--17},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk94.3:team:latex,
+ author = {{\LaTeX} Programming Team},
+ title = {{\LaTeX} {N}ews, {I}ssue2, {D}ecember 1994},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {18--20},
+ annote = fremdebuehne,
+ keywords = {\LaTeX-News, \LaTeX-Entwicklung}
+}
+
+@Article{ dtk94.3:kayssner:handbuecher,
+ author = {Christian Kayssner},
+ title = {Handb{\"u}cher},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {21--24},
+ annote = bretter,
+ keywords = {Handb{\"u}cher, Booklets, A4, A5, \verb|DOUBLE|}
+}
+
+@Article{ dtk94.3:steuer:style-files,
+ author = {Arne W. Steuer},
+ title = {Style-{F}iles -- leicht gemacht},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {25--30},
+ annote = bretter,
+ abstract = {Es wird geschildert, wie insbesondere {\LaTeX}-Einsteiger
+ einfache Stil-Optionen (Style-Files) selbst entwickeln
+ k{\"o}nnen. Grundsatz dabei ist: Vom Speziellen zum
+ Allgemeinen. Beispielhaft wird die Erstellung eines
+ Style-Files zum Beschriften von Aktenordnern beschrieben.
+ Im Vordergrund steht dabei nicht die Ber{\"u}cksichtigung
+ von Tricks und Feinheiten der Makroprogrammierung. Vielmehr
+ ist es Ziel, eine leicht nachvollziehbare Vorgehensweise
+ darzustellen, die zu einfachen aber funktionierenden
+ Ergebnissen f{\"u}hrt und zu eigenen Experimenten anregt.},
+ keywords = {Makrodefinition, Makroprogrammierung, Styles erstellen, }
+}
+
+@Article{ dtk94.3:erlmeier:bericht,
+ author = {Markus Erlmeier},
+ title = {Bericht des technischen {B}eirates -- {A}miga},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {31--33},
+ annote = beiprogramm,
+ keywords = {Amiga}
+}
+
+@Article{ dtk94.3:birkhahn.lindner:bericht,
+ author = {Lutz Birkhahn and Stefan Lindner},
+ title = {Bericht des technischen {B}eirates -- {A}tari},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {33--34},
+ annote = beiprogramm,
+ keywords = {Atari}
+}
+
+@Article{ dtk94.3:sowa:bericht,
+ author = {Friedhelm Sowa},
+ title = {Bericht des technischen {B}eirates -- {BS}2000 {\&}
+ {G}raphik},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {34--35},
+ annote = beiprogramm,
+ keywords = {BS2000, Graphik}
+}
+
+@Article{ dtk94.3:meyer-lerbs:bericht,
+ author = {Lothar Meyer-Lerbs},
+ title = {Bericht des technischen {B}eirates -- {M}acintosh},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {35--36},
+ annote = beiprogramm,
+ keywords = {Macintosh}
+}
+
+@Article{ dtk94.3:lammarsch:bericht,
+ author = {Joachim Lammarsch},
+ title = {Bericht des technischen {B}eirates -- {MVS}},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = 36,
+ annote = beiprogramm,
+ keywords = {MVS}
+}
+
+@Article{ dtk94.3:schwarz:bericht,
+ author = {Norbert Schwarz},
+ title = {Bericht des technischen {B}eirates -- {NOS/VE} {\&} {\MF}},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = 36,
+ annote = beiprogramm,
+ keywords = {NOS/VE, Metafont}
+}
+
+@Article{ dtk94.3:koch:bericht,
+ author = {Thomas Koch},
+ title = {Bericht des technischen {B}eirates -- {OS/2}},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = 36,
+ annote = beiprogramm,
+ keywords = {OS/2}
+}
+
+@Article{ dtk94.3:breitenlohner:bericht,
+ author = {Peter Breitenlohner},
+ title = {Bericht des technischen {B}eirates -- {PC}},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = 37,
+ annote = beiprogramm,
+ keywords = {PC}
+}
+
+@Article{ dtk94.3:braune:bericht,
+ author = {Klaus Braune},
+ title = {Bericht des technischen {B}eirates -- {UNIX}},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {37--38},
+ annote = beiprogramm,
+ keywords = {UNIX}
+}
+
+@Article{ dtk94.3:friesland-koepke:bericht,
+ author = {Gerhard Friesland-K{\"o}pke},
+ title = {Bericht des technischen {B}eirates -- {VAX/VMS}},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {38--39},
+ annote = beiprogramm,
+ keywords = {VAX, VMS}
+}
+
+@Article{ dtk94.3:bayer:bericht,
+ author = {Georg Bayer},
+ title = {Bericht des technischen {B}eirates -- {VM}},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = 39,
+ annote = beiprogramm,
+ keywords = {VM}
+}
+
+@Article{ dtk94.3:raichle:bericht,
+ author = {Bernd Raichle},
+ title = {Bericht des technischen {B}eirates -- {G}erman Style},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {39--40},
+ annote = beiprogramm,
+ keywords = {german-Style}
+}
+
+@Article{ dtk94.3:burkhard:bericht,
+ author = {Wener Burkhard},
+ title = {Bericht des technischen {B}eirates --
+ {L}ehrerfortbildung},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = 40,
+ annote = beiprogramm,
+ keywords = {Lehrerfortbildung}
+}
+
+@Article{ dtk94.3:gloeckner:bericht,
+ author = {J{\"u}rgen Gl{\"o}ckner},
+ title = {Bericht des technischen {B}eirates -- {P}ostScript},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {40--41},
+ annote = beiprogramm,
+ keywords = {PostScript}
+}
+
+@Article{ dtk94.3:schoepf:bericht,
+ author = {Rainer Sch{\"o}pf},
+ title = {Bericht des technischen {B}eirates --
+ {S}erver-{K}oordination},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = 41,
+ annote = beiprogramm,
+ keywords = {Server}
+}
+
+@Article{ dtk94.3:schrod:bericht,
+ author = {Joachim Schrod},
+ title = {Bericht des technischen {B}eirates -- {T}reiber},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {42--44},
+ annote = beiprogramm,
+ keywords = {Treiber}
+}
+
+@Article{ dtk94.3:loeser:bericht,
+ author = {Christa Loeser},
+ title = {Bericht des technischen {B}eirates -- {V}erlag und
+ {B}uchhandel},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {44-45},
+ annote = beiprogramm,
+ keywords = {Verlag, Buchhandel}
+}
+
+@Article{ dtk94.3:ringhandt:a4,
+ author = {Andreas Ringhandt},
+ title = {Von {A}4 zu {A}5},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {46--47},
+ annote = leserbrief,
+ keywords = {Leserbrief, A4, A5}
+}
+
+@Article{ dtk94.3:breuer:ftp-server,
+ author = {Stefan Breuer},
+ title = {ftp-{S}erver, {CD-ROM} oder {D}isketten? {D}ie
+ {V}erteilermedien f{\"u}r {\TeX}},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {47--49},
+ annote = leserbrief,
+ keywords = {Leserbrief, ftp, CD-ROM, Disketten}
+}
+
+@Article{ dtk94.3:kastrup:tex-makros,
+ author = {David Kastrup},
+ title = {{\TeX}-{M}akros f{\"u}r {F}ortgelaufene},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {49--52},
+ annote = leserbrief,
+ keywords = {Leserbrief, Makrodefinition, Makroprogrammierung}
+}
+
+@Article{ dtk94.3:kusznier:verwaltungskueche,
+ author = {Heinz Kusznier},
+ title = {Aus der {V}erwaltungsk{\"u}che},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = 53,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk94.3:schroeder:gedanken,
+ author = {Martin Schr{\"o}der},
+ title = {Gedanken zum {G}edankenstrich},
+ journal = dtk,
+ year = 1994,
+ volume = {3/94},
+ altvolume = 6,
+ altnumber = 3,
+ month = sep,
+ pages = {53--55},
+ annote = leserbrief,
+ keywords = {Leserbrief, Gedankenstriche}
+}
+
+@Article{ dtk94.4:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk94.4:neugebauer:bibtool,
+ author = {Gerd Neugebauer},
+ title = {\textsc{BibTool} -- {M}anipulation von {\BibTeX}-{D}ateien},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = {4--11},
+ annote = bretter,
+ abstract = {Es war einmal, da versp{\"u}rte ich das dringende
+ Bed{\"u}rfnis, \BibTeX-Dateien aus verschiedenen Quellen
+ zusammen weiterzugeben. Da es sich dabei nicht nur um
+ einige wenige Eintr{\"a}ge in den \BibTeX-Dateien handelte,
+ ergaben sich daraus diverse Aufgaben, die gel{\"o}st werden
+ mu{\ss}ten. Das einfachste Problem war, da{\ss} das
+ Erscheinungsbild vereinheitlicht werden sollte. Das
+ bedeutet, da{\ss} die Dateien neu formatiert werden
+ m{\"u}ssen. Das n{\"a}chste Problem war, die
+ Vereinheitlichung der Schl{\"u}ssel, unter denen die
+ \BibTeX-Eintr{\"a}ge angesprochen werden sollen.
+ Schlie{\ss}lich und endlich ergab sich das Problem, die
+ Dateien zu sortieren. \par Da es damals noch keine
+ entsprechenden Werkzeuge gab -- insbesondere nicht f{\"u}r
+ den Rechner, den ich damals verwendete -- wurde das
+ \textsc{BibTool}-Programm geboren. Als dann einmal die
+ grundlegenden Funktionen geschrieben waren, kamen noch
+ weitere hinzu, soda{\ss} man \textsc{BibTool} heute als das
+ Schweizer-Armee-Messer zur \BibTeX-Vorverarbeitung bezeichnen k{\"o}nnte.},
+ keywords = {BibTeX, BibTool, Literaturverzeichnis}
+}
+
+@Article{ dtk94.4:schmidt:computer,
+ author = {Walter Schmidt},
+ title = {Computer {M}odern {B}right},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = {11--16},
+ annote = bretter,
+ keywords = {Schriften, Fonts, Computer Modern Bright, }
+}
+
+@Article{ dtk94.4:raichle:orale,
+ author = {Bernd Raichle},
+ title = {Orale {S}pielereien mit {\TeX} -- {T}eil {I}},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = {16--23},
+ annote = bretter,
+ keywords = {Makroverarbeitung, Makrodefinition, Makroprogrammierung,
+ Schleifen}
+}
+
+@Article{ dtk94.4:eckermann:paralleles,
+ author = {Matthias Eckermann},
+ title = {Paralleles {S}etzen l{\"a}ngerer {T}exte},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = {23--27},
+ annote = bretter,
+ keywords = {paralleles Setzen, zweisprachiges Setzen}
+}
+
+@Article{ dtk94.4:dietsche:absatzformen,
+ author = {Luzia Dietsche},
+ title = {Absatzformen},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = {28--30},
+ annote = schonimmer,
+ keywords = {Absatzformat, \verb|\leftskip|, \verb|\rightskip|,
+ \verb|\parfillskip|, Markup}
+}
+
+@Article{ dtk94.4:pfeiffer:winword,
+ author = {Horst Pfeiffer},
+ title = {Win{W}ord versus {\LaTeX}},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = {31--34},
+ annote = leserbrief,
+ keywords = {Leserbrief, WinWord}
+}
+
+@Article{ dtk94.4:schank:texit,
+ author = {Michael Schank},
+ title = {{\TeX}{IT}! for {OS}/2},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = {34--35},
+ annote = leserbrief,
+ keywords = {Leserbrief, OS/2, em\TeX}
+}
+
+@Article{ dtk94.4:dietsche:rechtschreibreform,
+ author = {Luzia Dietsche},
+ title = {Rechtschreibreform},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = {35--36},
+ annote = leserbrief,
+ keywords = {Leserbrief, Humor, Satire}
+}
+
+@Article{ dtk94.4:schoppmann:tex,
+ author = {Harald Schoppmann},
+ title = {{\TeX} f{\"u}r {H}eimwerker},
+ journal = dtk,
+ year = 1994,
+ volume = {4/94},
+ altvolume = 6,
+ altnumber = 4,
+ month = feb,
+ pages = {37--39},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk95.1:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk95.1:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk95.1:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 12.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {5--18},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk95.1:unger:mailbox,
+ author = {J{\"u}rgen Unger},
+ title = {Die {M}ailbox von {DANTE} e.{V}. -- es ist vollbracht},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {18--20},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk95.1:feuerstack:zauber,
+ author = {Thomas Feuerstack},
+ title = {Der {Z}auber eines {L}{\"a}chelns},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {20--25},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk95.1:mittelbach:math,
+ author = {Frank Mittelbach},
+ title = {Math {F}ont {E}ncoding},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {26--27},
+ annote = fremdebuehne,
+ keywords = {Fonts (math), \LaTeX3}
+}
+
+@Article{ dtk95.1:splett:russische,
+ author = {Siegfried Splett},
+ title = {Das russische {A}lphabet -- mit
+ {\glqq}{B}ordmitteln{\grqq} erstellt},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {28--30},
+ annote = bretter,
+ keywords = {Fonts, Schriften, Kyrillisch}
+}
+
+@Article{ dtk95.1:porto:weiterhin,
+ author = {Markus Porto},
+ title = {Weiterhin guten {A}ppetit!},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {31--32},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk95.1:erlmeier:bericht,
+ author = {Markus Erlmeier},
+ title = {Bericht des technischen {B}eirates -- {A}miga},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {32},
+ annote = beiprogramm,
+ keywords = {Amiga}
+}
+
+@Article{ dtk95.1:birkhahn.lindner:bericht,
+ author = {Lutz Birkhahn and Stefan Lindner},
+ title = {Bericht des technischen {B}eirates -- {A}tari},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {32--33},
+ annote = beiprogramm,
+ keywords = {Atari}
+}
+
+@Article{ dtk95.1:sowa:bericht,
+ author = {Friedhelm Sowa},
+ title = {Bericht des technischen {B}eirates -- {BS}2000 {\&}
+ {G}raphik},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {33--34},
+ annote = beiprogramm,
+ keywords = {BS2000, Graphik}
+}
+
+@Article{ dtk95.1:meyer-lerbs:bericht,
+ author = {Lothar Meyer-Lerbs},
+ title = {Bericht des technischen {B}eirates -- {M}acintosh},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {34},
+ annote = beiprogramm,
+ keywords = {Macintosh}
+}
+
+@Article{ dtk95.1:lammarsch:bericht,
+ author = {Joachim Lammarsch},
+ title = {Bericht des technischen {B}eirates -- {MVS}},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = 34,
+ annote = beiprogramm,
+ keywords = {MVS}
+}
+
+@Article{ dtk95.1:koch:bericht,
+ author = {Thomas Koch},
+ title = {Bericht des technischen {B}eirates -- {OS/2}},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {34--35},
+ annote = beiprogramm,
+ keywords = {OS/2}
+}
+
+@Article{ dtk95.1:braune:bericht,
+ author = {Klaus Braune},
+ title = {Bericht des technischen {B}eirates -- {UNIX}},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {35--36},
+ annote = beiprogramm,
+ keywords = {UNIX}
+}
+
+@Article{ dtk95.1:bayer:bericht,
+ author = {Georg Bayer},
+ title = {Bericht des technischen {B}eirates -- {VM}},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = 36,
+ annote = beiprogramm,
+ keywords = {VM}
+}
+
+@Article{ dtk95.1:raichle:bericht,
+ author = {Bernd Raichle},
+ title = {Bericht des technischen {B}eirates -- {G}erman {S}tyle},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {36--37},
+ annote = beiprogramm,
+ keywords = {german-Style}
+}
+
+@Article{ dtk95.1:burkhard:bericht,
+ author = {Wener Burkhard},
+ title = {Bericht des technischen {B}eirates --
+ {L}ehrerfortbildung},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {37},
+ annote = beiprogramm,
+ keywords = {Lehrerfortbildung}
+}
+
+@Article{ dtk95.1:schoepf:bericht,
+ author = {Rainer Sch{\"o}pf},
+ title = {Bericht des technischen {B}eirates --
+ {S}erver-{K}oordination},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {38--39},
+ annote = beiprogramm,
+ keywords = {Server}
+}
+
+@Article{ dtk95.1:schrod:bericht,
+ author = {Joachim Schrod},
+ title = {Bericht des technischen {B}eirates --
+ dvi-{T}reiberentwicklung und {SGML}},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {38--41},
+ annote = beiprogramm,
+ keywords = {Treiber, SGML}
+}
+
+@Article{ dtk95.1:loeser:bericht,
+ author = {Christa Loeser},
+ title = {Bericht des technischen {B}eirates -- {V}erlag und
+ {B}uchhandel},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {41--42},
+ annote = beiprogramm,
+ keywords = {Verlag, Buchhandel}
+}
+
+@Article{ dtk95.1:dietsche:tex,
+ author = {Luzia Dietsche},
+ title = {{\TeX}: starting from 1},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {43--44},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk95.1:braun:winword,
+ author = {Jan Braun},
+ title = {Win{W}ord versus {\LaTeX}, {H}eft 4/94},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {45--48},
+ annote = leserbrief,
+ keywords = {Leserbrief, WinWord}
+}
+
+@Article{ dtk95.1:bauhaus:gedanken,
+ author = {Georg Bauhaus},
+ title = {Gedanken zu {G}edanken zu {G}edankenstrichen},
+ journal = dtk,
+ year = 1995,
+ volume = {1/95},
+ altvolume = 7,
+ altnumber = 1,
+ month = may,
+ pages = {48--50},
+ annote = leserbrief,
+ keywords = {Leserbrief, Gedankenstriche}
+}
+
+@Article{ dtk95.2:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk95.2:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk95.2:team:modifying,
+ author = {\LaTeX3{} Project Team},
+ title = {Modifying {\LaTeXe}},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = {6--10},
+ annote = fremdebuehne,
+ keywords = {\LaTeX-Entwicklung, \LaTeX3}
+}
+
+@Article{ dtk95.2:neugebauer:setzen,
+ author = {Gerd Neugebauer},
+ title = {Setzen russischer {T}extteile mit {\LaTeX}},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = {11--20},
+ annote = bretter,
+ abstract = {In diesem Beitrag werden M{\"o}glichkeiten aufgezeigt, wie
+ Texte mit kyrillischen Zeichen in einem normalen Text
+ eingebracht werden k{\"o}nnen. Dabei werden insbesondere
+ die kyrillischen Zeichens{\"a}tze der University of
+ Washington vorgestellt.},
+ keywords = {Metafont, Schriften, Fonts, Kyrillisch, wncyr, cmcyr}
+}
+
+@Article{ dtk95.2:raichle:orale,
+ author = {Bernd Raichle},
+ title = {Orale {S}pielereien mit {\TeX} -- {T}eil {II}},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = {20--30},
+ annote = bretter,
+ keywords = {Makroverarbeitung, Makrodefinition, Makroprogrammierung,
+ \verb|\relax|}
+}
+
+@Article{ dtk95.2:malek:style-files,
+ author = {Matthias Malek},
+ title = {Style-{F}iles -- leicht gemacht -- zum {Z}weiten},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = {31--35},
+ annote = bretter,
+ keywords = {Styles erstellen}
+}
+
+@Article{ dtk95.2:raichle:datumsangaben,
+ author = {Bernd Raichle},
+ title = {Datumsangaben},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = {36--37},
+ annote = schonimmer,
+ keywords = {Datumsangaben}
+}
+
+@Article{ dtk95.2:hanneder:tex,
+ author = {J{\"u}rgen Hanneder},
+ title = {{\TeX} unter {OS/2} f{\"u}r akademische {M}inderheiten},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = {38--41},
+ annote = beiprogramm,
+ keywords = {OS/2, em\TeX, Auc\TeX, Editor, Emacs}
+}
+
+@Article{ dtk95.2:neugebauer:kurioses,
+ author = {Gerd Neugebauer},
+ title = {Kurioses aus dem {F}undus},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = {41--43},
+ annote = beiprogramm,
+ keywords = {Fontumschaltbefehle, \verb|\normalsize|, \verb|\small|,
+ \verb|\scriptsize|},
+ abstract = {In diesem Beitrag werden einige Merkw{\"u}rdigkeiten in
+ den Definitionen der Fontumschaltungsbefehle
+ \verb|\normalsize|, \verb|\small| und \verb|\scriptsize| in
+ \LaTeX{} ausgezeigt.}
+}
+
+@Article{ dtk95.2:jones:underfull,
+ author = {Frankeye Jones},
+ title = {The {U}nderfull {B}adness {B}lues},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = 44,
+ annote = beiprogramm,
+ keywords = {Humor, Satire}
+}
+
+@Article{ dtk95.2:dietsche:fachwoerterbuch,
+ author = {Luzia Dietsche},
+ title = {Fachw{\"o}rterbuch {K}ommunikationsdesign},
+ journal = dtk,
+ year = 1995,
+ volume = {2/95},
+ altvolume = 7,
+ altnumber = 2,
+ month = sep,
+ pages = {46--47},
+ annote = rezension,
+ keywords = {Rezension, Kommunikationsdesign}
+}
+
+@Article{ dtk95.3:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk95.3:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk95.3:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 13.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {6--20},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk95.3:lammarsch:aera,
+ author = {Joachim Lammarsch},
+ title = {Die {\"A}ra des {P}r{\"a}sidenten geht zu {E}nde \dots},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {20--21},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk95.3:lammarsch:fonds,
+ author = {Joachim Lammarsch},
+ title = {Fonds zur {U}nterst{\"u}tzung von {M}itgliedern},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = 21,
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk95.3:raichle:tex,
+ author = {Bernd Raichle},
+ title = {{\TeX} {C}apacity exceeded \dots{} -- {T}eil {I}},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {22--33},
+ annote = bretter,
+ keywords = {\TeX Capacity exceeded, Zwischenspeicher}
+}
+
+@Article{ dtk95.3:erlmeier:bericht,
+ author = {Markus Erlmeier},
+ title = {Bericht des technischen {B}eirates -- {A}miga},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {34--37},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk95.3:raichle:bericht,
+ author = {Bernd Raichle},
+ title = {Bericht des technischen {B}eirates -- {G}erman {S}tyle},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {37--39},
+ annote = beiprogramm,
+ keywords = {german-Style}
+}
+
+@Article{ dtk95.3:knappen:bericht,
+ author = {J{\"o}rg Knappen},
+ title = {Bericht des technischen {B}eirates -- {\MF}},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {39--40},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk95.3:koch:bericht,
+ author = {Thomas Koch},
+ title = {Bericht des technischen {B}eirates -- {OS}/2},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {40--41},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk95.3:schrod:bericht,
+ author = {Joachim Schrod},
+ title = {Bericht des technischen {B}eirates -- {T}reiberentwicklung
+ und {SGML}},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {41--42},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk95.3:braune:bericht,
+ author = {Klaus Braune},
+ title = {Bericht des technischen {B}eirates -- {UNIX}},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {42--43},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk95.3:loeser:bericht,
+ author = {Christa Loeser},
+ title = {Bericht des technischen {B}eirates -- {V}erlag und
+ {B}uchhandel},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = 43,
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk95.3:schrod:tds,
+ author = {Joachim Schrod},
+ title = {{TDS} -- {D}ie vorgeschlagene {\TeX} {D}irectory
+ {S}tructure},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {44--47},
+ annote = beiprogramm,
+ keywords = {TDS, Verzeichnisstruktur, Standard}
+}
+
+@Article{ dtk95.3:lammarsch:beschreibung,
+ author = {Joachim Lammarsch},
+ title = {Beschreibung der {CD-ROM} von {DANTE} e.{V}.},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {48--50},
+ annote = beiprogramm,
+ keywords = {CD-ROM, CTAN}
+}
+
+@Article{ dtk95.3:hesse:erfinder,
+ author = {Norbert Hesse},
+ title = {Erfinder von {\TeX}, {\LaTeX} und {\MF} geben zu: {A}lles
+ {B}etrug!!!},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {50--51},
+ annote = beiprogramm,
+ keywords = {Humor, Satire}
+}
+
+@Article{ dtk95.3:neugebauer:wie,
+ author = {Gerd Neugebauer},
+ title = {Wie verfa{\ss}t man wissenschaftliche {A}rbeiten?},
+ journal = dtk,
+ year = 1995,
+ volume = {3/95},
+ altvolume = 7,
+ altnumber = 3,
+ month = dec,
+ pages = {52--53},
+ annote = rezension,
+ keywords = {Rezension, Duden},
+ reference = {Duden: \emph{Wie verfa{\ss}t man wissenschaftliche
+ Arbeiten?} \emph{\em Ein Leitfaden vom 1. Studiensemester
+ bis zur Promotion};\\ 1988, Duden Verlag Mannheim, Wien,
+ Z{\"u}rich;\\ (Die Duden Taschenb{\"u}cher: Bd.~21)\\ ISBN
+ 3-411-02751-7\\ 216 Seiten, 12,80~DM }
+}
+
+@Article{ dtk95.4:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1995,
+ volume = {4/95},
+ altvolume = 7,
+ altnumber = 4,
+ month = mar,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk95.4:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1995,
+ volume = {4/95},
+ altvolume = 7,
+ altnumber = 4,
+ month = mar,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk95.4:neugebauer:klasse,
+ author = {Gerd Neugebauer},
+ title = {Eine {K}lasse f{\"u}r {\glqq}{Die \TeX}nische
+ {K}om{\"o}die{\grqq}},
+ journal = dtk,
+ year = 1995,
+ volume = {4/95},
+ altvolume = 7,
+ altnumber = 4,
+ month = mar,
+ pages = {6--15},
+ annote = bretter,
+ abstract = {{\glqq}Die \TeX{}nische Kom{\"o}die{\grqq} wird neuerdings
+ mit \LaTeXe{} hergestellt. In diesem Artikel werden einige
+ Hintergr{\"u}nde der benutzten Dokumenten-Klasse erhellt.
+ Wie er entstand, welche M{\"o}glichkeiten er bietet und wie
+ man ihn benutzen kann. },
+ keywords = {dtk, \LaTeX-Klassen}
+}
+
+@Article{ dtk95.4:raichle:orale,
+ author = {Bernd Raichle},
+ title = {Orale {S}pielereien mit {\TeX} -- {T}eil {III}},
+ journal = dtk,
+ year = 1995,
+ volume = {4/95},
+ altvolume = 7,
+ altnumber = 4,
+ month = mar,
+ pages = {15--29},
+ annote = bretter,
+ keywords = {Makroverarbeitung, Makrodefinition, Makroprogrammierung,
+ \verb|\relax|}
+}
+
+@Article{ dtk95.4:lemberg:cjk-paket,
+ author = {Werner Lemberg},
+ title = {Das {CJK}-{P}aket f{\"u}r {\LaTeXe}},
+ journal = dtk,
+ year = 1995,
+ volume = {4/95},
+ altvolume = 7,
+ altnumber = 4,
+ month = mar,
+ pages = {30--40},
+ annote = bretter,
+ abstract = {Mit MULE (multilingual Emacs) kann man Text in mehreren
+ Sprachen schreiben. Es ist im besonderen entwickelt worden,
+ um asiatische Sprachen in unterschiedlichen Kodierschemata
+ zu editieren. So ist es zum Beispiel m{\"o}glich,
+ Chinesisch in der vereinfachten Schrift
+ (jij{\^a}nt{\^i}z{\`i} in GB-Kodierung) und in der
+ traditionellen Form (f{\'a}nt{\^i}z{\`i} in
+ Big-5-Kodierung) gleichzeitig darzustellen, obwohl sich die
+ Kodierungsbereiche {\"u}berlappen. \par Das CJK-Paket
+ (Chinesich/Japanisch/Koreanisch) ist das Pendant f{\"u}r
+ {\LaTeXe}. Die meisten CJK-Kodierungen sind implemntiert,
+ das interne Kodierschema von MULE wird durch einen kleinen
+ Pr{\"a}prozessor unterst{\"u}tzt. Au{\ss}erdem enth{\"a}lt
+ es Module f{\"u}r Unicode und CEF (Chinese Encoding
+ Framework), das im Prinzip eine Eingabemethode f{\"u}r die
+ CNS-Kodierung (Chinesischer National Standard, zirka
+ 48\,000 chinesische Schriftzeichen) ist. \par CJK ist
+ nat{\"u}rlich nicht auf MULE beschr{\"a}nkt. Jeder Editor
+ der eine CJK-Sprache unterst{\"u}tzt, kann verwendet
+ werden. \par Im CJK-Paket sind Hilfsprogramme enthalten,
+ die chinesische TrueType-Fonts und
+ CJK-Bitmap-Zeichens{\"a}tze in \texttt{.pk}-Dateien
+ konvertieren. Zus{\"a}tzlich werden Sprachmodule f{\"u}r
+ CJK-Sprachen zur Verf{\"u}gung gestellt, die in
+ Zusammenarbeit mit dem Koma-Script-Paket syntaktisch
+ korrekte {\"U}berschriften produzieren. \par Dieser Artikel
+ beschreibt Version 3.0.1 des Pakets.},
+ keywords = {CJK-Paket, Fonts, Chinesisch, Japanisch, Koreanisch,
+ MULE}
+}
+
+@Article{ dtk95.4:raichle:kapitaelchen,
+ author = {Bernd Raichle},
+ title = {Kapit{\"a}lchen in {{\"U}}berschriften},
+ journal = dtk,
+ year = 1995,
+ volume = {4/95},
+ altvolume = 7,
+ altnumber = 4,
+ month = mar,
+ pages = {41--42},
+ annote = schonimmer,
+ keywords = {Kapit{\"a}lchen, Fonts}
+}
+
+@Article{ dtk95.4:dafferner.dietsche.ea:alternative,
+ author = {Andreas Dafferner and Luzia Dietsche and Bernd Raichle and
+ Volker RW Schaa and Rainer Sch{\"o}pf},
+ title = {Das alternative {\LaTeX}-{G}lossar},
+ journal = dtk,
+ year = 1995,
+ volume = {4/95},
+ altvolume = 7,
+ altnumber = 4,
+ month = mar,
+ pages = {43--47},
+ annote = beiprogramm,
+ abstract = {Vielen Anf{\"a}ngern und Umsteigern von anderen
+ Textverarbeitungsprogrammen ist die gro{\ss}e Anzahl von
+ Befehlen in {\TeX} und {\LaTeX} der Haupthinderungsgrund
+ f{\"u}r eine schnelle und effiziente Einarbeitung. Das hier
+ abgedruckte Glossar soll einen ersten einfachen Einstieg in
+ die komplexe Befehlsstruktur auf eine leicht
+ verst{\"a}ndliche Weise erm{\"o}glichen. Bei Bedarf werden
+ weitere Folgen auf Schwerverst{\"a}ndliches oder
+ Wissenswertes eingehen.},
+ keywords = {Humor, Satire}
+}
+
+@Article{ dtk95.4:huelse:4alltex,
+ author = {Rainer H{\"u}lse},
+ title = {4all{\TeX} -- eine {R}eady-to-{R}un-{CD} auf dem
+ {P}r{\"u}fstand},
+ journal = dtk,
+ year = 1995,
+ volume = {4/95},
+ altvolume = 7,
+ altnumber = 4,
+ month = mar,
+ pages = {48--51},
+ annote = rezension,
+ keywords = {Rezension, CD-ROM}
+}
+
+@Article{ dtk96.1:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk96.1:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk96.1:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 14.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.{V}.},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {5--15},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk96.1:sowa:kassenbericht,
+ author = {Friedhelm Sowa},
+ title = {Kassenbericht f{\"u}r den {Z}eitraum 1.1.1993--31.12.1993},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {16--17},
+ annote = hinterbuehne,
+ keywords = {Kassenbericht}
+}
+
+@Article{ dtk96.1:lammarsch:brief,
+ author = {Joachim Lammarsch},
+ title = {Ein {B}rief an die c't},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = 18,
+ annote = hinterbuehne,
+ keywords = {c't}
+}
+
+@Article{ dtk96.1:dietsche:cjk-paket,
+ author = {Luzia Dietsche},
+ title = {Das {CJK}-{P}aket -- {K}orrekturen},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = 19,
+ annote = hinterbuehne,
+ keywords = {Fehlerbericht, CJK-Paket, Fonts, Chinesisch, Japanisch,
+ Koreanisch, MULE}
+}
+
+@Article{ dtk96.1:matthes:bericht,
+ author = {Henning Matthes},
+ title = {Bericht von der {F}r{\"u}hjahrstagung in {A}ugsburg},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {20--23},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk96.1:ftp.shsu.edu,
+ key = {ftp.shsu.edu},
+ title = {ftp.shsu.edu},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = 24,
+ annote = fremdebuehne,
+ keywords = {Humor, Satire}
+}
+
+@Article{ dtk96.1:neugebauer:krakelig,
+ author = {Gerd Neugebauer},
+ title = {Von {\glqq}krakelig{\grqq} bis {\glqq}wie gemalt{\grqq}},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {25--42},
+ annote = fundus,
+ abstract = {Wir alle kennen zur Gen{\"u}ge die
+ Computer-Modern-Schriften, die standardm{\"a}{\ss}ig von
+ {\TeX} verwendet werden. Sicher hat der eine oder andere
+ auch mit PostScript-Schriften wie Times, helvetics oder
+ LucidaBright seine Erfahrungen gesammelt. In diesem Artikel
+ habe ich mir Schreibschriften vorgenommen und die
+ M{\"o}glichkeiten untersucht, ein handschrift{\"a}hnliches
+ Aussehen mit {\LaTeX} zu produzieren.},
+ keywords = {Metafont, Schriften, gftopk, Lateinische Ausgangsschrift,
+ lla, la, Vereinfachte Anfangsschrift, va, vacal, twcal,
+ calligra, script, S{\"u}tterlin, suet, schwell, Fonts}
+}
+
+@Article{ dtk96.1:erlmeier:bericht,
+ author = {Markus Erlmeier},
+ title = {Bericht des technischen {B}eirates -- {A}miga},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {43--44},
+ annote = beiprogramm,
+ keywords = {Amiga}
+}
+
+@Article{ dtk96.1:raichle:bericht,
+ author = {Bernd Raichle},
+ title = {Bericht des technischen {B}eirates -- {G}erman {S}tyle},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {45--46},
+ annote = beiprogramm,
+ keywords = {german-Style}
+}
+
+@Article{ dtk96.1:lerbs:bericht,
+ author = {Lothar Meyer Lerbs},
+ title = {Bericht des technischen {B}eirates -- {M}acintosh},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {46--48},
+ annote = beiprogramm,
+ keywords = {Macintosh}
+}
+
+@Article{ dtk96.1:knappen:bericht,
+ author = {J{\"o}rg Knappen},
+ title = {Bericht des technischen {B}eirates -- {\MF}},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {48--52},
+ annote = beiprogramm,
+ keywords = {Metafont}
+}
+
+@Article{ dtk96.1:breitenlohner:bericht,
+ author = {Peter Breitenlohner},
+ title = {Bericht des technischen {B}eirates -- {PubliC\TeX}},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {52--53},
+ annote = beiprogramm,
+ keywords = {Public\TeX}
+}
+
+@Article{ dtk96.1:schoepf:bericht,
+ author = {Rainer Sch{\"o}pf},
+ title = {Bericht des technischen {B}eirates --
+ {S}erver-{K}oordination},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = 53,
+ annote = beiprogramm,
+ keywords = {Server}
+}
+
+@Article{ dtk96.1:braune:bericht,
+ author = {Klaus Braune},
+ title = {Bericht des technischen {B}eirates -- {UNIX}},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {53--54},
+ annote = beiprogramm,
+ keywords = {UNIX}
+}
+
+@Article{ dtk96.1:loeser:bericht,
+ author = {Christa Loeser},
+ title = {Bericht des technischen {B}eirates -- {V}erlag und
+ {B}uchhandel},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {54--56},
+ annote = beiprogramm,
+ keywords = {Verlag, Buchhandel}
+}
+
+@Article{ dtk96.1:schroeder:texies,
+ author = {Martin Schr{\"o}der},
+ title = {{\TeX}ies, fahrt nach {H}eidelberg},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {56--57},
+ annote = beiprogramm,
+ keywords = {}
+}
+
+@Article{ dtk96.1:willadt:orale,
+ author = {Peter Willadt},
+ title = {Orale {S}pielereien -- {T}eil {III}, {H}eft 4/95},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {58--59},
+ note = {mit einer Antwort von Bernd Raichle},
+ annote = leserbrief,
+ keywords = {Makroverarbeitung, Makrodefinition, Makroprogrammierung,
+ Leserbrief}
+}
+
+@Article{ dtk96.1:hoeppner:latex-vademecum,
+ author = {Klaus H{\"o}ppner},
+ title = {{\LaTeX}-{V}ademecum -- {E}in {K}ompaktf{\"u}hrer f{\"u}r
+ {E}insteiger und {F}ortgeschrittene},
+ journal = dtk,
+ year = 1996,
+ volume = {1/96},
+ altvolume = 8,
+ altnumber = 1,
+ month = jun,
+ pages = {60--61},
+ annote = rezension,
+ keywords = {Rezension}
+}
+
+@Article{ dtk96.2:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk96.2:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk96.2:sowa:kassenbericht,
+ author = {Friedhelm Sowa},
+ title = {Kassenbericht f{\"u}r den {Z}eitraum 1.1.1994--31.12.1994},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {6--9},
+ annote = hinterbuehne,
+ keywords = {Kassenbericht}
+}
+
+@Article{ dtk96.2:knuth:important,
+ author = {Donald E. Knuth},
+ title = {Important Message to all Users of {\TeX}},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {10--13},
+ annote = fremdebuehne,
+ abstract = {Auf Donald E. Knuths WWW-Seite
+ \texttt{http://www-cs-faculty.Stanford.EDU/~knuth/cm.html}
+ befindet sich seit einigen Monaten ein Aufruf an die
+ Benutzer des Textsatzsystemes {\TeX}. Er weist darin auf
+ zwei Probleme hin, die die von ihm erstellte
+ Computer-Modern-Schriftfamilie betreffen. Das erste
+ Problem, das Anfang Juni entdeckt wurde, betrifft eine
+ nicht von Knuth autorisierte {\"A}nderung an den
+ Quelldateien, die zu Inkompatibilit{\"a}ten f{\"u}hrt.
+ Diese ge{\"a}nderten Quelldateien werden mit der
+ Linux-Slackware-Distribution verteilt. Auf das zweite
+ Problem, da{\ss} h{\"a}ufig noch veraltete Versionen der
+ Computer-Modern-Schriften verwendet werden, wurde schon
+ mehrmals von J{\"o}rg Knappen hingewiesen; zuletzt in der
+ Ausgabe 1/1996, S.~52, der Mitgliederzeitung. \par Bitte
+ {\"u}berpr{\"u}fen Sie ihre {\TeX}-Installation und
+ besorgen Sie sich, falls Sie veraltete oder ver{\"a}nderte
+ Computer-Modern-Schriften verwenden, die offiziellen
+ Dateien der neuesten Version vom CTAN (Comprehensive {\TeX}
+ Archive Network).},
+ keywords = {Knuth, Metafont, Fonts, Schriften, Fehlerbericht, Linux,
+ Slackware, Computer-Modern-Schriften}
+}
+
+@Article{ dtk96.2:kohm:koma-script,
+ author = {Markus Kohm},
+ title = {\textsc{Koma-Script} -- {E}ine {A}lternative zu den
+ {S}tandardklassen?},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {14--33},
+ annote = bretter,
+ abstract = {Wer die Newsgroups wie \texttt{de.comp.tex} aufmerksam
+ verfolgt, wird immer wieder Verweise auf
+ \textsc{Koma-Script} finden. Selbst in der
+ DE-{\TeX}-/DANTE-FAQ sind inzwischen mehrere Verweise auf
+ dieses Paket zu lesen. Auf den folgenden Seiten soll daher
+ die Entstehung, die Motivation, die Grundz{\"u}ge und die
+ Verwendung von \textsc{Koma-Script} erl{\"a}utert werden.
+ Um den Rahmen nicht zu sprengen, werden nur die Klassen
+ \texttt{scrartcl}, \texttt{scrreprt} und \texttt{scrbook}
+ sowie das Satzspiegelpaket \texttt{typearea} erl{\"a}utert.
+ Die Briefklasse \texttt{scrletter} und die erg{\"a}nzenden
+ Pakete \texttt{scrpage}, \texttt{scrtime},
+ \texttt{scrdate}, \texttt{scraddr} und die zu
+ \texttt{scrlettr} geh{\"o}renden Beispieldokumente
+ \texttt{phone} und \texttt{dir} werden hier ausgeklammert.
+ F{\"u}r die Installation sei auf die Anleitungen, die zum
+ Paket geh{\"o}ren, verwiesen.},
+ keywords = {\textsc{Koma-Script}, \LaTeX-Klassen}
+}
+
+@Article{ dtk96.2:raichle:orale,
+ author = {Bernd Raichle},
+ title = {Orale {S}pielereien mit {\TeX} -- {T}eil {III}
+ ({A}ddendum)},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {33--37},
+ annote = bretter,
+ keywords = {Makroverarbeitung, Makrodefinition, Makroprogrammierung,
+ \verb|\relax|}
+}
+
+@Article{ dtk96.2:breymann:dokumentationen,
+ author = {Ullrich Breymann},
+ title = {Dokumentationen},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {37--43},
+ annote = bretter,
+ keywords = {C-Programme, Quellcode, Dokumentationen, }
+}
+
+@Article{ dtk96.2:neugebauer:tafel-fett,
+ author = {Gerd Neugebauer},
+ title = {Tafel-{F}ett},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {44--53},
+ annote = fundus,
+ abstract = {Manchmal ist es n{\"o}tig, die mathematischen Symbole
+ f{\"u}r die nat{\"u}rlichen Zahlen, die ganzen Zahlen, die
+ komplexen Zahlen oder {\"a}hnliche Symbole zu verwenden.
+ Diese werden typischerweise durch einen zus{\"a}tzlichen
+ senkrechten Strich am Anfang der Letter dargestellt. \par
+ Es gibt verschiedene L{\"o}sungen f{\"u}r dieses Problem.
+ Einige dieser L{\"o}sungen sollen hier vorgestellt werden.},
+ keywords = {Mengensymbole, blackboard bold, \AmS-Fonts, bbold,
+ mathbbol, doublestroke, dsfont, bbm, Mathematik}
+}
+
+@Article{ dtk96.2:raichle:roman,
+ author = {Bernd Raichle},
+ title = {Roman statt {I}talic in mathematischen {F}ormeln},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {54--55},
+ annote = schonimmer,
+ keywords = {Fonts (math), Formelsatz, \verb|\mathrm|, Mathematik}
+}
+
+@Article{ dtk96.2:vieth:tex,
+ author = {Ulrik Vieth},
+ title = {{\TeX} {L}ive -- {D}ie erste {TDS}-konforme ready-to-run
+ {\TeX}-{CD-ROM} f{\"u}r {U}nix-{S}ysteme und andere
+ {P}lattformen},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {56--63},
+ annote = beiprogramm,
+ keywords = {CD-ROM, TDS}
+}
+
+@Article{ dtk96.2:nuechter:beschleunigung,
+ author = {Peter N{\"u}chter},
+ title = {Beschleunigung eines {\LaTeX}-{D}urchlaufs},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {64--66},
+ annote = beiprogramm,
+ keywords = {Formatdatei, \verb|initex|, \verb|virtex|}
+}
+
+@Article{ dtk96.2:lagally:alternative,
+ author = {Klaus Lagally},
+ title = {Das alternative {\LaTeX}-{G}lossar -- {A}ddendum},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = {67--68},
+ annote = beiprogramm,
+ keywords = {Humor, Satire}
+}
+
+@Article{ dtk96.2:latex-raetsel,
+ key = {latex-raetsel},
+ title = {{\LaTeXTeX}-{R}{\"a}tsel},
+ journal = dtk,
+ year = 1996,
+ volume = {2/96},
+ altvolume = 8,
+ altnumber = 2,
+ month = aug,
+ pages = 69,
+ annote = beiprogramm,
+ keywords = {Kreuzwortr{\"a}tsel}
+}
+
+@Article{ dtk96.3:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk96.3:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk96.3:dietsche:protokoll,
+ author = {Luzia Dietsche},
+ title = {Protokoll der 15.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.V.},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {6--21},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk96.3:diskussionsgruppe-belichter:eigene,
+ author = {Diskussionsgruppe {\glqq}Belichter{\grqq}, DANTE e.V.},
+ title = {Eine eigene {L}ichtsatzanlage f{\"u}r {DANTE} e.V.?},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {21--25},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk96.3:schaa:bericht,
+ author = {Volker RW Schaa},
+ title = {Bericht von der 17.~{T}agung der {TUG} -- {(Cyr)TUG} 96 in
+ {D}ubna},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {26--30},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk96.3:schlechte:-,
+ author = {Andreas Schlechte},
+ title = {{\MakeIndex} -- {D}em {F}ehler auf der {S}pur},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {31--35},
+ annote = bretter,
+ keywords = {{\MakeIndex}, Fehlerbericht, Index}
+}
+
+@Article{ dtk96.3:neugebauer:unentdeckte,
+ author = {Gerd Neugebauer},
+ title = {Das unentdeckte {L}and},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {36--56},
+ annote = fundus,
+ abstract = {In diesem Beitrag wird ein Weg beschrieben, wie man
+ \PS-Schriften zusammen mit \TeX{} nutzen kann. Der
+ Schwerpunkt liegt weniger auf der Verwendung von bekannten
+ Schriften wie Times oder Helvetica, sondern auf der
+ Einbindung von einzelnen Schriften, wie man sie auf
+ Public-Domain-CDs oder im Internet h{\"a}ufig findet. Dabei
+ werden einige Schriften auch beispielhaft vorgestellt.
+ Diese sind Schriften nachempfunden, die in den
+ Fernsehserien und Filmen um das Raumschiff Enterprise zu
+ sehen sind. },
+ keywords = {StarTrek, PostScript Fonts, Schriften, fontinst, pltotf,
+ tftopl, vptovf, vftovp, gpreview, t1tools, t1utils,
+ StarTrekTNGCrilleA, StarTrekClassicA,
+ StarTrekClassicMoviesA, StarTrekTNGTitleA,
+ TNGMonitorsPlain, klinz}
+}
+
+@Article{ dtk96.3:erlmeier:bericht,
+ author = {Markus Erlmeier},
+ title = {Bericht des technischen {B}eirats -- {A}miga},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {57--58},
+ annote = beiprogramm,
+ keywords = {Amiga}
+}
+
+@Article{ dtk96.3:braune:bericht,
+ author = {Klaus Braune},
+ title = {Bericht des technischen {B}eirats -- {UNIX}},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = 58,
+ annote = beiprogramm,
+ keywords = {UNIX}
+}
+
+@Article{ dtk96.3:raichle:bericht,
+ author = {Bernd Raichle},
+ title = {Bericht des technischen {B}eirats -- {G}erman-{S}tyle},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {58--60},
+ annote = beiprogramm,
+ keywords = {german-Style}
+}
+
+@Article{ dtk96.3:schoppmann:bericht,
+ author = {Harald Schoppmann},
+ title = {Bericht des technischen {B}eirats -- {M}ailbox von {DANTE}
+ e.{V}.},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {60--61},
+ annote = beiprogramm,
+ keywords = {Mailbox}
+}
+
+@Article{ dtk96.3:knappen:bericht,
+ author = {J{\"o}rg Knappen},
+ title = {Bericht des technischen {B}eirats -- {\MF}},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {61--62},
+ annote = beiprogramm,
+ keywords = {Metafont}
+}
+
+@Article{ dtk96.3:breitenlohner:bericht,
+ author = {Peter Breitenlohner},
+ title = {Bericht des technischen {B}eirats -- {PC}},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = 62,
+ annote = beiprogramm,
+ keywords = {PC}
+}
+
+@Article{ dtk96.3:schoepf:bericht,
+ author = {Rainer Sch{\"o}pf},
+ title = {Bericht des technischen {B}eirats --
+ {S}erver-{K}oordination},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {62--63},
+ annote = beiprogramm,
+ keywords = {Server}
+}
+
+@Article{ dtk96.3:preisendanz:bericht,
+ author = {Christa Preisendanz},
+ title = {Bericht des technischen {B}eirats -- {V}erlag und
+ {B}uchhandel},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {63--64},
+ annote = beiprogramm,
+ keywords = {Verlag, Buchhandel}
+}
+
+@Article{ dtk96.3:redaktionsteam:latex-raetsel,
+ author = {Redaktionsteam},
+ title = {{\LaTeXTeX}-{R}{\"a}tsel: {D}ie {A}uf{\/}l{\"o}sung},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {64--68},
+ annote = beiprogramm,
+ keywords = {Kreuzwortr{\"a}tsel}
+}
+
+@Article{ dtk96.3:knappen:tafel-fett,
+ author = {J{\"o}rg Knappen},
+ title = {Tafel-{F}ett, {H}eft 2/96},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = 69,
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk96.3:wilhelms:etwas,
+ author = {Gerhard Wilhelms},
+ title = {Eine etwas andere {B}uchrezension},
+ journal = dtk,
+ year = 1996,
+ volume = {3/96},
+ altvolume = 8,
+ altnumber = 3,
+ month = dec,
+ pages = {70--75},
+ annote = rezension,
+ keywords = {PostScript, Acrobat, PDF, Rezension}
+}
+
+@Article{ dtk96.4:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1997,
+ volume = {4/96},
+ altvolume = 8,
+ altnumber = 4,
+ month = feb,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk96.4:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1997,
+ volume = {4/96},
+ altvolume = 8,
+ altnumber = 4,
+ month = feb,
+ pages = {4--7},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk96.4:knappen:ankuendigung,
+ author = {J{\"o}rg Knappen},
+ title = {Ank{\"u}ndigung: {D}ie ec-{S}chriten 1.0 sind da!},
+ journal = dtk,
+ year = 1997,
+ volume = {4/96},
+ altvolume = 8,
+ altnumber = 4,
+ month = feb,
+ pages = {8--9},
+ annote = bretter,
+ keywords = {Fonts (EC), Cork, textcomp, T1-encoding, EC-Fonts}
+}
+
+@Article{ dtk96.4:schlechte:theoremverzeichnisse,
+ author = {Andreas Schlechte},
+ title = {Theoremverzeichnisse automatisch erstellen},
+ journal = dtk,
+ year = 1997,
+ volume = {4/96},
+ altvolume = 8,
+ altnumber = 4,
+ month = feb,
+ pages = {9--16},
+ annote = bretter,
+ abstract = {In diesem Artikel m{\"o}chte ich ein erweitertes
+ Theorem-Paket vorstellen, das dem Anwender die
+ M{\"o}glichkeit gibt, leicht und flexibel
+ Theoremverzeichnisse zu erstellen. Zus{\"a}tzlich werden
+ weitere hilfreiche Funktionen vorgestellt.},
+ keywords = {Theoremverzeichnis, Verzeichnis}
+}
+
+@Article{ dtk96.4:breger:erfahrungen,
+ author = {Herbert Breger},
+ title = {Erfahrungen bei der {A}nwendung von plain-{\TeX} und
+ {E}dmac auf die {L}eibniz-{E}dition},
+ journal = dtk,
+ year = 1997,
+ volume = {4/96},
+ altvolume = 8,
+ altnumber = 4,
+ month = feb,
+ pages = {16--22},
+ annote = bretter,
+ keywords = {Edmac, plain-{\TeX}, Leibniz}
+}
+
+@Article{ dtk96.4:neubauer:feinheiten,
+ author = {Marion Neubauer},
+ title = {Feinheiten bei wissenschaftlichen {P}ublikationen --
+ {M}ikrotypographie-{R}egeln, {T}eil {I}},
+ journal = dtk,
+ year = 1997,
+ volume = {4/96},
+ altvolume = 8,
+ altnumber = 4,
+ month = feb,
+ pages = {23-40},
+ annote = bretter,
+ keywords = {Mikrotypographie, Abk{\"u}rzungen, Akronyme, Einheiten,
+ Himmelsrichtungen, Anf{\"u}hrungszeichen, Satzzeichen,
+ Auslassungen, Sonderzeichen, email-Adressen, Ligaturen}
+}
+
+@Article{ dtk96.4:neugebauer:genealogisches,
+ author = {Gerd Neugebauer},
+ title = {Genealogisches},
+ journal = dtk,
+ year = 1997,
+ volume = {4/96},
+ altvolume = 8,
+ altnumber = 4,
+ month = feb,
+ pages = {41--53},
+ annote = fundus,
+ abstract = {Manchmal braucht man ein spezielles Zeichen. Wenn man
+ nicht sofort wei{\ss}, wie man das Zeichen bekommt, mu{\ss}
+ man sich auf die Suche danach machen. Dieser Beitrag
+ beschreibt eine solche Suche nach genealogischen Zeichen.},
+ keywords = {Genealogische Zeichen, Fonts, textcomp, msam, \AMS-Fonts,
+ msbm, Waldis Symbol Font, wasy, St Mary's Road, bbding,
+ Zapf-Dingbats}
+}
+
+@Article{ dtk96.4:schoepf:seitenumbrueche,
+ author = {Rainer Sch{\"o}pf},
+ title = {Seitenumbr{\"u}che in {L}isten},
+ journal = dtk,
+ year = 1997,
+ volume = {4/96},
+ altvolume = 8,
+ altnumber = 4,
+ month = feb,
+ pages = {54--55},
+ annote = schonimmer,
+ keywords = {Seitenumbruch, Listen}
+}
+
+@Article{ dtk96.4:mischke:tex-umgebung,
+ author = {Peter Mischke},
+ title = {Eine {\TeX}-{U}mgebung f{\"u}r {OS}/2},
+ journal = dtk,
+ year = 1997,
+ volume = {4/96},
+ altvolume = 8,
+ altnumber = 4,
+ month = feb,
+ pages = {56--59},
+ annote = beiprogramm,
+ abstract = {},
+ keywords = {EPM, OS/2, Editor}
+}
+
+@Article{ dtk97.1:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {{E}ditorial},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = 3,
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk97.1:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {4--7},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk97.1:just:protokoll,
+ author = {Ehrenfried Just},
+ title = {Protokoll der 16.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.V.},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {7--18},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk97.1:neubauer:software,
+ author = {Marion Neubauer},
+ title = {Neue {S}oftware bei {DANTE} e.V.},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ iptvloume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {19--20},
+ annote = hinterbuehne,
+ keywords = {Software, Verteilung}
+}
+
+@Article{ dtk97.1:schroeder:dante97,
+ author = {Martin Schr{\"o}der},
+ title = {{DANTE}'97 in {M}{\"u}nchen},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {21--24},
+ annote = theatertage,
+ keywords = {Tagungsbericht}
+}
+
+@Article{ dtk97.1:neubauer:feinheiten,
+ author = {Marion Neubauer},
+ title = {Feinheiten bei wissenschaftlichen {P}ublikationen --
+ {M}ikrotypographie-{R}egeln, {T}eil {II}},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {25--44},
+ annote = bretter,
+ keywords = {Mikrotypographie, Zahlen, Ziffern, Nummern, Striche,
+ Klammern, geschachtelte Klammern, Wortzwischenr{\"a}ume,
+ Abst{\"a}nde, mathematischer Satz, Worttennungen,
+ Zeilenumbruch}
+}
+
+@Article{ dtk97.1:raichle:abkuerzungspunkt,
+ author = {Bernd Raichle},
+ title = {Abk{\"u}rzungspunkt am {S}atzende},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = 45,
+ annote = schonimmer,
+ keywords = {\verb|xpoint.sty|, Macros, Satzzeichen}
+}
+
+@Article{ dtk97.1:gloetzel:database-publishing,
+ author = {Dieter Gl{\"o}tzel},
+ title = {Database-{P}ublishing mit {O}beron und {\LaTeX}},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {46--54},
+ annote = beiprogramm,
+ keywords = {Oberon, objektorientierte Programmiersprache,
+ Postleitzahlenbuch},
+ abstract = {Im Rahmen eines Kundenprojektes wurde mit Hilfe von
+ \LaTeX{} ein Nachschlagewerk aus einer Datenbank erzeugt.
+ Das Programm zur Generierung des \LaTeX{}-Codes wurde als
+ Prototyp auf einem PC in \emph{Oberon}, der neuen
+ Programmiersprache von Nikolaus Wirth, entwickelt.
+ Au{\ss}er einer Beschreibung der Auf{\/}gabe wird ein
+ kurzer {\"U}berblick {\"u}ber Sprache und Betriebssystem
+ \emph{Oberon}, {\"u}ber die Z{\"u}richer Implementierung
+ sowie {\"u}ber Bezugsquellen im Internet gegeben. Der
+ Artikel schlie{\ss}t mit einem Pl{\"a}doyer f{\"u}r den
+ kommerziellen Einsatz von Freeware-Tools.}
+}
+
+@Article{ dtk97.1:erlmeier:bericht,
+ author = {Markus Erlmeier},
+ title = {Bericht des technischen {B}eirats -- {A}miga},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = 55,
+ annote = beiprogramm,
+ keywords = {Amiga}
+}
+
+@Article{ dtk97.1:birkhahn.lindner:bericht,
+ author = {Lutz Birkhahn and Stefan Lindner},
+ title = {Bericht des technischen {B}eirats -- {A}tari},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = 55,
+ annote = beiprogramm,
+ keywords = {Atari}
+}
+
+@Article{ dtk97.1:raichle:bericht,
+ author = {Bernd Raichle},
+ title = {Bericht des technischen {B}eirats -- {$\varepsilon$-\TeX},
+ {\NTS} und {G}erman-{S}tyle},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {56--58},
+ annote = beiprogramm,
+ keywords = {e-\TeX, german-Style, NTS}
+}
+
+@Article{ dtk97.1:meyer-lerbs:bericht,
+ author = {Lothar Meyer-Lerbs},
+ title = {Bericht des technischen {B}eirats -- {M}acintosh},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {58--59},
+ annote = beiprogramm,
+ keywords = {Macintosh}
+}
+
+@Article{ dtk97.1:schoppmann:bericht,
+ author = {Harald Schoppmann},
+ title = {Bericht des technischen {B}eirats -- {M}ailbox von {DANTE}
+ e.V.},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {59--61},
+ annote = beiprogramm,
+ keywords = {Mailbox}
+}
+
+@Article{ dtk97.1:koch:bericht,
+ author = {Thomas Koch},
+ title = {Bericht des technischen {B}eirats -- {OS/2}},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = 61,
+ annote = beiprogramm,
+ keywords = {OS/2}
+}
+
+@Article{ dtk97.1:gloeckner:bericht,
+ author = {J{\"u}rgen Gl{\"o}ckner},
+ title = {Bericht des technischen {B}eirats -- {P}ost{S}cript},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {61--62},
+ annote = beiprogramm,
+ keywords = {PostScript}
+}
+
+@Article{ dtk97.1:schoepf:bericht,
+ author = {Rainer Sch{\"o}pf},
+ title = {Bericht des technischen {B}eirats --
+ {S}erver-{K}oordination},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = 62,
+ annote = beiprogramm,
+ keywords = {Server}
+}
+
+@Article{ dtk97.1:braune:bericht,
+ author = {Klaus Braune},
+ title = {Bericht des technischen {B}eirats -- {U}nix},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = 62,
+ annote = beiprogramm,
+ keywords = {UNIX}
+}
+
+@Article{ dtk97.1:gaertner:bericht,
+ author = {Ralf G{\"a}rtner},
+ title = {Bericht des technischen {B}eirats -- {O}pen{VMS}},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {62--63},
+ annote = beiprogramm,
+ keywords = {OpenVMS}
+}
+
+@Article{ dtk97.1:schmidt:tex-umgebung,
+ author = {Walter Schmidt},
+ title = {Eine {\TeX}-{U}mgebung f{\"u}r {OS/2}, {H}eft 4/96},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = 64,
+ annote = leserbrief,
+ keywords = {Leserbrief, OS/2, EPM\TeX}
+}
+
+@Article{ dtk97.1:koch:latex-wegweiser,
+ author = {Thomas Koch},
+ title = {Der {\LaTeX}-{W}egweiser},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {65--66},
+ annote = rezension,
+ keywords = {Rezensionen, Grundkonzepte, \LaTeXe-Beschreibung}
+}
+
+@Article{ dtk97.1:schlechte:texikon,
+ author = {Andreas Schlechte},
+ title = {Das {\TeX}ikon -- {R}eferenzhandbuch f{\"u}r {\TeX} und
+ {\LaTeX}},
+ journal = dtk,
+ year = 1997,
+ volume = {1/97},
+ altvolume = 9,
+ altnumber = 1,
+ month = may,
+ pages = {66--68},
+ annote = rezension,
+ keywords = {Rezension, Nachschlagewerk}
+}
+
+@Article{ dtk97.2:dietsche:editorial,
+ author = {Luzia Dietsche},
+ title = {Editorial},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk97.2:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk97.2:neubauer:software,
+ author = {Marion Neubauer},
+ title = {Neue {S}oftware bei {DANTE} e.V.},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {5--7},
+ annote = hinterbuehne,
+ keywords = {Software, Verteilung}
+}
+
+@Article{ dtk97.2:dietsche:drucken,
+ author = {Luzia Dietsche},
+ title = {Drucken wie zu {O}mas {Z}eiten},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = 8,
+ annote = fremdebuehne,
+ keywords = {Leipzig, Museum, Druckerei, Druckkunst, historisch}
+}
+
+@Article{ dtk97.2:neugebauer:ueberfluessiges,
+ author = {Gerd Neugebauer},
+ title = {{\"U}berfl{\"u}ssiges? --- {K}lammern um {M}akroargumente},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {9--13},
+ annote = bretter,
+ keywords = {Klammerungen, Makros, Argumente, Token}
+}
+
+@Article{ dtk97.2:barthelmann:zaehler,
+ author = {Klaus Barthelmann},
+ title = {Z{\"a}hler nicht zur{\"u}cksetzen},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {13--19},
+ annote = bretter,
+ keywords = {Fu{\ss}noten, Z{\"a}hler, Listenverarbeitung, Mouth,
+ Stommach, Makro},
+ abstract = {Angenommen, Sie m{\"o}chten die Dokumentenklasse
+ \texttt{report} verwenden und ihre Fu{\ss}noten fortlaufend
+ durch den gesamten Text numerieren. Sie bemerken aber,
+ da{\ss} die Z{\"a}hlung in jedem Kapitel neu beginnt. Was
+ tun? Die saubere und einfache L{\"o}sung besteht darin,
+ \texttt{report.cls} zu kopieren, umzubenennen und die Zeile
+ \verb+\@addtoreset{footnote}{chapter}+ zu streichen.
+ Nat{\"u}rlich k{\"o}nnen dann noch weitere Anpassungen
+ vorgenommen werden. Die unsaubere L{\"o}sung dagegen
+ erfodert, die Wirkung dieser Zeile nachtr{\"a}glich
+ aufzuheben. Sie greift in {\LaTeXe}-Interna ein und lehrt
+ uns etwas {\"u}ber Listenverarbeitung in {\TeX}.}
+}
+
+@Article{ dtk97.2:schmidt:absaetze,
+ author = {Walter Schmidt},
+ title = {Abs{\"a}tze -- einmal anders},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {19--22},
+ annote = bretter,
+ abstract = {Kennzeichnet man den Beginn eines Absatzes weder mit einem
+ Einzug noch mit zus{\"a}tzlichen Durchschu{\ss}, dann ist
+ er nicht mehr erkennbar, wenn der vorausgehende Absatz
+ gerade mit einer vollen Zeile endet. Es wird beschrieben,
+ wie {\TeX} dieses Problem selbst{\"a}ndig beheben kann und
+ worauf man dabei zu achten hat.},
+ keywords = {Absatzformen}
+}
+
+@Article{ dtk97.2:sieber:russischer,
+ author = {Holm Sieber},
+ title = {Russischer {T}extsatz mit {\LaTeX}},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {22--31},
+ annote = bretter,
+ keywords = {\texttt{babel}, kyrillische Zeichens{\"a}tze, russische
+ Trenntabellen},
+ abstract = {Der Satz mehrsprachiger Texte mit {\LaTeXe} ist dank dem
+ \glqq babel\grqq-Paket an sich kein Problem. Beim ersten
+ Versuch, damit einen russischen Text zu setzen, mu{\ss}te
+ ich allerdings feststellen, da{\ss} meine
+ {\TeX}-Distribution (te{\TeX}) daf{\"u}r nicht vorbereitet
+ gewesen ist. Ich habe daraufhin die fehlenden Teile
+ installiert. Hier beschreibe ich die einzelnen Schritte
+ dieser Installation, die Nutzung f{\"u}r das Schreiben
+ russischer Texte und die in diesem Proze{\ss} gewonnen Erfahrungen.}
+}
+
+@Article{ dtk97.2:molitor:aufbereitung,
+ author = {Ernst Molitor},
+ title = {Aufbereitung der {E}rgebnisse von {L}iteratur-{R}echerchen
+ f{\"u}r {\LaTeX} und {\BibTeX}},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {31--36},
+ annote = bretter,
+ abstract = {Die inzwischen vielerorts zug\"anglichen
+ Literaturdatenbanken erleichtern die Suche nach Literatur
+ zu einem bestimmten Thema ganz erheblich. Die Umwandlung
+ des Ausgabeformats solcher Datenbanksysteme nach {\LaTeX}
+ und {\BibTeX} ist ohne geeignete Werkzeuge allerdings
+ m\"uhsam. In diesem Artikel m\"ochte ich ein kleines
+ Programm beschreiben, das eine solche Umwandlung eines
+ bestimmten Literaturdatenbank-Ausgabeformates
+ bewerkstelligt. Das Programm ist unter Einsatz von
+ {\textit{flex}} geschrieben und baut auf der
+ \textit{standard template library} auf.},
+ keywords = {Literaturrecherche, Datenbank, Umwandlung, Konverter,
+ \BibTeX, medline, litlex}
+}
+
+@Article{ dtk97.2:niepraschk:psfrag-paket,
+ author = {Rolf Niepraschk},
+ title = {Das {PSfrag}-{P}aket},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {36--39},
+ annote = fundus,
+ abstract = {Im folgenden Artikel wird das {\LaTeX}-Paket
+ {\textsf{PSfrag}} vorgestellt und an einem Beispiel
+ gezeigt, wie damit Textbestandteile von
+ \texttt{eps-}Grafiken nachtr{\"a}glich ver{\"a}ndert werden
+ k{\"o}nnen.}
+}
+
+@Article{ dtk97.2:latex-raetsel,
+ title = {{\LaTeX}-{R}{\"a}tsel},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = 40,
+ annote = beiprogramm,
+ keywords = {Kreuzwortr{\"a}tsel}
+}
+
+@Article{ dtk97.2:decker:protokoll,
+ author = {Herbert F. Decker},
+ title = {Protokoll der 16.~{M}itgliederversammlung, {H}eft 1/97},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {41--42},
+ annote = leserbrief,
+ keywords = {Leserbrief, Mitgliederschwund, Gegenma{\ss}nahmen}
+}
+
+@Article{ dtk97.2:willadt:mikrotypographie-regeln,
+ author = {Peter Willadt},
+ title = {Mikrotypographie-{R}egeln, {T}eil {II}, {H}eft 1/97},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {43},
+ note = {mit Antwort von Marion Neubauer},
+ annote = leserbrief,
+ keywords = {Leserbrief, DIN-Vorschrift Datum, neue Rechtschreibung}
+}
+
+@Article{ dtk97.2:dietsche:lesetypographie,
+ author = {Luzia Dietsche},
+ title = {Lesetypographie},
+ journal = dtk,
+ year = 1997,
+ volume = {2/97},
+ altvolume = 9,
+ altnumber = 2,
+ month = jul,
+ pages = {44--45},
+ annote = rezension,
+ keywords = {Rezension, weiterf{\"u}hrendes Handbuch, Typograhie
+ allgemein}
+}
+
+@Article{ dtk97.3:raichle:editorial,
+ author = {Bernd Raichle},
+ title = {Editorial},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {3--4},
+ annote = editorial
+}
+
+@Article{ dtk97.3:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {5--8},
+ annote = hinterbuehne
+}
+
+@Article{ dtk97.3:sowa:kassenbericht,
+ author = {Friedhelm Sowa},
+ title = {Kassenbericht 1995},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {9--10},
+ annote = hinterbuehne,
+ keywords = {Kassenbericht}
+}
+
+@Article{ dtk97.3:schmidt:tex-kompatible,
+ author = {Walter Schmidt},
+ title = {{\TeX}-kompatible {R}echtschreibpr{\"u}fung f{\"u}r den
+ {E}ditor {EPM} unter {OS/2} {W}arp},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {11--13},
+ annote = beiprogramm,
+ keywords = {EPM, OS/2, Rechtschreibpr{\"u}fung},
+ abstract = {Der sogenannte \glqq erweiterte Editor\grqq{} des
+ Betriebssystems OS/2 l{\"a}{\ss}t sich als komfortable
+ Umgebung f{\"u}r \TeX{} und \LaTeX{} einrichten. Der
+ Artikel beschreibt, wie man ihn um eine \TeX-kompatible
+ Rechtschreibpr{\"u}fung erg{\"a}nzt, die sowohl Deutsch als
+ auch Englisch und zahlreiche weitere Sprachen unterst{\"u}tzt.}
+}
+
+@Article{ dtk97.3:gercke:texword,
+ author = {Martin Gercke},
+ title = {{\TeX}{W}ord f{\"u}r {W}indows},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {13--15},
+ annote = beiprogramm
+}
+
+@Article{ dtk97.3:schlechte:raechtschraibrehform,
+ author = {Andreas Schlechte},
+ title = {{D}ie neue {R}{\"a}chtschraibrehform},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {15--22},
+ annote = beiprogramm,
+ keywords = {Rechtschreibreform, Silbentrennung, german-Paket},
+ abstract = {Zur Zeit vergeht kaum ein Monat, in dem nicht wieder eine
+ neue Diskussion zur neuen Rechtschreibreform aufgeworfen
+ wird. Viele Menschen werden durch {\"u}berzogene Beispiele
+ und Gegendarstellungen verunsichert. In diesem Artikel
+ werde ich die wesentlichen {\"A}nderungen aufzeigen, eine
+ -- mit meiner pers{\"o}nlichen Meinung unterlegte --
+ Bewertung versuchen und ein wenig auf die Umstellung
+ f{\"u}r \TeX-Anwender eingehen.}
+}
+
+@Article{ dtk97.3:raichle:texikon,
+ author = {Bernd Raichle},
+ title = {{D}as {\TeX}ikon, {H}eft 1/97: {A}ufl{\"o}sung},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {23--24},
+ annote = beiprogramm,
+ keywords = {\TeX{}ikon}
+}
+
+@Article{ dtk97.3:latex-raetsel,
+ title = {{\LaTeX}-{R}{\"a}tsel, {H}eft 2/97: {A}ufl{\"o}sung},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = 25,
+ annote = beiprogramm,
+ keywords = {Kreuzwortr{\"a}tsel}
+}
+
+@Article{ dtk97.3:neugebauer:vor,
+ author = {Gerd Neugebauer},
+ title = {{V}or {G}ebrauch sch{\"u}tteln},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {26--36},
+ annote = fundus,
+ keywords = {Metafont, Outline-Fonts, outline},
+ abstract = {\glqq Outline\grqq-Schriften sind im \TeX-Umfeld nicht
+ sehr verbreitet. Trotzdem kann die Besch{\"a}ftigung mit
+ der Erzeugung solcher Schriften einige Einsichten in die
+ Arbeitsweise von {\MF} vermitteln. In diesem Beitrag wird
+ nicht nur die Arbeitsweise einer Outline-Routine in {\MF}
+ erl{\"a}utert und vorbereitete Outline-Schriften
+ vorgestellt, sondern auch gezeigt, wie man zu beliebigen
+ {\MF}-Schriften eine Outline-Variante erstellen und nutzen kann. }
+}
+
+@Article{ dtk97.3:boeke:absaetze,
+ author = {Henning B{\"o}ke},
+ title = {{A}bs{\"a}tze -- einmal anders, {H}eft 2/97},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {37--40},
+ annote = leserbrief
+}
+
+@Article{ dtk97.3:schmidt:antwort,
+ author = {Walter Schmidt},
+ title = {{A}ntwort auf den {L}eserbrief von {H}enning {B}{\"o}ke},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = 40,
+ annote = leserbrief
+}
+
+@Article{ dtk97.3:hirsch:leserbrief,
+ author = {Andreas Hirsch},
+ title = {{Z}um {L}eserbrief von {H}erbert {F}.~{D}ecker, {H}eft
+ 2/97},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = 41,
+ annote = leserbrief
+}
+
+@Article{ dtk97.3:gierhardt:leserbrief,
+ author = {Horst Gierhardt},
+ title = {{Z}um {L}eserbrief von {H}erbert {F}.~{D}ecker, {H}eft
+ 2/97},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {42--44},
+ annote = leserbrief
+}
+
+@Article{ dtk97.3:niepraschk:zaehler,
+ author = {Rolf Niepraschk},
+ title = {{Z}{\"a}hler nicht zur{\"u}cksetzen, {H}eft 2/97},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = 44,
+ annote = leserbrief,
+ keywords = {\verb|removefr|, \verb|remreset|, Z{\"a}hler}
+}
+
+@Article{ dtk97.3:schoebel:ich,
+ author = {Wolfgang Sch{\"o}bel},
+ title = {{I}ch h{\"a}tt' da mal 'ne {F}rage},
+ journal = dtk,
+ year = 1997,
+ volume = {3/97},
+ altvolume = 9,
+ altnumber = 3,
+ month = oct,
+ pages = {45--46},
+ annote = leserbrief
+}
+
+@Article{ dtk97.3:neubauer:aeltere,
+ author = {Marion Neubauer},
+ title = {{\"A}ltere {A}usgaben von {\TeX}-{B}{\"u}chern bei {DANTE}
+ {e.V.}},
+ journal = dtk,
+ year = 1997,
+ altvolume = 9,
+ altnumber = 3,
+ volume = {3/97},
+ month = oct,
+ pages = {48--50},
+ annote = theaterkasse
+}
+
+@Article{ dtk97.4:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {3--4},
+ annote = editorial
+}
+
+@Article{ dtk97.4:lammarsch:grusswort,
+ author = {Joachim Lammarsch},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {5--12},
+ annote = hinterbuehne
+}
+
+@Article{ dtk97.4:lammarsch:fonds,
+ author = {Joachim Lammarsch},
+ title = {{F}onds zur {U}nterst{\"u}tzung von {M}itgliedern},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = 12,
+ annote = hinterbuehne
+}
+
+@Article{ dtk97.4:neubauer:belichtungsservice,
+ author = {Marion Neubauer},
+ title = {Belichtungsservice},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {12--14},
+ annote = hinterbuehne
+}
+
+@Article{ dtk97.4:hafner:protokoll,
+ author = {Thomas Hafner},
+ title = {Protokoll der Sitzung AK Weiterentwicklung},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {15--16},
+ annote = hinterbuehne
+}
+
+@Article{ dtk97.4:braune:protokoll,
+ author = {Klaus Braune},
+ title = {{P}rotokoll der {S}itzung {A}{K}
+ {S}oftware-{D}istribution},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {17--18},
+ annote = hinterbuehne
+}
+
+@Article{ dtk97.4:muench:protokoll,
+ author = {Uwe M{\"u}nch},
+ title = {{P}rotokoll der {S}itzung {A}{K}
+ {\"O}ffentlichkeitsarbeit},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {18--24},
+ annote = hinterbuehne
+}
+
+@Article{ dtk97.4:erlmeier:bericht,
+ title = {Bericht des technischen {B}eirates -- {A}miga},
+ author = {Markus Erlmeier},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {24},
+ annote = hinterbuehne,
+ keywords = {Amiga}
+}
+
+@Article{ dtk97.4:meyer-lerbs:bericht,
+ title = {Bericht des technischen {B}eirates -- {M}acintosch
+ {A}bschlu{\ss}bericht},
+ author = {Lothar Meyer-Lerbs},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {24--25},
+ annote = hinterbuehne,
+ keywords = {Macintosh}
+}
+
+@Article{ dtk97.4:knappen:bericht,
+ title = {Bericht des technischen {B}eirates -- {\MF}},
+ author = {J{\"o}rg Knappen},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {25--26},
+ annote = hinterbuehne,
+ keywords = {Metafont}
+}
+
+@Article{ dtk97.4:schoepf:bericht,
+ author = {Rainer Sch{\"o}pf},
+ title = {Bericht des technischen {B}eirates --
+ {S}erver-{K}oordination},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {25},
+ annote = hinterbuehne,
+ keywords = {Server}
+}
+
+@Article{ dtk97.4:braune:bericht,
+ author = {Klaus Braune},
+ title = {Bericht des technischen {B}eirates -- {U}nix},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {26--27},
+ annote = hinterbuehne,
+ keywords = {UNIX}
+}
+
+@Article{ dtk97.4:gaertner:bericht,
+ author = {Ralf G{\"a}rtner},
+ title = {Bericht des technischen {B}eirates -- {VMS}},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {27--28},
+ annote = hinterbuehne,
+ keywords = {OpenVMS}
+}
+
+@Article{ dtk97.4:willadt:verflixte,
+ author = {Peter Willadt},
+ title = {Das verflixte achte {B}it},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {29--39},
+ annote = bretter,
+ keywords = {8-Bit, Fonts (8-Bit), Kodierung, Fonts (EC), EC-Fonts},
+ abstract = {Wenn eine bestehende {\TeX}-Installation auf 8-Bit-Eingabe
+ und 8-Bit-Zeichens{\"a}tze umgestellt wird, ergeben sich
+ einige neue Aspekte. Der Schwerpunkt dieses Artikels liegt
+ weniger bei den Details der Umstellung selbst, als vielmehr
+ bei den Ver{\"a}nderungen, die diese f{\"u}r die
+ t{\"a}gliche Arbeit mit sich bringen.}
+}
+
+@Article{ dtk97.4:eckermann:texnische,
+ author = {Matthias Eckermann},
+ title = {{\TeX}nische {Q}ualen},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {40--42},
+ annote = beiprogramm
+}
+
+@Article{ dtk97.4:kohm:jung,
+ author = {Markus Kohm},
+ title = {Jung gewohnt, alt getan},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {42},
+ annote = beiprogramm
+}
+
+@Article{ dtk97.4:post:erstes,
+ author = {Christa Post},
+ title = {{"`E}rstes {A}rbeiten mit {\TeX"`} von {A}rnulf {L}iebing},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {43--44},
+ annote = rezension,
+ keywords = {Rezension},
+ reference = {Arnulf Liebing: \emph{Erstes Arbeiten mit \TeX}\\ Prentice
+ Hall, 1996;\\ ISBN 3-8272-9521-1\\ 192 Seiten, 39,95~DM}
+}
+
+@Article{ dtk97.4:vieth:schnell,
+ author = {Ulrik Vieth},
+ title = {{"`S}chnell ans {Z}iel mit {\LaTeXe"`} von {J}{\"o}rg
+ {K}nappen},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {44--47},
+ annote = rezension,
+ keywords = {Rezension},
+ reference = {J{\"o}rg Knappen: \emph{Schnell ans Ziel mit \LaTeXe}\\ R.
+ Oldenbourg Verlag, M{\"u}nchen, Wien, 1997;\\ ISBN
+ 3-486-24199-0\\ 207 Seiten, 48,00~DM}
+}
+
+@Article{ dtk97.4:schroeder:tex,
+ author = {Martin Schr{\"o}der},
+ title = {{\TeX} {M}erchandising---{A}n {A}nnouncement},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {48--49},
+ annote = fremdebuehne,
+ keywords = {Merchandising}
+}
+
+@Article{ dtk97.4:schmitt:dezimalkomma,
+ author = {Peter Schmitt},
+ title = {{"`D}ezimalkomma beim {\TeX}satz in deutsch{"'}, {H}eft
+ 1/94},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {50},
+ annote = leserbrief,
+ keywords = {Leserbrief, Dezimalkomma, Formelsatz, Komma in Zahlen,
+ Mathematik}
+}
+
+@Article{ dtk97.4:schmitt:orale,
+ author = {Peter Schmitt},
+ title = {{"`O}rale {S}pielereien mit {\TeX} {--} {T}eil {III}
+ ({A}ddendum){"'}},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {50--53},
+ annote = leserbrief,
+ keywords = {Leserbrief, Makroverarbeitung, Makrodefinition,
+ Makroprogrammierung, \verb|\relax|}
+}
+
+@Article{ dtk97.4:diverse:offener,
+ author = {Diverse},
+ title = {{O}ffener {B}rief an das {P}r{\"a}sidium von {DANTE}
+ e.{V}},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {53--56},
+ annote = leserbrief
+}
+
+@Article{ dtk97.4:praesidium:schriftliche,
+ author = {Pr{\"a}sidium},
+ title = {{S}chriftliche {A}ntwort auf den {"`O}ffenen {B}rief{"'}},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {56--60},
+ annote = leserbrief
+}
+
+@Article{ dtk97.4:molitor:brief,
+ author = {Ernst Molitor},
+ title = {{B}rief an den {P}r{\"a}sidenten},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {61--63},
+ annote = leserbrief
+}
+
+@Article{ dtk97.4:lammarsch:kommentar,
+ author = {Joachim Lammarsch},
+ title = {{K}ommentar zum {O}ffenen {B}rief},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {63--65},
+ annote = leserbrief
+}
+
+@Article{ dtk97.4:braun:etwas,
+ author = {Jan Braun},
+ title = {{E}in etwas anderer {W}etterbericht},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {66-68},
+ annote = leserbrief
+}
+
+@Article{ dtk97.4:eckermann:ruecktritt,
+ author = {Matthias Eckermann},
+ title = {R{\"u}cktritt},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {68--69},
+ annote = leserbrief
+}
+
+@Article{ dtk97.4:neubauer:buecher,
+ author = {Marion Neubauer},
+ title = {B{\"u}cher bei {DANTE} e.{V}.},
+ journal = dtk,
+ year = 1998,
+ altvolume = 9,
+ altnumber = 4,
+ volume = {4/97},
+ month = feb,
+ pages = {70--73},
+ annote = theaterkasse
+}
+
+@Article{ dtk98.1:steinbach-werner:editorial,
+ author = {Claudia Steinbach-Werner},
+ title = {Editorial},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {3--4},
+ annote = editorial
+}
+
+@Article{ dtk98.1:neubauer:grusswort,
+ author = {Marion Neubauer},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {5--7},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.1:post:protokoll,
+ author = {Christa Post},
+ title = {Protokoll der 18.~{M}itgliederversammlung von {DANTE},
+ {D}eutschsprachige {A}nwendervereinigung {\TeX} e.V.},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {8--28},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.1:lammarsch:bar-kasse,
+ author = {Joachim Lammarsch},
+ title = {Die {B}ar-{K}asse -- {D}as {E}rgebnis der {R}echerche},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {29--33},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.1:neubauer:offnener,
+ author = {Marion Neubauer},
+ title = {Offnener {B}rief an das {CTAN}-{T}eam},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {33--35},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.1:redaktionsstatut,
+ title = {Redaktionsstatut},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {36--39},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.1:hirsch.volker-eiseler:installation,
+ author = {Andreas Hirsch and Dominicus Heinzeller und Volker
+ Eiseler},
+ title = {Installation eines {\TeX}-{G}esamtsystems aus {MiK\TeX},
+ {G}host{V}iew und {W}in{E}dt},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {40--50},
+ annote = bretter,
+ abstract = {W{\"a}hrend den Nutzern von Linux nach der Installation
+ des Betriebssystems auch gleich ein vollst{\"a}ndiges (und
+ vor allem lauff{\"a}higes) {\TeX}-Gesamtsystem zur
+ Verf{\"u}gung steht, m{\"u}ssen diejenigen, welche {\TeX}
+ auf einem PC unter Windows 95 einsetzen wollen, zuerst noch
+ kr{\"a}ftig Hand anlegen. Der Klassiker unter den
+ {\TeX}-Implementationen f{\"u}r PCs unter DOS ist {em\TeX};
+ mit zunehmender Verbreitung von Windows 95 (und damit dem
+ oberfl{\"a}chlichen Abschied von DOS) ist die Arbeit damit
+ nicht mehr optimal.},
+ keywords = {Windows, Installation, MiK\TeX, GhostView, WinEdt}
+}
+
+Article{ dtk98.1:baumert:katzenbeisser,
+ author = {Uwe Baumert},
+ title = {Katzenbeisser, {"`V}on der {I}dee zum {D}okument --
+ {E}inf{\"u}hrung in {\TeX} und {\LaTeX"'}},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {53--55},
+ annote = rezension,
+ keywords = {Rezension},
+ reference = {Stefan Katzenbeisser: \emph{Von der Idee zum Dokument --
+ Eine Einf{\"u}hrung in \TeX\ und \LaTeX}\\
+ R. Oldenbourg Verlag, M{\"u}nchen, 2. Auflage 1997;\\
+ ISBN 3-486-24182-6\\
+ 230 Seiten, 69,00~DM}
+}
+@Article{ dtk98.1:oberdiek:leserbrief,
+ author = {Heiko Oberdiek},
+ title = {Zum {L}eserbrief {"`O}rale {S}pielereien mit {\TeX}"',
+ {H}eft 4/97},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {56},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk98.1:niepraschk:verflixte,
+ author = {Rolf Niepraschk},
+ title = {Das verflixte achte {B}it, {H}eft 4/97},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {56--57},
+ annote = leserbrief,
+ keywords = {Leserbrief, 8-Bit, Fonts (8-Bit), Kodierung, Fonts (EC),
+ EC-Fonts}
+}
+
+@Article{ dtk98.1:koen:raechtschraibrehform,
+ author = {Wilhelm H. Koen},
+ title = {R{\"a}chtschraibrehform, {H}eft 3/97},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {57--58},
+ annote = leserbrief,
+ keywords = {Leserbrief, Rechtschreibreform}
+}
+
+@Article{ dtk98.1:fismer:tex,
+ author = {Gregor Fismer},
+ title = {{\TeX} f{\"u}r alle},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {58--59},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk98.1:lang:liebe,
+ author = {Christian B. Lang},
+ title = {Liebe {\TeX}nische {F}reunde},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 1,
+ volume = {1/98},
+ month = may,
+ pages = {59},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk98.2:steinbach-werner:editorial,
+ author = {Claudia Steinbach-Werner},
+ title = {Editorial},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {3--4},
+ annote = editorial
+}
+
+@Article{ dtk98.2:neubauer:grusswort,
+ author = {Marion Neubauer},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {5--10},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.2:sowa:kassenbericht,
+ author = {Friedhelm Sowa},
+ title = {Kassenbericht 1996},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {10--11},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.2:bericht,
+ title = {Bericht des {W}irtschaftpr{\"u}fers},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {12--25},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.2:willadt:ergaenzungsvorschlag,
+ author = {Peter Willadt},
+ title = {Erg{\"a}nzungsvorschlag zum {R}edaktionsstatut},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {25},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.2:taylor:-tex,
+ author = {Philip Taylor},
+ title = {{$\varepsilon$-\TeX} {V}ersion 2: {V}erf{\"u}gbar auf der
+ {CD-ROM} "`{\TeX} {L}ive"'!},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {26--35},
+ annote = bretter,
+ keywords = {$\varepsilon$-\TeX}
+}
+
+@Article{ dtk98.2:schmidt:tex,
+ author = {Walter Schmidt},
+ title = {{\TeX} und die neue deutsche {R}echtschreibung},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {35--37},
+ annote = bretter,
+ abstract = {Die neuen Schreibregeln f{\"u}r die deutsche Sprache
+ machen {\"A}nderungen an Silbentrennmustern und an
+ Makropaketen erforderlich. In Zukunft mu{\ss} sowohl die
+ traditionelle als auch die neue Rechtschreibung
+ unterst{\"u}tzt werden, Dieser Aufsatz beschreibt die
+ entsprechenden Neuerungen.},
+ keywords = {Rechtschreibung, Silbentrennung, german-Style}
+}
+
+@Article{ dtk98.2:heyl:morse,
+ author = {Udo Heyl},
+ title = {Morse -- {Z}eichensatz der telegraphischen {S}ignale},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {38--42},
+ annote = bretter,
+ keywords = {Morsezeichen, Fonts, Telegraphie}
+}
+
+@Article{ dtk98.2:willadt:tabellen,
+ author = {Peter Willadt},
+ title = {Tabellen importieren},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {42--45},
+ annote = bretter,
+ keywords = {Tabellen}
+}
+
+@Article{ dtk98.2:schmitt:tex-raetsel,
+ author = {Peter Schmitt},
+ title = {Ein {\TeX}-{R}{\"a}tsel},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {46--48},
+ annote = beiprogramm,
+ keywords = {R{\"a}tsel, Klammern}
+}
+
+@Article{ dtk98.2:vieth:latex,
+ author = {Ulrik Vieth},
+ title = {"`{T}he {\LaTeX} {G}raphics {C}ompanion"' von {G}oosens et
+ al.},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {49--52},
+ annote = rezension,
+ keywords = {Rezension},
+ reference = {M. Goosens, F. Mittelbach, S. Rahtz: \emph{The \LaTeX\
+ Graphics Companion -- Illustrating Documents with \TeX\ and
+ PostScript}\\ Addison Wesley Longman 1997;\\ ISBN
+ 0-201-85469-4\\ 580 Seiten, \$\,39,95}
+}
+
+@Article{ dtk98.2:willadt:tex,
+ author = {Peter Willadt},
+ title = {{\TeX} entfesselt -- "`{\TeX} unbound"' von {A}lan
+ {H}oenig},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {52--53},
+ annote = rezension,
+ keywords = {Rezension},
+ reference = {Alan Hoenig: \emph{\TeX\ unbound -- \LaTeX\ \& \TeX
+ Strategies for Fonts, Graphics and More}\\ Oxford
+ University Press, Oxford and New Yort, 1998\\ ISBN:
+ 0-19-509686-X (Paperback) 0-19-509685-1 (hardbound)\\ 594
+ Seiten, \$\,35 / \$\,60}
+}
+
+@Article{ dtk98.2:kohm:es,
+ author = {Markus Kohm},
+ title = {Es ist nicht alles {G}old, was gl{\"a}nzt},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {54--59},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk98.2:schaeffler:auseinandersetzungen,
+ author = {Markus Sch{\"a}ffler},
+ title = {Auseinandersetzungen beenden},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {59--60},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk98.2:schoepf:antwort,
+ author = {Rainer Sch{\"o}pf},
+ title = {Antwort auf den offenen {B}rief an das {CTAN}-{T}eam},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 2,
+ volume = {2/98},
+ month = sep,
+ pages = {60--63},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk98.3:steinbach-werner:editorial,
+ author = {Claudia Steinbach-Werner},
+ title = {Editorial},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {3--4},
+ annote = editorial
+}
+
+@Article{ dtk98.3:neubauer:grusswort,
+ author = {Marion Neubauer},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {5--7},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.3:sowa:kassenbericht,
+ author = {Friedhelm Sowa},
+ title = {Kassenbericht 1997},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {8--9},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.3:willadt:skalierbare,
+ author = {Peter Willadt},
+ title = {Skalierbare {S}chriften},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {10--19},
+ annote = bretter,
+ keywords = {Fonts, Schriften, skalieren, PostScript, TrueType,
+ PSNFSS}
+}
+
+@Article{ dtk98.3:greschner:wege,
+ author = {Georg S. Greschner},
+ title = {Wege des {\TeX}nischen {F}ortschritts},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {19--30},
+ annote = bretter,
+ keywords = {WYSIWYG, Windows, OLE, WinWord}
+}
+
+@Article{ dtk98.3:willadt:tex,
+ author = {Peter Willadt},
+ title = {{\TeX} im {I}nternet -- {T}ips f{\"u}r den {E}instieg},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {30--34},
+ annote = bretter,
+ keywords = {Internet, WWW, FTP, E-Mail}
+}
+
+@Article{ dtk98.3:skoupy:new,
+ author = {Karel Skoup\'y},
+ title = {{\NTS}: {N}ew {T}ypesetting {S}ystem -- ein neues
+ {S}atzsystem},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {35--45},
+ annote = bretter,
+ keywords = {NTS}
+}
+
+@Article{ dtk98.3:sowa:tex,
+ author = {Friedhelm Sowa},
+ title = {{\TeX} {N}orth{E}ast},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {46--47},
+ annote = beiprogramm,
+ keywords = {TUG}
+}
+
+@Article{ dtk98.3:lammarsch:erlebnisse,
+ author = {Joachim Lammarsch},
+ title = {Erlebnisse einer {P}olenreise},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {47--50},
+ annote = beiprogramm,
+ keywords = {Euro\TeX}
+}
+
+@Article{ dtk98.3:kinch:microsoft,
+ author = {Richard Kinch},
+ title = {Microsoft kauft {\TeX}},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {51--53},
+ annote = beiprogramm,
+ abstract = {Dieser Artikel sollte eigentlich in der April-Ausgabe von
+ "`Die {\TeX} nische Kom{\"o}die"' erscheinen, genauer am 1.
+ April des Jahres. Die Redaktion m{\"o}chte den Lesern
+ diesen Artikel nicht vorenthalten, wenn er auch
+ jahreszeitlich etwas versp{\"a}tet erscheint. Autor ist
+ Richard Kinch, der die kommerzielle {\TeX}-Version
+ TRUE{\TeX} vertreibt. Auf eine {\"U}bersetzung wurde
+ bewu{\ss}t verzichtet, da der Stil so typisch f{\"u}r
+ amerikanische "`Nachrichten"' ist.}
+}
+
+@Article{ dtk98.3:vieth:tex,
+ author = {Ulrik Vieth},
+ title = {"`{\TeX} {U}nbound"' von {A}lan {H}oenig},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {54--57},
+ annote = rezension,
+ keywords = {Rezension},
+ reference = {Alan Hoenig: \emph{\TeX\ unbound -- \LaTeX\ \& \TeX\
+ Strategies for Fonts, Graphics and More}\\ Oxford
+ University Press, Oxford and New Yort, 1998\\ ISBN:
+ 0-19-509686-X (Paperback) 0-19-509685-1 (hardbound)\\ 594
+ Seiten, \$\,35 / \$\,60}
+}
+
+@Article{ dtk98.3:meier:zukuenftigen,
+ author = {Frank Meier},
+ title = {Zum zuk{\"u}nftigen {N}amen des {CTAN}-{S}ervers},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {58--59},
+ annote = leserbrief,
+ keywords = {Leserbrief, CTAN}
+}
+
+@Article{ dtk98.3:lanfermann:resuemee,
+ author = {Dr. Klaus Lanfermann},
+ title = {Res{\"u}m{\'e}e eines {M}itglieds},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 3,
+ volume = {3/98},
+ month = oct,
+ pages = {59--61},
+ annote = leserbrief,
+ keywords = {Leserbrief}
+}
+
+@Article{ dtk98.4:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 1998,
+ altvolume = 10,
+ altnumber = 4,
+ volume = {4/98},
+ month = dec,
+ pages = {3},
+ annote = editorial
+}
+
+@Article{ dtk98.4:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {{G}ru{\ss}wort},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {4--5},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.4:partosch:protokoll,
+ author = {G{\"u}nter Partosch},
+ title = {Protokoll der 19.\ {M}itgliederversammlung von {DANTE
+ e.\,V.}},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {5--18},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.4:neubauer:nachtrag,
+ author = {Marion Neubauer},
+ title = {Nachtrag zum {P}rotokoll der 19.\ {M}itgliderversammlung
+ von {DANTE e.\,V.}},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {18--19},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.4:schaa:lizenzabkommen,
+ author = {Volker RW Schaa},
+ title = {Lizenzabkommen f{\"u}r {WinEdt$^\mathrm{TM}$}},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {20--21},
+ annote = hinterbuehne
+}
+
+@Article{ dtk98.4:seitz:eindruecke,
+ author = {Peter Seitz},
+ title = {Eindr{\"u}cke vom {H}erbst in {E}ichst{\"a}tt},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {22--24},
+ annote = theatertage
+}
+
+@Article{ dtk98.4:reichert:einheit-liches,
+ author = {Axel Reichert},
+ title = {Einheit-liches},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {25--28},
+ annote = bretter
+}
+
+@Article{ dtk98.4:fischer:schnittstelle,
+ author = {Ulrike Fischer},
+ title = {Eine {S}chnittstelle zwischen {D}atenbanken und {\LaTeX}},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {28--33},
+ annote = bretter
+}
+
+@Article{ dtk98.4:baumert:mit,
+ author = {Uwe Baumert},
+ title = {"`Mit {\LaTeXe} wissenschaftliche {A}rbeiten erstellen"'
+ von {K}arsten {G}{\"u}nther {(Hg.)}/{T}horsten {Z}ilm},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {34--37},
+ annote = rezension
+}
+
+@Article{ dtk98.4:schroeder:latex,
+ author = {Martin Schr{\"o}der},
+ title = {"`{\LaTeX}: kurz \& gut"' von {M}atthias {K}alle
+ {D}alheimer},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {37--39},
+ annote = rezension
+}
+
+@Article{ dtk98.4:lachenmayr:einfuehrung,
+ author = {Dr.~Georg Lachenmayr},
+ title = {"`Einf{\"u}hrung in {\LaTeXe}"' von {K}arsten {G}{\"u}nther},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {39--42},
+ annote = rezension
+}
+
+@Article{ dtk98.4:kayssner:wege,
+ author = {Christian Kayssner},
+ title = {Wege des {\TeX}nischen {F}ortschritts {(II)}},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {43--47},
+ annote = leserbrief
+}
+
+@Article{ dtk98.4:gloeckner:jahr,
+ author = {J{\"u}rgen Gl{\"o}ckner},
+ title = {Ein {J}ahr ist vergangen},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {47--48},
+ annote = leserbrief
+}
+
+@Article{ dtk98.4:schroeder:tex-loewe,
+ author = {Martin Schr{\"o}der},
+ title = {Der {\TeX}-{L}{\"o}we zum {A}nfassen},
+ journal = dtk,
+ year = 1998,
+ volume = {4/98},
+ month = dec,
+ pages = {50--51},
+ annote = fremdebuehne
+}
+
+@Article{ dtk99.1:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ month = feb,
+ pages = {3},
+ annote = editorial
+}
+
+@Article{ dtk99.1:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {{G}ru{\ss}wort},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ month = feb,
+ pages = {4--5},
+ annote = hinterbuehne
+}
+
+@Article{ dtk99.1:schaa:ergaenzung,
+ author = {Volker RW Schaa},
+ title = {Erg{\"a}nzung zum {L}izenzabkommen f{\"u}r
+ {WinEdt\(^\mathrm{TM}\)}},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ pages = {5--6},
+ month = feb,
+ annote = hinterbuehne
+}
+
+@Article{ dtk99.1:kohm:verkleinerte,
+ author = {Markus Kohm},
+ title = {Verkleinerte und vergr{\"o}{\ss}erte Ausgaben mit {\LaTeX}},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ pages = {7--26},
+ month = feb,
+ annote = bretter,
+ abstract = {Eine immer wiederkehrende Frage zu \LaTeX\ betrifft die
+ korrekte Vorgehensweise zur Vergr{\"o}{\ss}erung oder
+ Verkleinerung von Dokumenten. Da diese Frage
+ unterschiedlich motiviert sein kann und der Fragesteller
+ sich oftmals {\"u}ber seine Motive nicht vollst{\"a}ndig
+ klar ist, f{\"a}llt es den Experten h{\"a}ufig nicht
+ leicht, die Frage in der Hinsicht korrekt zu beantworten,
+ da{\ss} der tats{\"a}chlich gew{\"u}nschte Effekt erzielt
+ wird.
+
+ Im nachfolgenden Artikel werden deshalb ausgehend von einem
+ h{\"a}ufig anzutreffenden Fallbeispiel verschiedene
+ M{\"o}glichkeiten vorgestellt und gegeneinander abgewogen.
+ Aufmerksame Leser der deutschsprachigen DE-\TeX-/DANTE-FAQ
+ wird es nicht verwundern, zumindest eine der hier
+ empfohlenen L{\"o}sungen dort auch in Kurzform wiederzufinden.}
+}
+
+@Article{ dtk99.1:niepraschk:ueberschreiben,
+ author = {Rolf Niepraschk},
+ title = {{\"U}berschreiben erlaubt -- das \texttt{overpic}-{P}aket},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ pages = {27--29},
+ month = feb,
+ annote = bretter,
+ abstract = {Im folgenden Beispiel wird das \LaTeX-Paket
+ \texttt{overpic} vorgestellt und an einem Beispiel gezeigt,
+ wie damit EPS-Grafiken nachtr{\"a}glich durch
+ \LaTeX-Anweisungen erg{\"a}nzt werden k{\"o}nnen.}
+}
+
+@Article{ dtk99.1:geisse:anpassungen,
+ author = {Armin Geisse},
+ title = {Anpassungen von {DviWin~2.9} an {Web2c} f{\"u}r {WIN32}},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ pages = {30--33},
+ month = feb,
+ annote = bretter,
+ abstract = {Dieser Artikel beschreibt eine m{\"o}gliche Anpassung von
+ DviWin~2.9 an die Web2c-Implementierung f{\"u}r WIN32. Die
+ Schwerpunkte liegen dabei auf der Nutzung mehrerer
+ Druckerauf"|l{\"o}sungen sowie auf der Beschr{\"a}nkung der
+ Font-Verzeichnisse.}
+}
+
+"
+@Article{ dtk99.1:willadt:rohdaten,
+ author = {Peter Willadt},
+ title = {Rohdaten einlesen},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ pages = {33--36},
+ month = feb,
+ annote = bretter,
+ abstract = {Die Bearbeitung von Daten, die von anderen Programmen
+ erzeugt wurden, f{\"a}llt am leichtesten, wenn beim
+ Datenexport Markup eingef{\"u}gt werden kann, das \TeX\
+ versteht. In diesem Artikel soll gezeigt werden, wie auch
+ Daten, die kein Markup enthalten, jedoch in einem genau
+ festgelegten Format vorliegen, von \TeX\ bearbeitet werden
+ k{\"o}nnen.}
+}
+
+@Article{ dtk99.1:raichle:vertikal,
+ author = {Bernd Raichle},
+ title = {Vertikal zentrierte {S}eiten},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ pages = {37--39},
+ month = feb,
+ annote = schonimmer
+}
+
+@Article{ dtk99.1:neugebauer:latex-tips,
+ author = {Gerd Neugebauer},
+ title = {"`{\LaTeX}-{T}ips"' von {J.~Kenneth~Shultis}},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ pages = {40--42},
+ month = feb,
+ annote = rezension
+}
+
+@Article{ dtk99.1:greschner:addendum,
+ author = {Dr. Georg S. Greschner},
+ title = {Addendum},
+ journal = dtk,
+ year = 1999,
+ volume = {1/99},
+ pages = 43,
+ month = feb,
+ annote = leserbrief
+}
+
+@Article{ dtk99.2:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk99.2:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {4},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.2:partosch:protokoll,
+ author = {G{\"u}nter Partosch},
+ title = {Protokoll der 20.~Mitgliederversammlung},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {5--16},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.2:lammarsch.taylor.ea:bericht,
+ author = {Joachim Lammarsch and Philip Taylor and Ji{\v{r}}\'{\i}
+ Zlatu{\v{s}}ka},
+ title = {Bericht der Evaluation des \NTS-Projekts},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {16--19},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.2:liebing:satzungsaenderung,
+ author = {Arnulf Liebing},
+ title = {Satzungs{\"a}nderung -- Mitteilung des Satzungsauschusses},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {19--21},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.2:marquardt:dante99,
+ author = {Colin Marquardt},
+ title = {Die DANTE'99},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {22-24},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.2:schmidt:euro-symbol,
+ author = {Walter Schmidt},
+ title = {Das Euro-Symbol f{\"u}r {\LaTeX}},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {25--30},
+ annote = bretter,
+ keywords = {},
+ abstract = {F{\"u}r die W{\"a}hrungseinheit Euro wurde ein eigenes
+ Symbol definiert. Der Aufsatz beschreibt verschiedene
+ Zeichens{\"a}tze und Makropakete, die Euro-Zeichen f{\"u}r
+ die Verwendung mit {\LaTeX} bereitstellen. }
+}
+
+@Article{ dtk99.2:mueller:mit,
+ author = {Ralf M{\"u}ller},
+ title = {Mit {\LaTeX} bequem Briefe schreiben},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {30--35},
+ annote = bretter,
+ keywords = {},
+ abstract = {Das Schreiben von Briefen, insbesondere Serienbriefen, ist
+ in {\LaTeX} nicht sehr komfortabel. Daher benutzen viele
+ f{\"u}r diese Anwendungen gro{\ss}e WYSIWYG-Programme.
+
+ Der Artikel stellt eine graphische Benutzeroberfl{\"a}che
+ vor, mit deren Hilfe das Schreiben von Briefen und
+ Serienbriefen extrem vereinfacht wird. Die Bedienung sowie
+ die Funktionsweise des Programmes \emph{tk\_Brief} wird
+ dabei erl{\"a}utert. }
+}
+
+@Article{ dtk99.2:liebing:serienbriefe,
+ author = {Arnulf Liebing},
+ title = {Serienbriefe mit {\LaTeX}},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {35--38},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk99.2:fischer:serienbriefe,
+ author = {Ulrike Fischer},
+ title = {Serienbriefe},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {38--44},
+ annote = bretter,
+ keywords = {},
+ abstract = {Serienbriefe erm{\"o}glichen eine pers{\"o}nliche
+ Ansprache des Empf{\"a}ngers -- besonders dann, wenn nicht
+ nur das Adre{\ss}feld individuellen Text enth{\"a}lt. Die
+ in diesem Artikel vorgestellten Beispiele kn{\"u}pfen an
+ eine bereits in "`\DTK"' vorgestellte Methode des
+ Datenbank-Imports an. }
+}
+
+@Article{ dtk99.2:splett:interlinearuebersetzung,
+ author = {Siegfried Splett},
+ title = {Interlinear{\"u}bersetzung -- Wer wei{\ss} Rat?},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {44--46},
+ annote = bretter,
+ keywords = {},
+ abstract = {Gesucht wird ein Verfahren, mit dem zweisprachige Texte
+ gesetzt werden k{\"o}nnen. In einer {\em
+ Interlinear{\"u}bersetzung} steht unter den Satzteilen der
+ Quelle die {\"U}bertragung, m{\"o}glichst Wort f{\"u}r
+ Wort, in die Zielsprache.
+
+ Es gibt ein umfangreiches Vorbild: Das Neue Testament
+ $\cdot$ \emph{Interlinear{\"u}bersetzung
+ Griechisch-Deutsch}, das in dieser Technik gesetzt ist. }
+}
+
+@Article{ dtk99.2:reincke:typographie,
+ author = {Torsten Reincke},
+ title = {"` Typographie -- wann wer wie"' von Friedrich Friedl,
+ Nicolaus Ott und Bernard Stein},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {47--49},
+ annote = rezension,
+ keywords = {},
+ abstract = {Wer sich f{\"u}r Typographie und insbesondere das Schaffen
+ von Typographen, Schriftschneidern, Grafik-Designern und
+ anderen K{\"u}nstlern interessiert, findet in diesem
+ Nachschlagewerk eine reichhaltige Auswahl des
+ Schriftschaffens mit {\"u}ber 2000 Abbildungen. Von der
+ Titelseite bis zum Logo und Plakat ist dieses Buch ein
+ Abbild typographischer Kultur durch die Jahrhunderte bis in
+ unsere Zeit und wird mit einem Geschichtsteil und einem
+ kurzen Abschnitt zu den Schriftwerkzeugen abgerundet. }
+}
+
+@Article{ dtk99.2:project:mehr,
+ author = {{\TeX} Merchandising Project},
+ title = {Mehr vom {\TeX}-L{\"o}wen},
+ journal = dtk,
+ year = 1999,
+ volume = {2/99},
+ altvolume = 2,
+ altnumber = 11,
+ month = may,
+ pages = {50--51},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.3:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk99.3:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.3:schaa:4alltex-cd-rom,
+ author = {Volker RW Schaa},
+ title = {4all{\TeX}-CD-ROM bei \dante},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.3:hagen:project,
+ author = {Hans Hagen},
+ title = {The \NTS{} project (p)reviewed},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {6--13},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.3:bexten.hiltner:latex,
+ author = {Erdmuthe Meyer zu Bexten and Jens Hiltner},
+ title = {{\LaTeX}: Das ideale Satzsystem f{\"u}r blinde Studierende
+ in naturwissenschaftlichen Disziplinen?},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {14--26},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk99.3:creutzig:interlinearuebersetzung,
+ author = {Christopher Creutzig},
+ title = {Interlinear{\"u}bersetzung: eine M{\"o}glichkeit},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {27--29},
+ annote = bretter,
+ keywords = {},
+ abstract = {In \emph{\DTK\,2/1999} stellte Siegfried Splett das
+ Problem, eine einfach zu verwendende Umgebung f{\"u}r
+ \emph{Interlinear{\"u}bersetzungen} zu programmieren. Mit
+ einer kleinen Einschr{\"a}nkung stellt dieser Artikel das
+ Gew{\"u}nschte zur Verf{\"u}gung. }
+}
+
+@Article{ dtk99.3:lagally:interlinearuebersetzung,
+ author = {Klaus Lagally},
+ title = {Interlinear{\"u}bersetzung: ein Vorschlag},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {30--33},
+ annote = bretter,
+ keywords = {},
+ abstract = {In Heft 2/1999 von \emph{\DTK} fragt Siegfried Splett nach
+ einer bequemen M{\"o}glichkeit, in zweisprachigen Texten
+ Satzteile einander zuzuordnen und jeweils zweizeilig
+ untereinander abzusetzen. Hier ist ein L{\"o}sungsvorschlag. }
+}
+
+@Article{ dtk99.3:schmitt:interlinear-versionen,
+ author = {Peter Schmitt},
+ title = {Interlinear-Versionen: ein Vorschlag},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {34--41},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk99.3:willadt:tex,
+ author = {Peter Willadt},
+ title = {{\TeX} f{\"u}r Serient{\"a}ter},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {41--50},
+ annote = bretter,
+ keywords = {},
+ abstract = {Dieser Artikel erl{\"a}utert zuerst Anforderungen, die die
+ Post an Serienbriefe stellt, anschlie{\ss}end werden
+ Hinweise zur Optimierung der Verarbeitungsgeschwindigkeit
+ seitens {\TeX} und des Druckers gegeben. }
+}
+
+@Article{ dtk99.3:wilhelms:4alltex-preview,
+ author = {Gerhard Wilhelms},
+ title = {4all{\TeX}-Preview -- {\TeX}\ f{\"u}r alle?},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {51--56},
+ annote = bretter,
+ keywords = {},
+ abstract = {4all{\TeX} 5.0 ist eine {\TeX}-Umgebung f{\"u}r Windows.
+ Diesem Bericht liegt eine Vorab-Version zugrunde. Kleine
+ Unzul{\"a}nglichkeiten dieser Version wurden umgehend vom
+ Autorenteam Erik Frambach/Wietse Dol abgestellt. Der
+ Bericht soll als Entscheidungshilfe dienen, ob 4all{\TeX}
+ als Alternative f{\"u}r das eigene System in Frage kommen
+ kann. Ein erweiterter Praxistest der endg{\"u}ltigen
+ Version von 4all{\TeX} folgt in der n{\"a}chsten Ausgabe
+ von "`\DTK"'. }
+}
+
+@Article{ dtk99.3:hoeppner:erratum,
+ author = {Klaus H{\"o}ppner},
+ title = {Erratum f{\"u}r die CTAN-CD-ROM von \dante},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {57--58},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk99.3:teilnahme:eurotex99,
+ author = {Einladung zur Teilnahme},
+ title = {Euro{\TeX}'99 -- XI. Europ{\"a}ische {\TeX}-Konferenz},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {61--63},
+ annote = {Spielplan},
+ keywords = {}
+}
+
+@Article{ dtk99.3:braun:tex-tagung,
+ author = {Jan Braun},
+ title = {{\TeX}-Tagung DANTE\,2000 in Clausthal-Zellerfeld ---
+ Ank{\"u}ndigung und Call for Papers},
+ journal = dtk,
+ year = 1999,
+ volume = {3/99},
+ altvolume = 3,
+ altnumber = 11,
+ month = aug,
+ pages = {64--65},
+ annote = {Spielplan},
+ keywords = {}
+}
+
+@Article{ dtk99.4:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk99.4:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.4:partosch:beschluesse,
+ author = {G{\"u}nter Partosch},
+ title = {Beschl{\"u}sse der 21.~Mitgliederversammlung von
+ DANTE~e.V. am 19.~September 1999 in Heidelberg},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {5--11},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.4:partosch:beraterkreis,
+ author = {G{\"u}nter Partosch},
+ title = {Beraterkreis, ein vorl{\"a}ufiges und vorsichtiges
+ Res{\"u}mee},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {11--12},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.4:detig.schaa:kassenpruefung,
+ author = {Christine Detig and Volker RW Schaa},
+ title = {Kassenpr{\"u}fung 1998},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {12--18},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.4:schaa:lizenzabkommen,
+ author = {Volker RW Schaa},
+ title = {Lizenzabkommen f{\"u}r {WinEdt}},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {18--19},
+ annote = hinterbuehne,
+ keywords = {WinEdt}
+}
+
+@Article{ dtk99.4:schaa:altlasten,
+ author = {Volker RW Schaa},
+ title = {Altlasten -- Disketten und CD-ROMs},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {19--20},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.4:szillat:finanzbericht,
+ author = {Horst Szillat},
+ title = {Finanzbericht~1998, Mitgliederversammlung 19.~September
+ 1999},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {20--24},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.4:muench.schaa:20,
+ author = {Uwe M{\"u}nch and Volker RW Schaa},
+ title = {20.~TUG-Konferenz, Vancouver/BC, Kanada},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {25--33},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.4:neugebauer:spaetsommer,
+ author = {Winfried P. Neugebauer},
+ title = {Sp{\"a}tsommer in Heidelberg -- Bericht {\"u}ber die
+ Euro{\TeX}'99},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {33--36},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk99.4:beitz:texshade-paket,
+ author = {Eric Beitz},
+ title = {Das \texttt{texshade}-Paket: Setzen von Nukleotid- und
+ Protein\textsl{alignments}},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {37--43},
+ annote = bretter,
+ keywords = {},
+ abstract = {Das \emph{naturwissenschaftliche} Satzprogramm {\TeX} hat
+ sich aufgrund der M{\"o}glichkeiten im Formelsatz bisher
+ haupts{\"a}chlich in mathematisch orientierten
+ Fachrichtungen etabliert. Unter Biowissenschaftlern scheint
+ es dagegen nicht sehr verbreitet zu sein. Doch eignet sich
+ {\TeX} als Makrosprache hervorragend zur Darstellung und
+ Schattierung von DNA- oder Proteinsequenzvergleichen,
+ sogenannten \emph{Alignments}. Das {\TeX}shade{}-Paket
+ wurde entwickelt, um bei einfachster Handhabung
+ Sequenzvergleiche flexibel und aussagekr{\"a}ftig zu gestalten. }
+}
+
+@Article{ dtk99.4:taylor:pragmatische,
+ author = {Philip Taylor},
+ title = {Eine pragmatische Herangehensweise an den Absatzumbruch},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {43--49},
+ annote = bretter,
+ note = {Dieser Artikel ist in TUGboat 14(1993)\#2, Juli~1993,
+ Seite 138--140 erschienen und wurde von Rebecca Stiels
+ {\"u}bersetzt.},
+ keywords = {}
+}
+
+@Article{ dtk99.4:mischke:eps-grafiken,
+ author = {Peter Mischke},
+ title = {{EPS-Grafiken}},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {50--57},
+ annote = bretter,
+ keywords = {},
+ abstract = {"`Sag mal, wie kann ich eigentlich Grafiken in mein
+ {\LaTeX}-Dokument einbinden?"' Diese Frage hat jeder
+ {\LaTeX}-Anwender schon einmal geh{\"o}rt. "`Gar kein
+ Problem! Speichere sie einfach im EPS-Format und binde sie
+ mit dem Befehl \verb|\includegraphics| ein"', lautet meist
+ die Antwort darauf. Der zweite Schritt bereitet
+ tats{\"a}chlich selten Probleme. Alle modernen
+ {\TeX}-Systeme unterst{\"u}tzen diese Methode. Au{\ss}erdem
+ sind gute Dokumentationen zu dem Thema vorhanden).
+
+ Probleme treten jedoch h{\"a}ufig beim Speichern im
+ EPS-Format auf. Anhand von drei Beispielen aus der Praxis
+ soll in diesem Artikel aufgezeigt werden, wo Probleme
+ entstehen k{\"o}nnen und wie sie zu umgehen sind. }
+}
+
+@Article{ dtk99.4:mehl.schmidt:grosse,
+ author = {Albrecht Mehl and Walter Schmidt},
+ title = {Gro\ss{}e Zeichen in {\LaTeX}},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {58--59},
+ annote = schonimmer,
+ keywords = {}
+}
+
+@Article{ dtk99.4:neugebauer:tex-tools,
+ author = {Gerd Neugebauer},
+ title = {"`{\TeX}-Tools"' von Klaus Braune},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {60--63},
+ annote = rezension,
+ keywords = {},
+ abstract = {{\TeX} besteht nicht nur aus dem eigentlichen
+ Satzprogramm. Daneben gibt es noch eine Vielzahl von
+ n{\"u}tzlichen Programmen. Das hier beschriebene Buch ist
+ angetreten, etwas Ordnung in die Vielzahl der
+ Zusatzprogramme zu bringen. }
+}
+
+@Article{ dtk99.4:braun:tex-tagung,
+ author = {Jan Braun},
+ title = {{\TeX}-Tagung DANTE\,2000 in Clausthal-Zellerfeld},
+ journal = dtk,
+ year = 1999,
+ volume = {4/99},
+ altvolume = 4,
+ altnumber = 11,
+ month = nov,
+ pages = {65},
+ annote = {Spielplan},
+ keywords = {}
+}
+
+@Article{ dtk00.1:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk00.1:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.1:partosch:beschluesse,
+ author = {G{\"u}nter Partosch},
+ title = {Beschl{\"u}sse der 22.~Mitgliederversammlung von
+ {\dante{}} am 11.~M{\"a}rz 2000 in Clausthal-Zellerfeld},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {6--10},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.1:szillat:finanzbericht,
+ author = {Horst Szillat},
+ title = {Finanzbericht 1999},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {11--17},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.1:gloeckner.huesing:pruefung,
+ author = {J{\"u}rgen Gl{\"o}ckner and Johannes H{\"u}sing},
+ title = {Pr{\"u}fung der Kasse f{\"u}r das Jahr 1999},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {17--24},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.1:partosch:vereinsinterne,
+ author = {G{\"u}nter Partosch},
+ title = {Vereinsinterne Kommunikation per E-Mail},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {24--26},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.1:partosch:beraterkreis,
+ author = {G{\"u}nter Partosch},
+ title = {Beraterkreis, ein Res{\"u}mee},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {26--27},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.1:schaa:lizenzabkommen,
+ author = {Volker RW Schaa},
+ title = {Lizenzabkommen},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {27--29},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.1:schaa:altlasten,
+ author = {Volker RW Schaa},
+ title = {Altlasten -- Floppies und CD-ROMs},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {29--30},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.1:mittelbach:laudatio,
+ author = {Frank Mittelbach},
+ title = {Laudatio auf Professor Hermann Zapf},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {31--36},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk00.1:zapf:meine,
+ author = {Hermann Zapf},
+ title = {Meine Zusammenarbeit mit Don Knuth und meine
+ Schriftentw{\"u}rfe},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {37--44},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk00.1:guntermann:powerpoint,
+ author = {Klaus Guntermann},
+ title = {PowerPoint ade?},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {44--51},
+ annote = bretter,
+ keywords = {},
+ abstract = {F\"ur die Erstellung von Pr\"asentationen muss man nicht
+ immer PowerPoint einsetzen. Im Gegenteil: wird ordentlicher
+ Formelsatz in einer Pr\"asentation ben\"otigt, kann man
+ PowerPoint in der Regel gerade \emph{nicht} verwenden. Die
+ hier vorgestellte Alternative, die auf pdf\LaTeX{}, einem
+ Postprozessor und dem Acrobat-Reader basiert, erlaubt das
+ schrittweise Aufbl\"attern von Pr\"asentationsseiten. Der
+ Postprozessor ist in Java implementiert und damit
+ unabh\"angig von einer bestimmten Hardware- oder
+ Betriebssystemplattform nutzbar. }
+}
+
+@Article{ dtk00.1:willadt:texin,
+ author = {Peter Willadt},
+ title = {{\TeX}\ in der Apotheke: ABDA-K{\"a}rtchen},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {},
+ annote = bretter,
+ keywords = {52--54},
+ abstract = {{\TeX}\ eignet sich nicht nur zum Erstellen von {\em
+ beautifully typset documents}, sondern ebenso als Werkzeug
+ f{\"u}r schn{\"o}de Alltagsaufgaben. In diesem Beitrag wird
+ eine Einsatzm{\"o}glichkeit beschrieben, bei der der
+ Endanwender fast ohne Kenntnisse der {\TeX}-Makrosprache
+ auskommt. }
+}
+
+@Article{ dtk00.1:fitug-e-v-.ea:mehr,
+ author = {{Fitug e.V.} and others},
+ title = {Mehr Rechtssicherheit bei Software-Patenten},
+ journal = dtk,
+ year = 2000,
+ optkey = {},
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {55--57},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.1:tex-merchandising-project:year2000-tex-kalender,
+ author = {{\TeX}-Merchandising-Project, Martin Schr{\"o}der},
+ title = {Der {\textbackslash{}year}=2000-{\TeX}-Kalender},
+ journal = dtk,
+ year = 2000,
+ volume = {1/00},
+ altvolume = 1,
+ altnumber = 12,
+ month = may,
+ pages = {57--58},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.2:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk00.2:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.2:dietsche:bei,
+ author = {Luzia Dietsche},
+ title = {\dante{} bei der MNU},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {5--7},
+ annote = hinterbuehne,
+ keywords = {},
+ abstract = {In der Woche vor Ostern fand in Stuttgart die Tagung
+ MNU\,2000 des Vereins zur F{\"o}rderung des mathematischen
+ und naturwissenschaftlichen Unterrichts statt, bei der
+ einige Freiwillige mit einem Stand Werbung f{\"u}r {\TeX}
+ und \dante{} machten. }
+}
+
+@Article{ dtk00.2:thomas-koch:einladung,
+ author = {Thomas Koch, Thomas Feuerstack},
+ title = {Einladung zur Herbstagung und 23.~Mitgliederversammlung
+ von \dante},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {8},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.2:team:enters,
+ author = {{\NTS\ Team}},
+ title = {\NTS{} Enters Alpha Test},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {9--10},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.2:niepraschk:wiege,
+ author = {Rolf Niepraschk},
+ title = {Von der Wiege bis zur Bahre: Formulare},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {11--14},
+ annote = bretter,
+ keywords = {},
+ abstract = {In dem Artikel wird anhand des {\"U}berweisungsformulars
+ gezeigt, wie hochwertige Grafiken mit Hilfe des Makropakets
+ PSTricks erzeugt werden k{\"o}nnen. }
+}
+
+@Article{ dtk00.2:grotherr:serienbriefe,
+ author = {Joachim Grotherr},
+ title = {Serienbriefe mit {\LaTeX} -- Ein Erfahrungsbericht},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {14--16},
+ annote = bretter,
+ keywords = {},
+ abstract = {Serienbriefe in gr{\"o}{\ss}eren Auf\/lagen bis zu
+ 10\,000~St{\"u}ck bringen g{\"a}ngige Office-Pakete schnell
+ an ihre Leistungsgrenze. Der Einsatz von {\LaTeX} f{\"u}hrt
+ zu einer erheblichen Steigerung der Druckgeschwindigkeit
+ und er{\"o}ffnet weitere professionelle M{\"o}glichkeiten. }
+}
+
+@Article{ dtk00.2:willadt:arial,
+ author = {Peter Willadt},
+ title = {Arial installieren},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {16--21},
+ annote = bretter,
+ keywords = {},
+ abstract = {Layout-Vorschriften erzwingen gelegentlich die Verwendung
+ einer nicht in einer Standard-{\TeX}-Distribution
+ enthaltenen Schrift. Im Folgenden wird am Beispiel
+ \emph{Arial} beschrieben, wie eine solche Schrift
+ installiert wird, wenn die ben{\"o}tigten \texttt{tfm}- und
+ \texttt{vf}-Dateien bereits vorliegen. }
+}
+
+@Article{ dtk00.2:neugebauer:in,
+ author = {Gerd Neugebauer},
+ title = {In Reih und Glied},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {21--34},
+ annote = bretter,
+ keywords = {},
+ abstract = {In {\LaTeX} erh{\"a}lt man sehr viel Unterst{\"u}tzung,
+ wenn es um das Setzen von Tabellen geht. Trotz der
+ M{\"o}glichkeiten, die {\LaTeX} selbst schon mitbringt,
+ gibt es einige W{\"u}nsche, die erst durch Zusatzpakete
+ einfach zu realisieren sind. Es ist nicht immer ratsam,
+ alle Register zu ziehen. Auch hier bewahrheitet es sich,
+ dass es auf einen gezielten und {\"u}berlegten Einsatz
+ ankommt, wenn man ein ansprechendes und professionell
+ aussehendes Ergebnis erzielen will. }
+}
+
+@Article{ dtk00.2::tex-raetsel,
+ author = {},
+ title = {{\TeX}-R\"atsel},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {35},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk00.2:raichle:anlegen,
+ author = {Bernd Raichle},
+ title = {Anlegen einer Liste der Definitionen},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {36--39},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk00.2:ntg-texfuture-working-group:tex,
+ author = {{NTG {\TeX}\ future working group}},
+ title = {{\TeX} im Jahr 2003: Vorschl{\"a}ge und Thesen zur Zukunft
+ von {\TeX}},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {41--57},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk00.2:willadt:robert,
+ author = {Peter Willadt},
+ title = {Robert Bringhurst: The Elements of Typographic Style},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {58--59},
+ annote = rezension,
+ keywords = {}
+}
+
+@Article{ dtk00.2:schmidt:original,
+ author = {Walter Schmidt},
+ title = {Original oder F{\"a}lschung?},
+ journal = dtk,
+ year = 2000,
+ volume = {2/00},
+ altvolume = 2,
+ altnumber = 12,
+ month = jul,
+ pages = {60--62},
+ annote = fremdebuehne,
+ keywords = {},
+ abstract = {In Verbindung mit dem freien \PS-Interpreter Ghostscript
+ wird eine fehlerhafte Version der Schrift Helvetica
+ verteilt. Der Aufsatz beschreibt, wie man diese durch die
+ originale Adobe-Helvetica ersetzt, und wie letztere,
+ v{\"o}llig legal, kostenlos beschafft werden kann. }
+}
+
+@Article{ dtk00.3:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2000,
+ volume = {3/00},
+ altvolume = 3,
+ altnumber = 12,
+ month = sep,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk00.3:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2000,
+ volume = {3/00},
+ altvolume = 3,
+ altnumber = 12,
+ month = sep,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.3:storbeck:schoener,
+ author = {Sven Storbeck},
+ title = {Sch{\"o}ner Lesen~--~gut lesbare und optisch ansprechende
+ Texte durch gute Typografie},
+ journal = dtk,
+ year = 2000,
+ volume = {3/00},
+ altvolume = 3,
+ altnumber = 12,
+ month = sep,
+ pages = {6--30},
+ annote = bretter,
+ keywords = {},
+ abstract = {Jeder Autor eines Textes m{\"o}chte, dass dieser auch
+ gelesen wird. Zur Erf{\"u}llung dieses Wunsches tragen
+ nicht nur die stilistischen H{\"o}henfl{\"u}ge des
+ Verfassers bei, sondern auch das {\"a}u{\ss}ere
+ Erscheinungsbild des Textes. Der folgende Artikel~-- der
+ sich an den typografisch Unbedarften wendet~-- zeigt, wie
+ es dem Leser leicht gemacht werden kann, den Text zu erfassen. }
+}
+
+@Article{ dtk00.3:willadt:zeilenabstaende,
+ author = {Peter Willadt},
+ title = {Zeilenabst\"ande},
+ journal = dtk,
+ year = 2000,
+ volume = {3/00},
+ altvolume = 3,
+ altnumber = 12,
+ month = sep,
+ pages = {31--36},
+ annote = bretter,
+ keywords = {},
+ abstract = {Der Zeilenabstand entscheidet mit dar\"uber, wie gut ein
+ Text lesbar ist. Zu kleine Zeilenabst\"ande f\"uhren dazu,
+ dass man die einzelnen Worte nur schwer entziffern kann;
+ auch das Verrutschen des Auges von einer Zeile in eine
+ andere wird dadurch beg\"unstigt. Zu gro\ss{}e
+ Zeilenabst\"ande sehen seltsam aus; statt eines
+ gleichm\"a\ss{}igen Grauwertes wirkt die Seite
+ "`gestreift"'. Mithin am schlimmsten sind ungleiche
+ Zeilenabst\"ande; der Leser wei{\ss} nicht, ob ein Absatz
+ endet oder ob es sich um ein Zufallsprodukt handelt. Im
+ Folgenden wird erl\"autert, wie {\TeX}\ mit Zeilenabst\"anden umgeht. }
+}
+
+@Article{ dtk00.3:beitz:darstellung,
+ author = {Eric Beitz},
+ title = {Darstellung von Membranprotein-Topologien mit dem
+ {\TeX}topo-Paket},
+ journal = dtk,
+ year = 2000,
+ volume = {3/00},
+ altvolume = 3,
+ altnumber = 12,
+ month = sep,
+ pages = {36--},
+ annote = bretter,
+ keywords = {},
+ abstract = {Wie zahlreiche Reaktionen auf das {\TeX}shade-Paket
+ f{\"u}r Nukleotid- und Pro\-teinsequenzvergleiche (DTK4/99)
+ zeigen, findet {\TeX} auch unter Bio\-wissen\-schaftlern
+ seine Anwender. Nun ist das n{\"a}chste {\TeX}-Makropaket
+ f{\"u}r diesen Nutzerkreis fertig gestellt. {\TeX}topo{}
+ verarbeitet Daten zur Topologie von Mem\-branproteinen und
+ stellt sie schematisch dar. Dabei arbeitet es eng mit oben
+ genanntem {\TeX}shade{}-Paket zusammen, um automatisierte
+ Schattierungen zu erm{\"o}glichen. Beide Pakete zusammen
+ genommen bilden den Ausgangspunkt des Bio\TeX-Projekts, das
+ ausgereifte {\TeX}-Makros f{\"u}r
+ Biochemiker/(Moleku\-lar-)Biologen zur Verf{\"u}gung
+ stellen will. Online-Dokumentationen und weitere
+ Informationen finden sich unter der URL
+ \texttt{http://homepages.uni-tuebingen.de/beitz}. }
+}
+
+@Article{ dtk00.3:lickert:latexfuer,
+ author = {Knut Lickert},
+ title = {{\LaTeX}\ f{\"u}r Vereinsmeier: \minutes},
+ journal = dtk,
+ year = 2000,
+ volume = {3/00},
+ altvolume = 3,
+ altnumber = 12,
+ month = sep,
+ pages = {45--52},
+ annote = bretter,
+ keywords = {},
+ abstract = {Mit dem hier beschriebenen Paket \minutes\ k{\"o}nnen
+ Protokolle f{\"u}r Vereine o.\,{\"a}.\ erstellt werden.
+ Zusammen mit der Klasse \Lpack{scrartcl} werden einzelne
+ Protokolle erstellt, mit \Lpack{scrreprt}-artigen Klassen
+ kann eine Zusammenfassung mehrerer Protokolle erstellt
+ werden.
+
+ Das Paket ist im CTAN unter
+ \texttt{tex-archive/macros/latex/contrib/supported/minutes/}
+ verf{\"u}gbar. }
+}
+
+@Article{ dtk00.3:neugebauer:umbruch,
+ author = {Gerd Neugebauer},
+ title = {Umbruch in schmalen Spalten},
+ journal = dtk,
+ year = 2000,
+ volume = {3/00},
+ altvolume = 3,
+ altnumber = 12,
+ month = sep,
+ pages = {52--54},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk00.3:tex-raetsel,
+ title = {{\TeX}-R{\"atsel}: Die L\"osung},
+ journal = dtk,
+ year = 2000,
+ volume = {3/00},
+ altvolume = 3,
+ altnumber = 12,
+ month = sep,
+ pages = {54},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk00.3:reincke:digital,
+ author = {Torsten Reincke},
+ title = {\glqq Digital Typography\grqq\ von Donald E. Knuth},
+ journal = dtk,
+ year = 2000,
+ volume = {3/00},
+ altvolume = 3,
+ altnumber = 12,
+ month = sep,
+ pages = {55-57},
+ annote = rezension,
+ keywords = {},
+ abstract = {Dieses Buch von Donald Knuth ist eine reichhaltige
+ Textsammlung von Artikeln und Reden, die Knuth im Laufe der
+ Geschichte von {\TeX}\ und \MF\ verfasst hat. Nur drei
+ Kapitel sind neu, die anderen sind Nachdrucke aus
+ verschiedensten Zeitschriften. In Knuths unvergleichlicher
+ Art erf{\"a}hrt der Leser viel Interessantes, aber auch
+ Kurioses zur digitalen Typographie seit 1977. }
+}
+
+@Article{ dtk00.4:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk00.4:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.4:partosch:protokoll,
+ author = {G{\"u}nter Partosch},
+ title = {Protokoll der 23.~Mitgliederversammlung von {DANTE~e.V.}
+ am 7.~Oktober 2000 in Hagen},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {6--10},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.4:sterzl:literarischer,
+ author = {Tobias Sterzl},
+ title = {Ein "`literarischer"' Ergu{\ss} {\"u}ber die {\TeX}-Tagung
+ an der Fernuniversit{\"a}t/Gesamthochschule Hagen},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {10--11},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.4:koch:einladung,
+ author = {Thomas Koch},
+ title = {Einladung zur 24.~Mitgliederversammlung von {DANTE e.V.}},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {12},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.4:trautner:jiddisch,
+ author = {Martin Trautner},
+ title = {Jiddisch mit {\TeX} und {\LaTeX}},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {13--26},
+ annote = bretter,
+ keywords = {},
+ abstract = {Jiddisch, die Sprache des osteurop{\"a}ischen Judentums,
+ stellt besondere Anforderungen an {\TeX} und {\LaTeX}. Zum
+ einen m{\"u}ssen geeignete Fonts beschafft und
+ bereitgestellt werden. Zum anderen ist {\TeX} mit der
+ F{\"a}higkeit zu bidirektionalem Schriftsatz zum Schreiben
+ gemischter Texte von links nach rechts beziehungsweise von
+ rechts nach links auszustatten. Im Folgenden werden die
+ verschiedenen M{\"o}glichkeiten untersucht, jiddische Texte
+ mit {\TeX} und {\LaTeX} zu setzen. Das Ergebnis in der
+ gewohnt hohen Qualit{\"a}t von {\TeX} macht dieses
+ Satzsystem beispielsweise auch f{\"u}r den Einsatz in
+ wissenschaftlichen Einrichtungen interessant, die sich mit
+ der Erforschung jiddischer Sprache und Kultur
+ besch{\"a}ftigen. Bei allen {\"U}berlegungen wei{\ss} sich
+ der Verfasser der Idee freier Software verpflichtet. }
+}
+
+@Article{ dtk00.4:lemberg:thai-zeichensaetze,
+ author = {Werner Lemberg},
+ title = {Thai-Zeichens{\"a}tze},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {26--40},
+ annote = bretter,
+ keywords = {},
+ abstract = {Der Artikel beschreibt das Funktionsprinzip der
+ thail{\"a}ndischen Schrift und die Implementation der
+ notwendigen Ligaturen f{\"u}r {\TeX}\ mittels
+ \texttt{afm2tfm}. }
+}
+
+@Article{ dtk00.4:niepraschk:poster,
+ author = {Rolf Niepraschk},
+ title = {Poster -- leicht gemacht},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {40--47},
+ annote = bretter,
+ keywords = {},
+ abstract = {In dem Artikel wird gezeigt, wie aus einem einseitigen in
+ {\"u}blicher Art geschriebenen {\LaTeX}-Dokument unter
+ Zuhilfenahme des Programms \texttt{poster} ein Poster in
+ beliebiger Gr{\"o}{\ss}e hergestellt werden kann. }
+}
+
+@Article{ dtk00.4:lickert:blindtext,
+ author = {Knut Lickert},
+ title = {blindtext.sty: Viel Text um Nichts},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {47--50},
+ annote = bretter,
+ keywords = {},
+ abstract = {Mit dem hier beschriebenen Paket \texttt{blindtext.sty}
+ kann man schnell Text erzeugen, um Klassen und Pakete zu
+ testen. Das Paket ist im CTAN unter
+ \texttt{tex\_archive/macros/latex/contrib/supported/minutes/blindtext.dtx}
+ verf{\"u}gbar. }
+}
+
+@Article{ dtk00.4:neugebauer:entstehung,
+ author = {Gerd Neugebauer},
+ title = {Die Entstehung der Mitgliedszeitschrift},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {50--52},
+ annote = bretter,
+ keywords = {},
+ abstract = {Diese Ausgabe der Mitgliederzeitschrift "`\DTK"' war nicht
+ ganz so einfach zu erstellen wie andere Ausgaben. Dies soll
+ zum Anlass genommen werden, den Entstehungsprozess zu
+ skizzieren. }
+}
+
+@Article{ dtk00.4:herrmann:latex,
+ author = {Karin Halupczok\and{} Immanuel Herrmann},
+ title = {{\LaTeX} -- Das Lied},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {52},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk00.4:neitmann:texim,
+ author = {Elisabeth Neitmann},
+ title = {"`{\TeX}\ im Jahr 2003: Vorschl{\"a}ge und Thesen zur
+ Zukunft von {\TeX}"', Heft 3/2000},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {},
+ annote = leserbrief,
+ keywords = {}
+}
+
+@Article{ dtk00.4:texmerchandising-project:year2001,
+ author = {{\TeX Merchandising Project}, Martin Schr{\"o}der},
+ title = {Der \textbackslash{}year=2001 {\TeX} Kalender},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {55--56},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk00.4:lachenmayr:tex-tagung,
+ author = {Georg Lachenmayr},
+ title = {{\TeX}-Tagung DANTE\,2001 in Rosenheim -- Einladung und
+ Call for Papers},
+ journal = dtk,
+ year = 2000,
+ volume = {4/00},
+ altvolume = 4,
+ altnumber = 12,
+ month = nov,
+ pages = {58},
+ annote = {Spielplan},
+ keywords = {}
+}
+
+@Article{ dtk01.1:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk01.1:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:partosch:protokoll,
+ author = {G{\"u}nter Partosch},
+ title = {Protokoll der 24.~Mitgliederversammlung von DANTE~e.V. am
+ 3.~M{\"a}rz 2001 in Rosenheim},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {6--15},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:szillat:finanzbericht,
+ author = {Horst Szillat},
+ title = {Finanzbericht 2000},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {16--20},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:huesing.gloeckner:bericht,
+ author = {Johannes H{\"u}sing and J{\"u}rgen Gl{\"o}ckner},
+ title = {Bericht der Rechnungspr{\"u}fer {\"u}ber die Pr{\"u}fung
+ der B{\"u}cher von \dante\ im Gesch{\"a}ftsjahr 2000},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {20--22},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:szillat:beitragsordnung,
+ author = {Horst Szillat},
+ title = {Beitragsordnung \dante},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {22--25},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:hoeppner:foerderung,
+ author = {Dr. Klaus H{\"o}ppner},
+ title = {F{\"o}rderung von {\TeX}-Projekten},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {26--27},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:partosch:vereinsinterne,
+ author = {G{\"u}nter Partosch},
+ title = {Vereinsinterne Kommunikation per E-Mail},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {27--29},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:schaa:winedt,
+ author = {Volker RW Schaa},
+ title = {{\textsf{WinEdt}} -- Zum Stand der Dinge},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {29--30},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:schaa:buchbestand,
+ author = {Volker RW Schaa},
+ title = {Buchbestand bei \dante},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {30--31},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:seitz:arbeitskreis,
+ author = {Peter Seitz},
+ title = {Arbeitskreis {\"O}ffentlichkeitsarbeit},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {31--32},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:theofel:12,
+ author = {Jan Theofel},
+ title = {12.\ {\TeX}-Tagung in Rosenheim -- Ein pers{\"o}nlicher
+ Bericht},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {32--35},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.1:hagen:status,
+ author = {Hans Hagen},
+ title = {The Status Quo of The NTS Project},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {36--53},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk01.1:niepraschk:make,
+ author = {Rolf Niepraschk},
+ title = {make -- nur etwas fr Profis?},
+ journal = dtk,
+ year = 2001,
+ volume = {1/01},
+ altvolume = 1,
+ altnumber = 13,
+ month = apr,
+ pages = {54--58},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk01.2:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2001,
+ volume = {2/01},
+ altvolume = 2,
+ altnumber = 13,
+ month = jul,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk01.2:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2001,
+ volume = {2/01},
+ altvolume = 2,
+ altnumber = 13,
+ month = jul,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.2:koch:einladung,
+ author = {Thomas Koch},
+ title = {Einladung zur 25.~Mitgliederversammlung von DANTE~e.V.},
+ journal = dtk,
+ year = 2001,
+ volume = {2/01},
+ altvolume = 2,
+ altnumber = 13,
+ month = jul,
+ pages = {5--6},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.2:gohdes:latexund,
+ author = {Michael Gohdes},
+ title = {{\LaTeX}\ und Chemie -- ein sch{\"o}nes Paar?},
+ journal = dtk,
+ year = 2001,
+ volume = {2/01},
+ altvolume = 2,
+ altnumber = 13,
+ month = jul,
+ pages = {7--19},
+ annote = bretter,
+ keywords = {},
+ abstract = { Dieser Artikel beschreibt M{\"o}glichkeiten, Texte
+ chemischen Inhalts mit {\LaTeX}\ zu setzen. Es wird
+ besonders auf die Frage eingegangen, wie chemische
+ Gleichungen und Strukturformeln in den Text eingebettet
+ werden k{\"o}nnen. Sowohl verschiedene {\LaTeX}-Pakete als
+ auch ein externes Programm werden vorgestellt. }
+}
+
+@Article{ dtk01.2:kohm:briefkoepfe,
+ author = {Markus Kohm},
+ title = {Briefk{\"o}pfe mit \KOMAScript},
+ journal = dtk,
+ year = 2001,
+ volume = {2/01},
+ altvolume = 2,
+ altnumber = 13,
+ month = jul,
+ pages = {19--40},
+ annote = bretter,
+ keywords = {},
+ abstract = { Wer eben mal rasch einen Brief schreiben will, st{\"o}rt
+ sich h{\"a}ufig daran, dass er erst eine gro{\ss}e
+ Pr{\"a}ambel zusammenbasteln oder seine
+ Standardpr{\"a}ambel aus einem alten Brief kopieren muss.
+ Soll dann je nach Brief eine Angabe mehr oder weniger im
+ Briefkopf gesetzt werden, muss man zudem jedesmal von neuem
+ {\"u}berlegen, wie dies oder jenes am besten erreicht wird.
+ Der Artikel soll zeigen, dass es auch anders geht: mit
+ einem Paket, das einmal alle Varianten implementiert und
+ durch Optionen ausw{\"a}hlbar macht. }
+}
+
+@Article{ dtk01.2:feuerstack:einfuehrung,
+ author = {Thomas Feuerstack},
+ title = {Einf\"uhrung in pdf{\TeX}},
+ journal = dtk,
+ year = 2001,
+ volume = {2/01},
+ altvolume = 2,
+ altnumber = 13,
+ month = jul,
+ pages = {41--54},
+ annote = bretter,
+ keywords = {},
+ abstract = { Der Artikel richtet sich an Interessierte und
+ Neueinsteiger, die mit Hilfe von pdf{\TeX}\ m\"oglichst
+ schnell PDF-Dokumente erstellen wollen, ohne sich vorab
+ intensiv mit Hintergrundwissen auseinandersetzen zu
+ m\"ussen. Dar\"uberhinaus sollen beim Erzeugen von
+ PDF-Dokumenten h\"aufig auftretende Probleme er\"ortert
+ sowie L\"osungswege aufgezeigt werden -- nat\"urlich ohne
+ Anspruch auf Vollst\"andigkeit. }
+}
+
+@Article{ dtk01.2:lazrek:package,
+ author = {Azzeddine Lazrek},
+ title = {A package for typesetting Arabic mathematical formulas},
+ journal = dtk,
+ year = 2001,
+ volume = {2/01},
+ altvolume = 2,
+ altnumber = 13,
+ month = jul,
+ pages = {54--66},
+ annote = bretter,
+ keywords = {},
+ abstract = { {\TeX} and its extension {\LaTeX} have been adapted to
+ handle passages of Arabic script. The package Arab{\TeX}
+ extends the capabilities of {\TeX} and {\LaTeX} to produce
+ documents containing passages in Arabic. A package that
+ extends Arab{\TeX} to typeset Arabic mathematical formulas,
+ with specific symbols and running from right to left, is
+ presented in this paper. }
+}
+
+@Article{ dtk01.2:geisse:handbook,
+ author = {Armin Geisse},
+ title = {"`Handbook of Typography for the Mathematical Sciences"'
+ von Steven G. Krantz},
+ journal = dtk,
+ year = 2001,
+ volume = {2/01},
+ altvolume = 2,
+ altnumber = 13,
+ month = jul,
+ pages = {67--70},
+ annote = rezension,
+ keywords = {},
+ abstract = { Mit seinem neuesten Buch m{\"o}chte Steven G. Krantz
+ Hilfestellung f{\"u}r Autoren in spe geben, die sich mit
+ dem Gedanken tragen, ein mathematisches Werk zu
+ ver{\"o}ffentlichen. In insgesamt sieben Kapiteln gibt
+ Krantz eine Einf{\"u}hrung in {\LaTeXTeX}, er erl{\"a}utert
+ den Produktionsprozess eines Buches und streift die
+ Grundlagen der Ver{\"o}ffentlichung im WWW. Trotz des
+ aktuellen Erscheinungsdatums beschreibt das Buch in
+ gro{\ss}en Teilen den Software-Stand vor 4--5~Jahren und
+ wurde nur sehr unvollst{\"a}ndig aktualisiert. Es leidet
+ unter vielen Wiederholungen und einer schlecht
+ strukturierten Aneinanderreihung der einzelnen Kapitel. }
+}
+
+@Article{ dtk01.3:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2001,
+ volume = {3/01},
+ altvolume = 2,
+ altnumber = 13,
+ month = sep,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk01.3:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2001,
+ volume = {3/01},
+ altvolume = 3,
+ altnumber = 13,
+ month = sep,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.3:thiel:emacs,
+ author = {Rainer Thiel},
+ title = {Emacs, Auc{\TeX}\ und MiK{\TeX}s \textsf{Yap} unter Windows},
+ journal = dtk,
+ year = 2001,
+ volume = {3/01},
+ altvolume = 3,
+ altnumber = 13,
+ month = sep,
+ pages = {6--14},
+ annote = bretter,
+ keywords = {},
+ abstract = { Wer die Vorteile eines Satzsystems wie {\LaTeXTeX} nutzen
+ will, muss auf die direkte Begutachtung seiner Arbeit auf
+ dem Bildschirm verzichten. M{\"o}glich ist dagegen ein
+ bequemer Editor-Compiler-Zyklus, der es erlaubt, vom
+ DVI-Viewer an die entsprechende Stelle im Quelltext zu
+ springen und umgekehrt. Der vorliegende Beitrag beschreibt
+ aus der Sicht eines mit den Interna von {\LaTeXTeX} kaum
+ vertrauten Anwenders, wie dies unter Windows mit
+ GNU-\textsf{Emacs} und MiK{\TeX} zu realisieren ist. }
+}
+
+@Article{ dtk01.3:lemberg:cjk-enc,
+ author = {Werner Lemberg},
+ title = {\texttt{cjk-enc} -- eine Schnittstelle zwischen
+ \texttt{Emacs} und {\LaTeX}},
+ journal = dtk,
+ year = 2001,
+ volume = {3/01},
+ altvolume = 3,
+ altnumber = 13,
+ month = sep,
+ pages = {14--23},
+ annote = bretter,
+ keywords = {},
+ abstract = { Im dem Artikel wird das Lisp-Programm \texttt{cjkenc.el}
+ beschrieben, eine Schnittstelle zwischen \texttt{Emacs} und
+ {\LaTeX}, welche die verschiedenen Zeichens\"atze von
+ \texttt{Emacs} in f\"ur {\LaTeX} verst"andliche Befehle
+ konvertiert. Urspr"unglich f\"ur ostasiatische Sprachen
+ entwickelt, wurde es inzwischen um europ\"aische
+ Zeichens\"atze (auch Russisch und Neugriechisch) erweitert.
+ \texttt{cjkenc.el} ist Teil des \texttt{CJK}-Pakets. }
+}
+
+@Article{ dtk01.3:jackson.voss:lyx,
+ author = {Laura E. Jackson and Herbert Vo{\ss}},
+ title = {LyX -- Open Source Document Processor, Teil 1},
+ journal = dtk,
+ year = 2001,
+ volume = {3/01},
+ altvolume = 3,
+ altnumber = 13,
+ month = sep,
+ pages = {24--45},
+ annote = bretter,
+ keywords = {},
+ abstract = { \LyX{} als sogenanntes Frontend zu {\LaTeX}, welches
+ wiederum ein Frontend zu {\TeX} ist, versucht etwas zu
+ optimieren, was {\LaTeX} selbst gar nicht leisten will:
+ eine hochwertiges Satzsystem wie {\TeX} einem an
+ tiefsinnigen typographischen Fragen relativ
+ uninteressierten Benutzer zug{\"a}nglich zu machen. \LyX{}
+ versteht sich daher auch nicht als Textprozessor, sondern
+ als Dokument-Prozessor, denn es verf{\"u}gt selbst {\"u}ber
+ keinerlei eigene Formatierungsm{\"o}glichkeiten, die
+ {\"u}ber die Bildschirmdarstellung hinausgehen.
+
+ Alle beschriebenen Eigenschaften von \LyX{} beziehen sich
+ auf die derzeit offizielle Version \LyX{} 1.1.6fix3. Eine
+ erheblich erweiterte Version 1.2 ist f{\"u}r dieses Jahr zu erwarten. }
+}
+
+@Article{ dtk01.3:nowacki:poligraf,
+ author = {Janusz Marian Nowacki},
+ title = {"`Poligraf"' oder "`Zwischen {\TeX}\ und der Druckerei"'
+ -- der zweite Versuch},
+ journal = dtk,
+ year = 2001,
+ volume = {3/01},
+ altvolume = 3,
+ altnumber = 13,
+ month = sep,
+ pages = {46--52},
+ annote = bretter,
+ keywords = {},
+ abstract = { W{\"a}hrend der IV. Konferenz "`Bacho{\TeX}\,'96"' der
+ polnischen {\TeX}-Benutzergruppe habe ich zum ersten Mal
+ das Makro-Paket \textsc{Poligraf} vorgestellt. Jetzt
+ m{\"o}chte ich eine neue Version ver{\"o}ffentlichen, in
+ die R{\"u}ckmeldungen und Verbesserungsvorschl{\"a}ge
+ eingeflossen sind. }
+}
+
+@Article{ dtk01.3:creutzig:indexverzeichnisse,
+ author = {Christopher Creutzig},
+ title = {Indexverzeichnisse mit \XINDY\ und \texttt{xindy.sty}~--
+ eine Einf{\"u}hrung},
+ journal = dtk,
+ year = 2001,
+ volume = {3/01},
+ altvolume = 3,
+ altnumber = 13,
+ month = sep,
+ pages = {53--60},
+ annote = bretter,
+ keywords = {},
+ abstract = { Indexverzeichnisse werden beim Arbeiten mit {\TeX}\
+ traditionell mit makeindex gesetzt. Dieses Programm hat
+ leider viele Einschr{\"a}nkungen, die das Erstellen der
+ Indizes kompliziert xindy ist ein Programm, das einen Teil
+ der Einschr{\"a}nkungen umgeht. Mit \texttt{xindy.sty} gibt
+ es nun auch eine einigerma{\ss}en komfortable
+ M{\"o}glichkeit, diese Funktionen direkt aus {\LaTeX}\
+ heraus zu nutzen. }
+}
+
+@Article{ dtk01.3:tex-merchandising-project:year2002,
+ author = {{\TeX} Merchandising Project, Martin Schr{\"o}der},
+ title = {Der {\textbackslash}year=2002 {\TeX}-Kalender},
+ journal = dtk,
+ year = 2001,
+ volume = {3/01},
+ altvolume = 3,
+ altnumber = 13,
+ month = sep,
+ pages = {61--62},
+ annote = fremdebuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.4:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk01.4:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.4:partosch:protokoll,
+ author = {G{\"u}nter Partosch},
+ title = {Protokoll der 28.~Mitgliederversammlung von DANTE~e.V. am
+ 28.~September 2001 in Kerkrade},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.4:hoeppner:tagung,
+ author = {Klaus H{\"o}ppner},
+ title = {Eine Tagung zwischen den L{\"a}ndern -- Euro{\TeX}\,2001
+ in Kerkrade},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.4:koch:einladung,
+ author = {Thomas Koch},
+ title = {Einladung zur {\TeX}-Tagung DANTE\,2002 und
+ 26.~Mitgliederversammlung von \dante},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk01.4:raichle:llllllletzte,
+ author = {Bernd Raichle},
+ title = {Der llllllletzte {\TeX}-Fehler?},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = bretter,
+ keywords = {},
+ abstract = { Karel Skoup\'y, der Implementierer von \NTS, fand am
+ 13.~Oktober 2000 den bislang letzten Fehler im Quellcode
+ von {\TeX}. Er verglich DVI-Dateien, die {\TeX} und das von
+ ihm in Java implementierte \NTS\ erzeugt hatten, und
+ wunderte sich, dass ein kleiner Unterschied auftrat: In der
+ von \NTS\ erzeugten DVI-Datei war genau ein Zeichen zuviel,
+ ein kleiner Punkt. Dieser zus{\"a}tzliche Punkt stellte
+ sich bei der anschlie{\ss}enden Untersuchung nicht als
+ Fehler von \NTS, sondern als Fehler im Quellcode von
+ {\TeX}, der die Anweisung \CMD{xleaders} realisiert,
+ heraus. Er wurde an Donald E.\ Knuth gemeldet. Da Knuth nur
+ in gr{\"o}{\ss}eren zeitlichen Abst{\"a}nden
+ Fehlermeldungen bearbeitet, steht eine Antwort noch aus. }
+}
+
+@Article{ dtk01.4:jackson.voss:-,
+ author = {Laura E. Jackson and Herbert Vo{\ss}},
+ title = {\LyX{} -- Open Source Document Processor, Teil 2},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = bretter,
+ keywords = {},
+ abstract = { Nachdem der erste Teil die prinzipiellen Eigenschaften
+ von \LyX{} behandelt hat, werden in diesem Teil unter
+ anderem die Ein-/Ausgabem{\"o}glichkeiten und einige
+ Beispiele angegeben. Die Kenntnis des ersten Teils ist zwar
+ nicht zwingende Voraussetzung f{\"u}r das Verst{\"a}ndnis
+ der im Folgenden behandelten M{\"o}glichkeiten im Umgang
+ mit \LyX, erleichtert jedoch wesentlich das Verst{\"a}ndnis. }
+}
+
+@Article{ dtk01.4:leibner:zur,
+ author = {Peter Leibner},
+ title = {Zur Dokumentation mit {\LaTeX} und Co.},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = bretter,
+ keywords = {},
+ abstract = { Anhand dieses Beitrags soll gezeigt werden, wie aus einer
+ Quelldatei \PS-, PDF- und HTML-Code erzeugt werden kann.
+ Der Beitrag kn{\"u}pft an den Artikel von Thomas
+ Feuerstack, erschienen in "`\DTK"' 2/2001, an. }
+}
+
+@Article{ dtk01.4:kiefel:latex,
+ author = {Volker Kiefel},
+ title = {{\LaTeX} als normales "`Schreibwerkzeug"' im Alltag},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = bretter,
+ keywords = {},
+ abstract = { Au{\ss}erhalb der klassischen {\TeX}-Anwendungsbereiche
+ spielt {\LaTeX}\ als Software zum Erstellen von Dokumenten
+ aller Art offensichtlich eine eher nachgeordnete Rolle.
+ Dabei weist {\LaTeX}\ eine Reihe von Vorz{\"u}gen auf, die
+ es als Alternative zu den weit verbreiteten kommerziellen
+ Produkten empfehlen. Unerwartete Hindernisse k{\"o}nnen
+ sich allerdings dann ergeben, wenn man unter {\LaTeX}\
+ erstellte Manuskripte in elektronischer Form einer
+ Zeitschrift beispielsweise im Bereich der Biowissenschaften
+ "`andienen"' m{\"o}chte. F{\"u}r dieses und {\"a}hnliche
+ Probleme lassen sich jedoch L{\"o}sungen finden. Dieser
+ kurze Erfahrungsbericht ist als Anregung f{\"u}r diejenigen
+ gedacht, die mit {\LaTeX}\ noch keine Erfahrung gesammelt
+ haben und die zumindest teilweise eine Einbeziehung von
+ {\LaTeX}\ in die Erledigung ihrer t{\"a}glichen
+ Schreibarbeit erw{\"a}gen oder die gerade beginnen,
+ {\LaTeX}\ zu verwenden. Der erfahrene {\LaTeX}-Anwender
+ wird im Folgenden dagegen nicht viel Neues finden. }
+}
+
+@Article{ dtk01.4:obermiller:latex2e,
+ author = {Walter Obermiller},
+ title = {"`{\LaTeXe} -- Tipps \& Tricks"' von Ingo Kl{\"o}ckl},
+ journal = dtk,
+ year = 2001,
+ volume = {4/01},
+ altvolume = 4,
+ altnumber = 13,
+ month = nov,
+ pages = {},
+ annote = rezension,
+ keywords = {}
+}
+
+@Article{ dtk02.1:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk02.1:koch.schaa:grusswort,
+ author = {Thomas Koch and Volker RW Schaa},
+ title = {Gru{\ss}wort, 2. Teil},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.1:beuermann:erstellung,
+ author = {Sascha Beuermann},
+ title = {Erstellung von leistungsf{\"a}higen PDF-Dokumenten},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {},
+ annote = bretter,
+ keywords = {},
+ abstract = { In diesem Artikel werden die M{\"o}glichkeiten
+ aufgezeigt, die die Pakete \texttt{hyperref} und
+ \texttt{thumbpdf} bieten, um mit Hilfe von {\LaTeX}\
+ leistungsf{\"a}hige Dokumente im Portable Document Format
+ (PDF) zu erstellen. Dabei wird insbesondere auf das
+ Erzeugen von Lesezeichen (Bookmarks), auf PDF-spezifische
+ Anzeigeoptionen sowie auf das Anlegen von
+ Hypertext-Strukturen mit Hilfe des Pakets \texttt{hyperref}
+ und auf die Generierung der Seitenvorschau (Piktogramme
+ oder Thumbnails) mit dem Paket \texttt{thumbpdf}
+ eingegangen. Abschlie{\ss}end wird die Linearisierung und
+ Verschl{\"u}sselung von PDF-Dokumenten behandelt. }
+}
+
+@Article{ dtk02.1:siart:ansprechende,
+ author = {Uwe Siart},
+ title = {Ansprechende technische Illustration mit \MP},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {},
+ annote = bretter,
+ keywords = {},
+ abstract = { \MP\ ist eine Grafik-Beschreibungssprache zur Erstellung
+ qualitativ hochstehender Vektorzeichnungen. Obwohl der
+ Compiler in praktisch allen modernen {\TeX}-Distributionen
+ enthalten ist, findet \MP\ noch relativ wenig Beachtung.
+ \MP\ ist besonders geeignet zur Erstellung von
+ Strichzeichnungen, wie sie in Naturwissenschaft und Technik
+ h{\"a}ufig auftreten. Dabei erzeugt es besonders schlanke
+ Bilddateien, deren Format praktisch identisch zu EPS ist.
+ Allerdings werden Ressourcen, die das {\TeX}-Dokument
+ ohnehin einbindet, einfach weggelassen. Die angef{\"u}hrten
+ Beispiele stammen -- wie auch der Autor -- aus dem
+ ingenieurwissenschaftlich-technischen Bereich. Sie sollen
+ einige F{\"a}higkeiten von \MP\ aufzeigen und den Leser
+ ermutigen, seine eigenen Anwendungsgebiete f{\"u}r \MP\ zu suchen. }
+}
+
+@Article{ dtk02.1:voss:mathematischen,
+ author = {Herbert Vo{\ss}},
+ title = {Die mathematischen Funktionen von Postscript},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {},
+ annote = bretter,
+ keywords = {},
+ abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im
+ Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es
+ darum geht zu beurteilen, was es denn nun im eigentlichen
+ Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass
+ sich mit den \PS-Funktionen viele Dinge erledigen lassen,
+ bei denen sonst auf externe Programme zur{\"u}ckgegriffen
+ wird. Dies wird im Folgenden f{\"u}r die mathematischen
+ Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot}
+ gezeigt. }
+}
+
+@Article{ dtk02.1:lickert:latex,
+ author = {Knut Lickert},
+ title = {"`{\LaTeX} echt einfach"' von Roland Willms},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {},
+ annote = rezension,
+ keywords = {}
+}
+
+@Article{ dtk02.2:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {3--4},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk02.2:schaa.hoeppner:grusswort,
+ author = {Volker RW Schaa and Klaus H{\"o}ppner},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {5--6},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.2:partosch:beschluesse,
+ author = {G{\"u}nter Partosch},
+ title = {Beschl{\"u}sse der 26.~Mitgliederversammlung von
+ DANTE~e.V. am 23.~Februar 2002 in Erlangen},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {7--10},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.2:christine-detig:bericht,
+ author = {Christine Detig, Johannes H{\"u}sing, Harald K{\"o}nig},
+ title = {Bericht der Kassenpr{\"u}fer},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {10--13},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.2:szillat:finanzbericht,
+ author = {Horst Szillat},
+ title = {Finanzbericht 2001},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {13--17},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.2:partosch:vereinsinterne,
+ author = {G{\"u}nter Partosch},
+ title = {Vereinsinterne Kommunikation per E-Mail},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {18--20},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.2:schaa:lizenzabkommen,
+ author = {Volker RW Schaa},
+ title = {Lizenzabkommen f{\"u}r \WinEdt{}},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {20--21},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.2:ingold:dante2002,
+ author = {Gert-Ludwig Ingold},
+ title = {DANTE\,2002},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {21--25},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.2:schaa.wilhelms:einladung,
+ author = {Volker RW Schaa and Gerhard Wilhelms},
+ title = {Einladung zur Herbsttagung und 27.~Mitgliederversammlung
+ von \dante},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {25--26},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.2:jackson.voss:plot-funktionen,
+ author = {Laura E. Jackson and Herbert Vo{\ss}},
+ title = {Die Plot-Funktionen von {\texttt{pst-plot}}},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {27--34},
+ annote = bretter,
+ keywords = {},
+ abstract = { Im letzten Heft wurden die mathematischen Funktionen von
+ \PS~im Zusammenhang mit dem {\LaTeX}-Paket
+ \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben
+ und durch Beispiele erl{\"a}utert. In diesem Teil werden
+ die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r
+ externe Daten behandelt. }
+}
+
+@Article{ dtk02.2:niepraschk:tipps,
+ author = {Rolf Niepraschk},
+ title = {Tipps und Tricks: Mehrfachverweis auf Fu{\ss}noten},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {34},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk02.2:jaeger.koglin:rechtliche,
+ author = {Till Jaeger and Olaf Koglin},
+ title = {Der rechtliche Schutz von Fonts},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {35--46},
+ annote = bretter,
+ keywords = {},
+ abstract = { Trotz ihrer wirtschaftlich durchaus gro{\ss}en Bedeutung
+ haben Computerschrifttypen, Fonts genannt, bislang in der
+ juristischen Lehre und Rechtsprechung keine besondere Rolle
+ gespielt. Dies {\"u}berrascht, da inzwischen ein
+ Gro{\ss}teil aller Druckerzeugnisse mit Hilfe
+ computerisierter Printverfahren hergestellt wird und den
+ Schrifttypen dabei hinsichtlich {\"A}sthetik und guter
+ Lesbarkeit ein wesentlicher Einfluss zukommt. F{\"u}r die
+ Erstellung eines qualitativ hochwertigen
+ Schriftzeichensatzes ist ein enormer handwerklicher,
+ bisweilen auch k{\"u}nstlerischer Aufwand erforderlich.
+
+ Mit einem Urteil des LG K{\"o}ln wurde -- soweit
+ ersichtlich -- erstmals durch ein deutsches Gericht zur
+ Schutzf{\"a}higkeit von Fonts im Rahmen der
+ Immaterialg{\"u}terrechtsordnung Stellung genommen und
+ dabei nicht nur die Schutzf{\"a}higkeit auf der Grundlage
+ des Schriftzeichengesetzes angenommen, sondern Fonts auch
+ als Computer\-programme gem. \S{}~69a UrhG f{\"u}r
+ urheberrechtsf{\"a}hig angesehen.
+
+ Der vorliegende Beitrag soll die unterschiedlichen
+ rechtlichen Schutzm{\"o}glichkeiten aufzeigen. Dabei wird
+ dargelegt, dass es tr{\"u}gerisch sein kann, sich auf den
+ urheberrechtlichen Schutz von Fonts zu verlassen. }
+}
+
+@Article{ dtk02.2:neugebauer:tipps,
+ author = {Gerd Neugebauer},
+ title = {Tipps und Tricks: Illustrationen f{\"u}r {\LaTeX}
+ erstellen},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {46--48},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk02.3:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk02.3:schaa.hoeppner:grusswort,
+ author = {Volker RW Schaa and Klaus H{\"o}ppner},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {4},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.3:weibezahn:tex-tagung,
+ author = {Roland Weibezahn},
+ title = {{\TeX}-Tagung DANTE\,2003 in Bremen -- Einladung und Call
+ for Papers},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {5--6},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.3:herrmann:poster,
+ author = {Rudolf Herrmann},
+ title = {Poster im Format DIN A0 mit {\texttt{a0poster}} und
+ {\texttt{textpos}}},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {7--19},
+ annote = bretter,
+ keywords = {},
+ abstract = { Die Entstehung eines Posters im Format DIN~A0 zur
+ Pr{\"a}sentation auf einer wissenschaftlichen Tagung wird
+ verfolgt. Es werden die {\LaTeX}-Bordmittel sowie die
+ Pakete \texttt{a0poster} und \texttt{textpos} eingesetzt.
+ Alternative Vorgehensweisen werden kurz diskutiert. }
+}
+
+@Article{ dtk02.3:skoupy:extending,
+ author = {Karel Skoup{\'y}},
+ title = {Extending \NTS{} (by
+ {\texttt{X\kern-.14em\lower.5ex\hbox{T}\kern-.14em\raise.2ex\hbox{S}}})}
+ ,
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {19--31},
+ annote = bretter,
+ keywords = {},
+ abstract = { The article evaluates the experience gained from
+ extending \NTS. Two simple extensions are mentioned and a
+ more complicated one is studied in more detail. It involves
+ an abstract model of line-breaking and its application to
+ the \emph{paragraph-breaking into a fixed orthogonal
+ polygon shape}. It shows that extensions of \NTS\ are
+ feasible and discusses the different aspects of making
+ extensions and/or changes. }
+}
+
+@Article{ dtk02.3:niepraschk:tipps,
+ author = {Rolf Niepraschk},
+ title = {Tipps und Tricks: Tierkunde einmal anders},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {31--33},
+ annote = bretter,
+ keywords = {},
+ abstract = { }
+}
+
+@Article{ dtk02.3:vo:gauss-sty,
+ author = {Herbert Vo},
+ title = {{\texttt{gauss.sty}} -- Visualisierung des Gauschen
+ Eliminationsverfahrens},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {34--40},
+ annote = bretter,
+ keywords = {},
+ abstract = {Die Zahl der vorhanden \LaTeX-Pakete ist sicherlich
+ endlich, wenn man auch manchmal den gegenteiligen Eindruck
+ hat. Neben den mehr oder weniger bekannten Paketen gibt es
+ eine erhebliche Anzahl, die einem groen Anwenderkreis
+ deswegen nicht bekannt sind, weil deren Anwendung hufig
+ sehr speziell ist. Dazu gehrt sicherlich das Paket
+ \texttt{gauss}, welches nur sehr spezielle Wnsche erfllt,
+ die im Folgenden an Beispielen beschrieben werden. }
+}
+
+@Article{ dtk02.3:benischke:hllen,
+ author = {Florian Benischke},
+ title = {Hllen fr Musikkassetten},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {41--43},
+ annote = bretter,
+ keywords = {},
+ abstract = {Mit Hilfe von \texttt{mceinleger.sty} lassen sich Hllen
+ und Einleger fr Musikkassetten erstellen. Dieser Artikel
+ soll dieses Paket vorstellen und seine Benutzung
+ erleichtern. Unter "`Hlle"' wird in diesem Zusammenhang
+ eine Einlage fr Musikkassetten verstanden, die aus einer
+ Vorder-, Schmal- und Rckseite besteht, ein "`Einleger"'
+ umfasst zustzlich noch eine einklappbare Seite, die an die
+ Vorderseite anschliet. }
+}
+
+@Article{ dtk02.3:niepraschk:tipps*1,
+ author = {Rolf Niepraschk},
+ title = {Tipps und Tricks: Fette Schreibmaschinenschrift},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {43--44},
+ annote = bretter,
+ keywords = {},
+ abstract = {}
+}
+
+@Article{ dtk02.3:lickert.vieth:eurobachotex2002,
+ author = {Knut Lickert and Ulrik Vieth},
+ title = {{EuroBacho\TeX\ 2002} in Bachotek/Polen},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {45--53},
+ annote = beiprogramm,
+ keywords = {},
+ abstract = {Vom 29.\ April bis zum 3.\ Mai 2002 fand in Bachotek die
+ 13.\ Euro\TeX, zugleich die 10.\ Bacho\TeX\ statt. Dieser
+ Bericht bietet eher einen (subjektiven) Eindruck ber die
+ Tagung.}
+}
+
+@Article{ dtk02.3:niepraschk:tipps*2,
+ author = {Rolf Niepraschk},
+ title = {Tipps und Tricks: PDF-Datei vorhanden -- Brosch{\"u}re
+ gew{\"u}nscht},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {53--55},
+ annote = beiprogramm,
+ keywords = {},
+ abstract = {}
+}
+
+@Article{ dtk02.3:sieger:tipps,
+ author = {Rainer Sieger},
+ title = {Tipps und Tricks: Kartenerstellung mit PanMap},
+ journal = dtk,
+ year = 2002,
+ volume = {3/02},
+ altvolume = 3,
+ altnumber = 14,
+ month = oct,
+ pages = {55--58},
+ annote = beiprogramm,
+ keywords = {},
+ abstract = {In der Zeitschrift "`\DTK"' 2/2002 erschien in der Rubrik
+ Tipps und Tricks ein Artikel von Gerd Neugebauer ber die
+ Erstellung von Illustrationen fr \LaTeX. Als Beispiel
+ wurde die Entwicklung einer Landkarte dargestellt. Mit
+ Hilfe des Programms PanMap kann der Teil der reinen
+ Kartenerstellung erheblich vereinfacht werden.}
+}
+
+@Article{ dtk02.4:neugebauer:editorial,
+ author = {Gerd Neugebauer},
+ title = {Editorial},
+ journal = dtk,
+ year = 2002,
+ volume = {4/02},
+ altvolume = 4,
+ altnumber = 14,
+ month = dec,
+ pages = {3},
+ annote = editorial,
+ keywords = {}
+}
+
+@Article{ dtk02.4:hoeppner:grusswort,
+ author = {Klaus H{\"o}ppner},
+ title = {Gru{\ss}wort},
+ journal = dtk,
+ year = 2002,
+ volume = {4/02},
+ altvolume = 4,
+ altnumber = 14,
+ month = dec,
+ pages = {4--5},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.4:partosch:beschluesse,
+ author = {G{\"u}nter Partosch},
+ title = {Beschl{\"u}sse der 27.~Mitgliederversammlung von {\dante}
+ am 5.~Oktober 2002 in Augsburg},
+ journal = dtk,
+ year = 2002,
+ volume = {4/02},
+ altvolume = 4,
+ altnumber = 14,
+ month = dec,
+ pages = {6--9},
+ annote = hinterbuehne,
+ keywords = {}
+}
+
+@Article{ dtk02.4:kastrup:latex,
+ author = {David Kastrup},
+ title = {{\LaTeX} und WYSIWYG? -- {preview-latex} unter Emacs und
+ andere Ans{\"a}tze},
+ journal = dtk,
+ year = 2002,
+ volume = {4/02},
+ altvolume = 4,
+ altnumber = 14,
+ month = dec,
+ pages = {10--26},
+ annote = bretter,
+ keywords = {},
+ abstract = { Der anweisungsbasierte Typensatz mit {\TeX}/{\LaTeX}\ hat
+ seine Leistungsf{\"a}higkeit und Flexibilit{\"a}t f{\"u}r
+ eine Vielzahl von Anwendungen wiederholt unter Beweis
+ gestellt. Es wird aber der Mangel an unmittelbarem
+ visuellen Feedback nicht nur bei Anf{\"a}ngern oft als ein
+ Manko bei der Dokumenterstellung und der Korrektur
+ empfunden.
+
+ Es existieren mittlerweile eine Reihe von Versuchen, dieses
+ Problem anzugehen, angefangen bei einfachen token-basierten
+ Ans{\"a}tzen (Syntax Highlighting, Spezialzeichens{\"a}tze
+ wie mit \texttt{xsymbol}) bis hin zu kompletten
+ Textverarbeitungssystemen (\LyX{} und {\TeX}macs), die
+ {\LaTeX}\ im Wesentlichen nur als Exportsprache nutzen.
+
+ Eine weitere Klasse von Werkzeugen konzentriert sich nicht
+ auf das Editieren, sondern auf schnellen Zugriff auf die
+ gesetzte Form, meist als seitenorientierte Vorschau in
+ einem separaten Fenster (whizzy\TeX, Instant~Preview). Zwar
+ ist die Verarbeitungsgeschwindigkeit dieser Varianten auf
+ heutigen Systemen mehr als ausreichend, dennoch bleibt das
+ Bed{\"u}rfnis nach einer engeren Kopplung von Quelltext und
+ Vorschau beim Editieren. "`Source Specials"' sind ein
+ Werkzeug f{\"u}r eine solche Querverbindung. Das
+ preview-latex-Paket des Autors stellt eine wesentlich
+ engere Kopplung durch die direkte Platzierung von
+ Vorschauelementen im Quelltext bereit. }
+}
+
+@Article{ dtk02.4:niepraschk:tipps,
+ author = {Rolf Niepraschk},
+ title = {Tipps und Tricks: Immer im Rahmen bleiben},
+ journal = dtk,
+ year = 2002,
+ volume = {4/02},
+ altvolume = 4,
+ altnumber = 14,
+ month = dec,
+ pages = {27--28},
+ annote = bretter,
+ keywords = {}
+}
+
+@Article{ dtk02.4:kohm:satzspiegelkonstruktionen,
+ author = {Markus Kohm},
+ title = {Satzspiegelkonstruktionen im Vergleich},
+ journal = dtk,
+ year = 2002,
+ volume = {4/02},
+ altvolume = 4,
+ altnumber = 14,
+ month = dec,
+ pages = {28--48},
+ annote = bretter,
+ keywords = {},
+ abstract = { Die Konstruktion von Satzspiegeln, also die Bestimmung
+ des Textbereichs auf der Seite, ist eine Kunst, die seit
+ dem Mittelalter von Profis gepflegt wird. Im Laufe der Zeit
+ wurden viele unterschiedliche Verfahren ersonnen,
+ verworfen, vergessen, aber auch weiterentwickelt und
+ dokumentiert. Einige dieser Verfahren sind mit Schlagworten
+ belegt, die sie legend{\"a}r machen. Obwohl angeblich an
+ jeder Legende auch etwas Wahres ist, birgt die
+ Legendenbildung auch Gefahren. Es gilt daher, Legende und
+ Wirklichkeit miteinander zu vergleichen. }
+}
+
+@Article{ dtk02.4:morawski:alt,
+ author = {Jens-Uwe Morawski},
+ title = {Aus alt mach neu -- {\MP} Recycling},
+ journal = dtk,
+ year = 2002,
+ volume = {4/02},
+ altvolume = 4,
+ altnumber = 14,
+ month = dec,
+ pages = {48--62},
+ annote = bretter,
+ keywords = {},
+ abstract = { \MP{} ist durch seinen vielf{\"a}ltigen Funktionsvorrat
+ und durch seine gute Integration in das {\TeX}-System ein
+ gern genutztes Werkzeug f{\"u}r ansprechende
+ Illustrationen. Dieser Artikel zeigt, wie mit geringem
+ Aufwand bereits vorhandene \MP-Arbeiten in eine neue Grafik
+ integriert werden k{\"o}nnen. }
+}
+
+@Article{ dtk02.4:tex-merchandising-project:year2003,
+ author = {{\TeX} Merchandising Project, Martin Schr{\"o}der},
+ title = {Der {\textbackslash}year=2003 {\TeX} Kalender},
+ journal = dtk,
+ year = 2002,
+ volume = {4/02},
+ altvolume = 4,
+ altnumber = 14,
+ month = dec,
+ pages = {63--64},
+ annote = fremdebuehne,
+ keywords = {}
+}
diff --git a/Master/texmf-dist/bibtex/bib/figbib/figbib_sample.bib b/Master/texmf-dist/bibtex/bib/figbib/figbib_sample.bib
new file mode 100644
index 00000000000..c45869bbfa0
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/figbib/figbib_sample.bib
@@ -0,0 +1,18 @@
+
+@fig{smiley1,
+ main = {This is a smiley},
+ add = {The additional description is meaningless},
+ caption = {Smiley},
+ file = {smiley}
+}
+
+@fig{smiley2,
+ main = {Here is the smiley again},
+ file = {smiley}
+}
+
+@fig{smiley3,
+ main = {Yet another smiley},
+ file = {smiley},
+ source = {(top secret)}
+}
diff --git a/Master/texmf-dist/bibtex/bib/gatech-thesis/example-thesis.bib b/Master/texmf-dist/bibtex/bib/gatech-thesis/example-thesis.bib
new file mode 100644
index 00000000000..71733b30602
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/gatech-thesis/example-thesis.bib
@@ -0,0 +1,138 @@
+@BOOK{knuth:tex,
+ AUTHOR = "Donald E. Knuth",
+ TITLE = "The {\TeX} Book",
+ PUBLISHER = {Addison-Wesley},
+ YEAR = "1984",
+ ADDRESS = {Reading, Massachusetts},
+ NOTE = {Reprinted as Vol. A of {\it Computers \& Typesetting\/}, 1986}
+}
+
+@BOOK{knuth:pgm,
+ AUTHOR = "Donald E. Knuth",
+ TITLE = "{\TeX}: The Program",
+ PUBLISHER = {Addison-Wesley},
+ YEAR = "1986",
+ VOLUME = {B},
+ SERIES = {Computers \& Typesetting},
+ ADDRESS = {Reading, Massachusetts}
+}
+
+@TECHREPORT{knuth:web,
+ AUTHOR = {Donald E. Knuth},
+ TITLE = {The {WEB} System for Structured Documentation, Version 2.3},
+ INSTITUTION = {Computer Science Department, Stanford University},
+ YEAR = {1983},
+ NUMBER = {STAN-CS-83-980},
+ ADDRESS = {Stanford, California},
+ MONTH = Sep
+}
+
+@ARTICLE{knuth:lp,
+ AUTHOR = {Donald E. Knuth},
+ TITLE = {Literate Programming},
+ JOURNAL = {The Computer Journal},
+ YEAR = {1984},
+ VOLUME = {27},
+ NUMBER = {2},
+ PAGES = {97--111},
+ MONTH = May
+}
+
+@TECHREPORT{knuth:tor,
+ AUTHOR = {Donald E. Knuth},
+ TITLE = {A Torture Test for {\TeX}, Version 1.3},
+ INSTITUTION = {Computer Science Department, Stanford University},
+ YEAR = {1984},
+ NUMBER = {STAN-CS-84-1027},
+ ADDRESS = {Stanford, California},
+ MONTH = Nov
+}
+
+@ARTICLE{furuta:pctex,
+ AUTHOR = "Richard K. Furuta and Pierre A. MacKay",
+ TITLE = "Two {\TeX} Implementations for the {IBM PC}",
+ JOURNAL = "Dr. Dobb's Journal",
+ YEAR = "1985",
+ VOLUME = "10",
+ NUMBER = "9",
+ PAGES = "80--91",
+ MONTH = Sep
+}
+
+@TECHREPORT{des:tex,
+ AUTHOR = {Jacques D{\'e}sarm{\'e}nien},
+ TITLE = {How to Run {\TeX} in French},
+ INSTITUTION = {Computer Science Department, Stanford University},
+ YEAR = {1984},
+ NUMBER = {SATN-CS-1013},
+ ADDRESS = {Stanford, California},
+ MONTH = Aug
+}
+
+@TECHREPORT{samuel:tex,
+ AUTHOR = "Arthur L. Samuel",
+ TITLE = "First Grade {\TeX}: A Beginner's {\TeX} Manual",
+ INSTITUTION = {Computer Science Department, Stanford University},
+ YEAR = "1983",
+ NUMBER = "SATN-CS-83-985",
+ ADDRESS = {Stanford, California},
+ MONTH = Nov
+}
+
+@BOOK{lamport:latex,
+ AUTHOR = {Leslie Lamport},
+ TITLE = {{\LaTeX}: A Document Preparation System. User's Guide and
+ Reference Manual},
+ PUBLISHER = {Addison-Wesley},
+ YEAR = {1986},
+ ADDRESS = {Reading, Massachusetts}
+}
+
+@BOOK{spivak:ams,
+ AUTHOR = {Michael D. Spivak},
+ TITLE = {The Joy of {\TeX}},
+ PUBLISHER = {American Mathematical Society},
+ YEAR = {1985}
+}
+
+@MANUAL{patashnik:bibtex,
+ TITLE = "Bib{\TeX}ing",
+ AUTHOR = "Oren Patashnik",
+ ORGANIZATION = {Computer Science Department, Stanford University},
+ ADDRESS = {Stanford, California},
+ MONTH = jan,
+ YEAR = "1988",
+ NOTE = {Available in the Bib{\TeX} release}
+}
+
+@MANUAL{patashnik:bibhax,
+ TITLE = {Designing Bib{\TeX} Styles},
+ AUTHOR = {Oren Patashnik},
+ ORGANIZATION = {Computer Science Department, Stanford University},
+ MONTH = jan,
+ YEAR = {1988}
+}
+
+@ARTICLE{fuchs:dvi0,
+ AUTHOR = "David Fuchs",
+ TITLE = "The Format of {\TeX}'s {DVI} Files Version 1",
+ JOURNAL = "TUGboat",
+ YEAR = "1981",
+ VOLUME = "2",
+ NUMBER = "2",
+ PAGES = "12--16",
+ MONTH = Jul
+}
+
+@ARTICLE{fuchs:dvi,
+ AUTHOR = "David Fuchs",
+ TITLE = "Device Independent File Format",
+ JOURNAL = "TUGboat",
+ YEAR = "1982",
+ VOLUME = "3",
+ NUMBER = "2",
+ PAGES = "14--19",
+ MONTH = Oct
+}
+
+
diff --git a/Master/texmf-dist/bibtex/bib/geomsty/manual.bib b/Master/texmf-dist/bibtex/bib/geomsty/manual.bib
new file mode 100644
index 00000000000..21c2034ad38
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/geomsty/manual.bib
@@ -0,0 +1,69 @@
+@book{Lamport,
+ author="Leslie Lamport",
+ title="\LaTeX: {A} Document Preparation System",
+ publisher="Addison-Wesley",
+ address="Reading, MA",
+ year = "1986"
+}
+
+@unpublished{amslatex,
+ author="{American Mathematical Society}",
+ title="\amslatex/ Version 1.1 User's Guide (1991)",
+ address="Providence",
+ note="Distributed with the software
+ (use anonymous ftp from {\tt e-math.ams.com})"
+}
+
+@unpublished{psfig,
+ author="Trevor Darrell",
+ title="{Psfig/\TeX} 1.8 Users Guide (1991)",
+ address="Boston",
+ note="Distributed with the software
+ (use anonymous ftp from {\tt whitechapel.media.mit.edu})"
+}
+
+@book{epstein:WordProcessing,
+ author="David B. A. Epstein and
+ Jim Cannon and Silvio Levy and Derek Holt and Mike Paterson and
+ William Thurston",
+ title="Word Processing in Groups",
+ address="Boston",
+ year="1992",
+ publisher="Jones and Bartlett"
+}
+
+@article{Mittelbach,
+ author="Frank Mittelbach",
+ title="An environment for multi-column output",
+ journal="TUGboat",
+ year="1989",
+ volume="10",
+ pages="407--415"
+}
+
+
+@unpublished{rokicki,
+ author="Tom Rokicki",
+ title="{DVIPS}: A {\TeX} driver (version 5.490, 1992)",
+ address="Stanford",
+ note="Distributed with the software
+ (use anonymous ftp from {\tt labrea.stanford.edu})"
+}
+
+
+@book{illustrator,
+ author="Mike Schuster and others",
+ title="Adobe Illustrator",
+ address="Palo Alto, CA",
+ publisher="Adobe Systems",
+ year="1988"
+}
+
+@book{wolfram,
+ author="Stephen Wolfram",
+ title="Mathematica: A System for Doing Mathematics by Computer",
+ address="Reading, MA",
+ publisher="Addison-Wesley",
+ edition="2nd",
+ year="1991"
+}
diff --git a/Master/texmf-dist/bibtex/bib/germbib/README.bibgerm b/Master/texmf-dist/bibtex/bib/germbib/README.bibgerm
new file mode 100644
index 00000000000..c144d5eaf54
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/germbib/README.bibgerm
@@ -0,0 +1,24 @@
+REAMDE to bibgerm.sty
+=====================
+
+History:
+
+- Macros for german `BibTeX'ing added to Style Option `german' 20 Apr 1993
+ idea and languages `german' and `USenglish' implemented by M. Wallmeier
+- Modified for LaTeX 2e and german.sty 2.5b by A. Scherer 1 Nov 1995
+- Modified for ngerman.sty and babel.sty by H. Harders 21 August 2000
+
+
+The package bibgerm.sty now supports the language packages ngerman.sty and
+babel.sty.
+If using LaTeX2e you can load either german.sty, ngerman.sty or babel.sty
+before or after bibgerm.sty. If none of these packages is used bibgerm
+behaves as before and loads german.sty.
+If using LaTeX 2.09 you can load german.sty or ngerman.sty _before_
+bibgerm.sty.
+
+The file test/testbibgerm.tex tests the new version of bibgerm.sty.
+
+2000-08-21
+Harald harders
+h.harders@tu-bs.de
diff --git a/Master/texmf-dist/bibtex/bib/germbib/gerbibtx.bib b/Master/texmf-dist/bibtex/bib/germbib/gerbibtx.bib
new file mode 100644
index 00000000000..27cba726213
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/germbib/gerbibtx.bib
@@ -0,0 +1,54 @@
+
+@UNPUBLISHED{bibtex.a,
+ author = "Oren Patashnik",
+ title = "{{\BibTeX ing}}",
+ note = "Documentation for general {\BibTeX} users",
+ month = "8$^{th}$~" # feb,
+ language = "USenglish",
+ year = 1988, }
+
+@UNPUBLISHED{bibtex.b,
+ author = "Oren Patashnik",
+ title = "Designing {\BibTeX} Styles",
+ note = "The part of \BibTeX's documentation
+ that's not meant for general users",
+ month = "8$^{th}$~" # feb,
+ language = "USenglish",
+ year = 1988, }
+
+@BOOK{texbook,
+ author = "Donald E. Knuth",
+ title= "The {{\tex}book}",
+ publisher = "Addison-Wesley Publishing Company",
+ address = "Reading, Massachusetts",
+ language = "USenglish",
+ year = 1984 }
+
+@BOOK{lamport,
+ author = "Leslie Lamport",
+ title = "{\LaTeX \rm:} {A} Document Preparation System",
+ publisher = "Addison-Wesley Publishing Company",
+ address = "Reading, Massachusetts",
+ language = "USenglish",
+ year = 1986 }
+
+@BOOK{kopka,
+ language = "german",
+ author = "Helmut Kopka",
+ title = "{\LaTeX} --- Eine Einf{\"{u}}hrung",
+ publisher = "Addison-Wesley (Deutschland) GmbH",
+ address = "Bonn; Reading, Massachusetts",
+ year = 1988,
+ note = "Das deutsche Standardwerk {\"{u}}ber {\latex}",
+ }
+
+@UNPUBLISHED{partl,
+ language = "german",
+ author = "Hubert Partl",
+ address = "Technische Universit{\"{a}}t Wien",
+ title = "{\normalshape\tt german.sty} --- Version 2.3d",
+ month = "21.~" # nov,
+ year = 1990,
+ note = "Erh{\"{a}}ltlich {\"{u}}ber DANTE (Deutsche Anwendervereinigung
+ {\TeX} e.\,\,V.): Bitnet server {\tt LISTSERV@DHDURZ1}",
+}
diff --git a/Master/texmf-dist/bibtex/bib/germbib/gerxampl.bib b/Master/texmf-dist/bibtex/bib/germbib/gerxampl.bib
new file mode 100644
index 00000000000..8ef6df3ecc4
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/germbib/gerxampl.bib
@@ -0,0 +1,359 @@
+@preamble{ "\newcommand{\noopsort}[1]{} "
+ # "\newcommand{\printfirst}[2]{#1} "
+ # "\newcommand{\singleletter}[1]{#1} "
+ # "\newcommand{\switchargs}[2]{#2#1} " }
+
+@ARTICLE{article-minimal,
+ author = {Leslie Andrew Aamport},
+ title = {Das System f{\"u}r die Vorbereitung von Dokumentationen {\"u}ber Gnats und Gnus},
+ journal = {Die Haustier-Zeitschrift},
+ year = 1986,
+ language = "german"
+}
+
+@ARTICLE{article-full,
+ author = {Leslie Andrew Aamport},
+ title = {Das System f{\"u}r die Vorbereitung von Dokumentationen {\"u}ber Gnats und Gnus},
+ journal = {Die Haustier-Zeitschrift},
+ year = 1986,
+ volume = 41,
+ number = 7,
+ pages = "73\,ff.",
+ month = jul,
+ note = "Dies ist ein vollst{\"a}ndiger ARTICLE-Eintrag",
+}
+
+The KEY field is here to override the KEY field in the journal being
+cross referenced (so is the NOTE field, in addition to its imparting
+information).
+
+@ARTICLE{article-crossref,
+ crossref = {WHOLE-JOURNAL},
+ key = "",
+ author = {Leslie Andrew Aamport},
+ title = {Das System f{\"u}r die Vorbereitung von Dokumentationen {\"u}ber Gnats und Gnus},
+ pages = "73\,ff.",
+ note = "Dies ist ein querverweisender ARTICLE-Eintrag",
+}
+
+@ARTICLE{whole-journal,
+ key = "GAJ",
+ journal = {Die Haustier-Zeitschrift},
+ year = 1986,
+ volume = 41,
+ number = 7,
+ month = jul,
+ note = {Dieses ganze Exemplar ist den Gnats und Gnus gewidmet
+ (dieser Eintrag ist ein ARTICLE (journal), auf den Verwiesen wurde)},
+}
+
+@INBOOK{inbook-minimal,
+ author = "Donald Edward Knuth",
+ title = "Fundamentale Algorithmen",
+ publisher = "Addison-Wesley",
+ year = "{\noopsort{1973b}}1973",
+ chapter = "1.2",
+}
+
+@INBOOK{inbook-full,
+ author = "Donald Edward Knuth",
+ title = "Fundamentale Algorithmen",
+ volume = 1,
+ series = "Die Kunst der Computerprogrammierung",
+ publisher = "Addison-Wesley",
+ address = "Reading, Massachusetts",
+ edition = "Zweite",
+ month = "10.~" # jan,
+ year = "{\noopsort{1973b}}1973",
+ type = "Kapitel",
+ chapter = "1.2",
+ pages = "10--119",
+ note = "Dies ist ein vollst{\"a}ndiger INBOOK-Eintrag",
+}
+
+@INBOOK{inbook-crossref,
+ crossref = "whole-set",
+ title = "Fundamentale Algorithmen",
+ volume = 1,
+ series = "Die Kunst der Computerprogrammierung",
+ edition = "Zweite",
+ year = "{\noopsort{1973b}}1973",
+ type = "Kapitel",
+ chapter = "1.2",
+ note = "Dies ist ein querverweisender INBOOK-Eintrag",
+}
+
+@BOOK{book-minimal,
+ author = "Donald Edward Knuth",
+ title = "Seminumerische Algorithmen",
+ publisher = "Addison-Wesley",
+ year = "{\noopsort{1973c}}1981",
+}
+
+@BOOK{book-full,
+ author = "Donald Edward Knuth",
+ title = "Seminumerische Algorithmen",
+ volume = 2,
+ series = "Die Kunst der Computerprogrammierung",
+ publisher = "Addison-Wesley",
+ address = "Reading, Massachusetts",
+ edition = "Zweite",
+ month = "10.~" # jan,
+ year = "{\noopsort{1973c}}1981",
+ note = "Dies ist ein vollst{\"a}ndiger BOOK-Eintrag",
+}
+
+@BOOK{book-crossref,
+ crossref = "whole-set",
+ title = "Seminumerische Algorithmen",
+ volume = 2,
+ series = "Die Kunst der Computerprogrammierung",
+ edition = "Zweite",
+ year = "{\noopsort{1973c}}1981",
+ note = "Dies ist ein querverweisender BOOK-Eintrag",
+}
+
+@BOOK{whole-set,
+ author = "Donald Edward Knuth",
+ publisher = "Addison-Wesley",
+ title = "Die Kunst der Computerprogrammierung",
+ series = "Vier B{\"a}nde",
+ year = "{\noopsort{1973a}}{\switchargs{--90}{1968}}",
+ note = "Sieben B{\"a}nde geplant (dies ist eine Reihe von BOOK(s), auf die verwiesen wird)",
+}
+
+@BOOKLET{booklet-minimal,
+ key = "Kn{\printfirst{v}{1987}}",
+ title = "Die Programmierung von Computerkunst",
+}
+
+@BOOKLET{booklet-full,
+ author = "Jill Clown Knvth",
+ title = "Die Programmierung von Computerkunst",
+ howpublished = "Kunstverein D{\"u}sseldorf",
+ address = "D{\"u}sseldorf, Nordrheinwestfalen",
+ month = feb,
+ year = 1988,
+ note = "Dies ist ein vollst{\"a}ndiger BOOKLET-Eintrag",
+}
+
+@INCOLLECTION{incollection-minimal,
+ author = "Daniel David Lincoll",
+ title = "Semigruppen von Wiederholungen",
+ booktitle = "High Speed Computer und Algorithmus Organisation",
+ publisher = "Universit{\"a}tsdruckerei",
+ year = 1977,
+}
+
+@INCOLLECTION{incollection-full,
+ author = "Daniel David Lincoll",
+ title = "Semigruppen von Wiederholungen",
+ editor = "David Johannes Lipcoll and Dirk Herwig Lawrie and Abraham Hans Sameh",
+ booktitle = "High Speed Computer und Algorithmus Organisation",
+ number = 23,
+ series = "Schnelle Computer",
+ chapter = 3,
+ type = "Teil",
+ pages = "179--183",
+ publisher = "Universit{\"a}tsdruckerei",
+ address = "Hintertupfingen am Bodensee",
+ edition = "Dritte",
+ month = sep,
+ year = 1977,
+ note = "Dies ist ein vollst{\"a}ndiger INCOLLECTION-Eintrag",
+}
+
+@INCOLLECTION{incollection-crossref,
+ crossref = "whole-collection",
+ author = "Daniel Depp Lincoll",
+ title = "Semigruppen von Wiederholungen",
+ pages = "179--183",
+ note = "Dies ist ein querverweisender INCOLLECTION-Eintrag",
+}
+
+@BOOK{whole-collection,
+ editor = "David Johannes Lipcoll and Dirk Herwig Lawrie and Abraham Hans Sameh",
+ title = "High Speed Computer und Algorithmus Organisation",
+ booktitle = "High Speed Computer und Algorithmus Organisation",
+ number = 23,
+ series = "Schnelle Computer",
+ publisher = "Universit{\"a}tsdruckerei",
+ address = "Hintertupfingen am Bodensee",
+ edition = "Dritte",
+ month = sep,
+ year = 1977,
+ note = "Dies ist ein BOOK-Eintrag (aus einer Reihe), auf den verwiesen wurde",
+}
+
+@MANUAL{manual-minimal,
+ key = "Handbuchmacher",
+ title = "Das definitive Computer-Handbuch",
+}
+
+@MANUAL{manual-full,
+ author = "Larry Manmaker",
+ title = "Das definitive Computer-Handbuch",
+ organization = "Microchips-Revelation-Deutschland",
+ address = "Silikontal",
+ edition = "Silberpfeil",
+ month = apr # "--" # may,
+ year = 1986,
+ note = "Dies ist ein vollst{\"a}ndiger MANUAL-Eintrag",
+}
+
+@MASTERSTHESIS{mastersthesis-minimal,
+ author = "{\'{E}}douard Masterly",
+ title = "Wie schreibe ich eine Diplomarbeit?",
+ school = "Universit{\"a}t W{\"u}rzfestung",
+ year = 1988,
+}
+
+@MASTERSTHESIS{mastersthesis-full,
+ author = "{\'{E}}douard Masterly",
+ title = "Wie schreibe ich eine Diplomarbeit?",
+ school = "Universit{\"a}t W{\"u}rzfestung",
+ type = "Projekt {\"u}ber Diplom- und Magisterarbeiten",
+ address = "Abteilung f{\"u}r Germanistik",
+ month = jun # "--" # aug,
+ year = 1988,
+ note = "Dies ist ein vollst{\"a}ndiger MASTERSTHESIS-Eintrag",
+}
+
+@MISC{misc-minimal,
+ key = "Vermixtes",
+ note = "Dies ist ein minimaler MISC-Eintrag",
+}
+
+@MISC{misc-full,
+ author = "Joe-Bob Missilany",
+ title = "Zuf{\"a}llige Verteilung von Pamphleten an Flugh{\"a}fen",
+ howpublished = "Ausgegeben in Frankfurt am Main",
+ month = oct,
+ year = 1984,
+ note = "Dies ist ein vollst{\"a}ndiger MISC-Eintrag",
+}
+
+@STRING{STOC-key = "OX{\singleletter{stoc}}"}
+
+@STRING{ACM = "OX-Vereinigung f{\"u}r Computing-Maschinerie"}
+
+@STRING{STOC = ": Symposium {\"u}ber die Theorie des Computing"}
+
+@INPROCEEDINGS{inproceedings-minimal,
+ author = "Alfred Veit Oaho and Jeffrey Dieter Ullman and Mihalis Yannakakis",
+ title = "Vorstellungen {\"u}ber die Informations{\"u}bertragung in {VLSI}-Schaltkreisen",
+ booktitle = "Konferenz zum f{\"u}nften Jahrestag der " # ACM # STOC,
+ year = 1983,
+}
+
+@INPROCEEDINGS{inproceedings-full,
+ author = "Alfred Veit Oaho and Jeffrey Dieter Ullman and Mihalis Yannakakis",
+ title = "Vorstellungen {\"u}ber die Informations{\"u}bertragung in {VLSI}-Schaltkreisen",
+ booktitle = "Konferenz zum f{\"u}nften Jahrestag der " # ACM # STOC,
+ editor = "Wizard Veit Oz and Mihalis Yannakakis",
+ number = 17,
+ series = "Alle Konferenzen der " # ACM,
+ pages = "133--139",
+ month = mar,
+ year = 1983,
+ address = "M{\"u}nchen",
+ organization = ACM,
+ publisher = "Universit{\"a}tsdruckerei",
+ note = "Dies ist ein vollst{\"a}ndiger INPROCEDINGS-Eintrag",
+}
+
+@INPROCEEDINGS{inproceedings-crossref,
+ crossref = "whole-proceedings",
+ author = "Alfred Veit Oaho and Jeffrey Dieter Ullman and Mihalis Yannakakis",
+ title = "Vorstellungen {\"u}ber die Informations{\"u}bertragung in {VLSI}-Schaltkreisen",
+ organization = "",
+ pages = "133--139",
+ note = "Dies ist ein querverweisender INPROCEEDINGS-Eintrag",
+}
+
+@PROCEEDINGS{proceedings-minimal,
+ key = STOC-key,
+ title = "Konferenz zum f{\"u}nften Jahrestag der " # ACM # STOC,
+ year = 1983,
+}
+
+@PROCEEDINGS{proceedings-full,
+ editor = "Wizard Veit Oz and Mihalis Yannakakis",
+ title = "Proc. Fifteenth Annual" # STOC,
+ number = 17,
+ series = "Alle Konferenzen der " # ACM,
+ month = mar,
+ year = 1983,
+ address = "M{\"u}nchen",
+ organization = ACM,
+ publisher = "Universit{\"a}tsdruckerei",
+ note = "Dies ist ein vollst{\"a}ndiger PROCEEDINGS-Eintrag",
+}
+
+@PROCEEDINGS{whole-proceedings,
+ key = STOC-key,
+ organization = ACM,
+ title = "Konferenz zum f{\"u}nften Jahrestag" # STOC,
+ address = "M{\"u}nchen",
+ year = 1983,
+ booktitle = "Konferenz zum f{\"u}nften Jahrestag der " # ACM # STOC,
+ note = "This is a cross-referenced PROCEEDINGS",
+}
+
+@PHDTHESIS{phdthesis-minimal,
+ author = "Friedrich Phidias Phony-Baloney",
+ title = "Feuer mit Feuer bek{\"a}mpfen: Gewandte Franz{\"o}sische Redewendungen",
+ school = "Fanstord Universit{\"a}t",
+ year = 1988,
+}
+
+@PHDTHESIS{phdthesis-full,
+ author = "Friedrich Phidias Phony-Baloney",
+ title = "Feuer mit Feuer bek{\"a}mpfen: Gewandte Franz{\"o}sische Redewendungen",
+ school = "Universit{\"a}t W{\"u}rzburg",
+ type = "Dissertation",
+ address = "Abteilung f{\"u}r Franz{\"o}sisch",
+ month = jun # "--" # aug,
+ year = 1988,
+ note = "Dies ist ein vollst{\"a}ndiger PHDTHESIS-Eintrag",
+}
+
+@TECHREPORT{techreport-minimal,
+ author = "Tom von Schrecklich",
+ title = "An {$O(n \log n / \! \log\log n)$} Sortier Algorithmus",
+ institution = "Universit{\"a}t W{\"u}rzburg",
+ year = 1988,
+}
+
+@TECHREPORT{techreport-full,
+ author = "Tom T{\'{e}}rrific",
+ title = "An {$O(n \log n / \! \log\log n)$} Sortier Algorithmus",
+ institution = "Universit{\"a}t W{\"u}rzburg",
+ type = "W{\"u}nschenswertes Untersuchungsergebnis",
+ number = "7",
+ address = "Abteilung f{\"u}r Computerwissenschaften, W{\"u}rzburg, Bayern",
+ month = oct,
+ year = 1988,
+ note = "Dies ist ein vollst{\"a}ndiger TECHREPORT-Eintrag",
+}
+
+@UNPUBLISHED{unpublished-minimal,
+ author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot",
+ title = "Niedrigere Grenzen f{\"u}r w{\"u}nschenswerte Untersuchungsergebnisse",
+ note = "Colloquium an der Universit{\"a}t W{\"u}rzburg (dies ist ein minimaler UNPUBLISHED-Eintrag)",
+}
+
+@UNPUBLISHED{unpublished-full,
+ author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot",
+ title = "Niedrigere Grenzen f{\"u}r w{\"u}nschenswerte Untersuchungsergebnisse",
+ month = nov # ", " # dec,
+ year = 1988,
+ note = "Colloquium an der Universit{\"a}t W{\"u}rzburg (dies ist ein vollst{\"a}ndiger UNPUBLISHED-Eintrag)",
+}
+
+@MISC{random-note-crossref,
+ key = {Volume-2},
+ note = "Band~2 ist unter Knuth \cite{book-full} aufgef{\"u}hrt"
+}
+
+
diff --git a/Master/texmf-dist/bibtex/bib/germbib/schaum.bib b/Master/texmf-dist/bibtex/bib/germbib/schaum.bib
new file mode 100644
index 00000000000..e8676552b45
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/germbib/schaum.bib
@@ -0,0 +1,531 @@
+@Book{gibson1997a,
+ author = {Gibson, L. J. and Ashby, M. F.},
+ ALTeditor = {},
+ title = {{Cellular solids}},
+ publisher = {Cambridge University Press},
+ year = {1997},
+ OPTkey = {},
+ OPTvolume = {},
+ OPTnumber = {},
+ OPTseries = {},
+ OPTaddress = {},
+ edition = {second},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+@Article{davies1983a,
+ author = {Davies, G. J. and Zhen, Shu},
+ title = {{Metallic foams: their production, properties and
+ applications}},
+ journal = {Mater. Sci.},
+ year = {1899},
+ OPTkey = {},
+ volume = {18},
+ OPTnumber = {},
+ pages = {1899},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+@InProceedings{baumeister1997a,
+ author = {Baumeister, J.},
+ title = {{\"Uberblick: Verfahren zur Herstellung von Metallsch\"aumen}},
+ booktitle = {Metallsch\"aume (Beitr\"age zum Symposium Metallsch\"aume,
+ IFAM, Bremen, 06.\,--\,07.\,03.~1997)},
+ OPTcrossref = {},
+ OPTkey = {},
+ OPTpages = {3},
+ year = {1997},
+ OPTeditor = {},
+ OPTvolume = {},
+ OPTnumber = {},
+ OPTseries = {},
+ OPTaddress = {Bremen},
+ OPTmonth = {},
+ OPTorganization = {},
+ publisher = {Verlag MIT Bremen},
+ OPTnote = {},
+ OPTannote = {},
+ language = {german}
+}
+
+
+@Article{simone1998a,
+ author = {Simone, A. E. and Gibson, L. J.},
+ title = {{Aluminium foams produced by liquid-state processes}},
+ journal = {Acta mater.},
+ year = {1998},
+ OPTkey = {},
+ volume = {46},
+ OPTnumber = {},
+ pages = {3109},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+@Article{banhart1994a,
+ author = {Banhart, J. and Baumeister, J. and Weber, M.},
+ title = {{Metallschaum -- ein Werkstoff mit Perspektiven}},
+ journal = {Aluminium},
+ year = {1994},
+ OPTkey = {},
+ volume = {70},
+ OPTnumber = {},
+ pages = {209},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {german}
+}
+
+@Article{banhart1997a,
+ author = {Banhart, J. and Baumeister, J. and Weber, M.},
+ title = {{Aluminium foams for transport industry}},
+ journal = {Materials \& Design},
+ year = {1997},
+ OPTkey = {},
+ volume = {18},
+ OPTnumber = {},
+ pages = {221},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+@Misc{mepura1997a,
+ key = {MEPURA},
+ OPTauthor = {},
+ title = {{MEPURA: "`Alulight"'}},
+ howpublished = {Firmenschrift der MEPURA-Metallpulver GmbH},
+ month = {April},
+ year = {1997},
+ note = {Ranshofen, \"Osterreich},
+ OPTannote = {},
+ language = {german}
+}
+
+
+
+@Article{degischer1997a,
+ author = {Degischer, H. P.},
+ title = {{Innovative light metals: metal matrix composites and
+ foamed aluminium}},
+ journal = {Materials \& Design},
+ year = {1997},
+ OPTkey = {},
+ volume = {18},
+ OPTnumber = {},
+ pages = {221},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+@Article{ashby1983a,
+ author = {Ashby, M. F.},
+ title = {{The mechanical properties of cellular solids}},
+ journal = {Met. Trans.},
+ year = {1983},
+ OPTkey = {},
+ volume = {14A},
+ OPTnumber = {},
+ pages = {1755},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+
+@Article{gibson1989a,
+ author = {Gibson, L. J.},
+ title = {{Modelling the mechanical behaviour of cellular materials}},
+ journal = {Mat. Sci. Eng.},
+ year = {1989},
+ OPTkey = {},
+ volume = {A 110},
+ OPTnumber = {},
+ pages = {1},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+@Article{weaire1994a,
+ author = {Weaire, D. and Fortes, M. A.},
+ title = {{Stress and strain in liquid and solid foams}},
+ journal = {Adv. in Physics},
+ year = {1994},
+ OPTkey = {},
+ volume = {43},
+ OPTnumber = {},
+ pages = {685},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+@Article{triantafillou1989a,
+ author = {Triantafillou, T. C. and Zhang, J. and Shercliff, T. L. and
+ Gibson, L. J. and Ashby, M. F.},
+ title = {{Failure surfaces for cellular materials under multiaxial
+ loads -- II. Comparison of models with experiment}},
+ journal = {Int. J. Mech. Sci.},
+ year = {1997},
+ OPTkey = {},
+ volume = {39},
+ OPTnumber = {},
+ pages = {549},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+
+@Article{silva1997a,
+ author = {Silva, M. J. and Gibson, L. J.},
+ title = {{The effect of non-periodic microstructure and defects
+ on the compressive strength of two-dimensional cellular
+ solids}},
+ journal = {Int. J. Mech. Sci.},
+ year = {1997},
+ OPTkey = {},
+ volume = {39},
+ OPTnumber = {},
+ pages = {549},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+@Article{simone1998b,
+ author = {Simone, A. E. and Gibson, L. J.},
+ title = {{Effects of solid distribution on the stiffness and
+ strength of metallic foams}},
+ journal = {Acta mater.},
+ year = {1998},
+ OPTkey = {},
+ volume = {46},
+ OPTnumber = {},
+ pages = {2139},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+
+@InProceedings{degischer1997b,
+ author = {Degischer, H. P. and Galovsky, U. and Gradinger, R. and
+ Kretz, R. and Simanc\'ik, F.},
+ title = {{\"Uber mechanische Eigenschaften von Aluminiumsch\"aumen}},
+ booktitle = {Metallsch\"aume (Beitr\"age zum Symposium Metallsch\"aume, IFAM,
+ Bremen, 06.\,--\,07.\,03.~1997},
+ OPTcrossref = {},
+ OPTkey = {},
+ pages = {79},
+ year = {1997},
+ editor = {J. Banhart},
+ OPTvolume = {},
+ OPTnumber = {},
+ OPTseries = {},
+ OPTaddress = {},
+ OPTmonth = {},
+ OPTorganization = {},
+ publisher = {Verlag MIT Bremen},
+ OPTnote = {},
+ OPTannote = {},
+ language = {german}
+}
+
+
+
+@Article{beals1997a,
+ author = {Beals, J. T. and Thompson, M. S.},
+ title = {{Density gradient effects on aluminium foam compression
+ behavior}},
+ journal = {J. Mater. Sci},
+ year = {1997},
+ OPTkey = {},
+ volume = {32},
+ OPTnumber = {},
+ pages = {3595},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+@Article{sugimura1997a,
+ author = {Sugimura, Y. and Meyer, J. and He, M. Y. and
+ Bart-Smith, H. and Greenstedt, J. and Evans, A. G.},
+ title = {{On the mechanical performance of closed cell Al foams}},
+ journal = {Acta mater.},
+ year = {1997},
+ OPTkey = {},
+ volume = {45},
+ OPTnumber = {45},
+ pages = {5245},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+@Article{banhart1997b,
+ author = {Banhart, J. and Baumeister, J.},
+ title = {{Das Verformungsverhalten gesch\"aumter Metalle}},
+ journal = {Metall},
+ year = {1997},
+ OPTkey = {},
+ volume = {51},
+ OPTnumber = {},
+ pages = {19},
+ OPTmonth = {},
+ note = {},
+ OPTannote = {},
+ language = {german}
+}
+
+
+
+@Article{banhart1998a,
+ author = {Banhart, J. and Baumeister, J.},
+ title = {{Deformation characteristics of metal foams}},
+ journal = {J. Mater. Sci.},
+ year = {1998},
+ OPTkey = {},
+ volume = {33},
+ OPTnumber = {},
+ pages = {1431},
+ OPTmonth = {},
+ note = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+@InProceedings{huschka1997a,
+ author = {Huschka, S. and Hicken, S. and Arendts, F.-J.},
+ title = {{Modellierung der Spannungs-Stauchungskurven von
+ Aluminiumschaum unter Ber\"ucksichtigung der
+ Porengr\"o\ss{}enverteilung}},
+ booktitle = {Metallsch\"aume (Beitr\"age zum Symposium Metallsch\"aume, IFAM,
+ Bremen 06.\,--\,07.\,03.~1997},
+ OPTcrossref = {},
+ OPTkey = {},
+ pages = {189},
+ year = {1997},
+ editor = {J. Banhart},
+ OPTvolume = {},
+ OPTnumber = {},
+ OPTseries = {},
+ OPTaddress = {},
+ OPTmonth = {},
+ OPTorganization = {},
+ publisher = {Verlag MIT Bremen},
+ OPTnote = {},
+ OPTannote = {},
+ language = {german}
+}
+
+
+@Article{santosa1998a,
+ author = {Santosa, S. and Wierzbicki, T.},
+ title = {{On the modeling of crush behavior of a closed-cell
+ aluminium foam structure}},
+ journal = {J. Mech. Phys. Solids},
+ year = {1998},
+ OPTkey = {},
+ volume = {46},
+ OPTnumber = {},
+ pages = {645},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+
+@PhdThesis{huschka1998a,
+ author = {Huschka, S.},
+ title = {{Modellierung eines Materialgesetzes zur Beschreibung
+ der mechanischen Eigenschaften von Aluminiumschaum}},
+ school = {Universit\"at Stuttgart},
+ year = {1998},
+ OPTkey = {},
+ type = {Dissertation},
+ address = {VDI-Verlag. Fortschrittsberichte, Reihe 5, Nr. 525},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {german}
+}
+
+
+
+@Misc{dfgdaempfung2000a,
+ key = {Arbeitsbericht},
+ OPTauthor = {},
+ title = {{Arbeitsbericht zum DFG-Vorhaben Si~408/5-1 \glqq Mechanische
+ D\"ampfung metallischer Sch\"aume\grqq\ im
+ DFG"=Schwerpunktprogramm SPP~1075}},
+ OPThowpublished = {},
+ OPTmonth = {},
+ year = {2000},
+ OPTnote = {},
+ OPTannote = {},
+ language = {german}
+}
+
+@Misc{akprueftechnik2000a,
+ key = {Protokoll},
+ OPTauthor = {},
+ title = {{Protokoll des Arbeitskreistreffens \glqq Mechanische
+ Pr\"uftechnik\grqq\ und \glqq Quantitative
+ Gef\"ugebeschreibung\grqq\ am 29. und 30.\,03.~2000 an der
+ TU Bergakademie Freiberg, Institut f\"ur Metallkunde}},
+ OPThowpublished = {},
+ month = {04.\,04.},
+ year = {2000},
+ OPTnote = {},
+ OPTannote = {},
+ language = {german}
+}
+
+
+@Article{sugimura1999a,
+ author = {Sugimura, Y. and Rabiei, A. and Evans, A. G. and
+ Harte, A. M. and Fleck, N. A.},
+ title = {{Compression fatigue of a cellular Al alloy}},
+ journal = {Materials Science \&\ Engineering},
+ year = {1999},
+ OPTkey = {},
+ volume = {A269},
+ OPTnumber = {},
+ pages = {38--48},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+
+@InProceedings{schultz1999a,
+ author = {Schultz, O. and Ligneris A. des and
+ Haider, O. and Starke, P.},
+ title = {{Fatigue behaviour, strength and failure of aluminium foam}},
+ booktitle = {Metal Foams and Porous Metal Structures},
+ OPTcrossref = {},
+ OPTkey = {},
+ pages = {379--386},
+ year = {1999},
+ editor = {Banhart, J. and Ashby, M. F. and Fleck, N. A.},
+ OPTvolume = {},
+ OPTnumber = {},
+ OPTseries = {},
+ OPTaddress = {},
+ OPTmonth = {},
+ OPTorganization = {},
+ publisher = {MIT Verlag},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+@InProceedings{olurin1999a,
+ author = {Olurin, O. B. and Fleck, N. A. and Ashby, M. F.},
+ title = {{Fatigue of an aluminium alloy foam}},
+ booktitle = {Metal Foams and Porous Metal Structures},
+ OPTcrossref = {},
+ OPTkey = {},
+ pages = {365--371},
+ year = {1999},
+ editor = {Banhart, J. and Ashby, M. F. and Fleck, N. A.},
+ OPTvolume = {},
+ OPTnumber = {},
+ OPTseries = {},
+ OPTaddress = {},
+ OPTmonth = {},
+ OPTorganization = {},
+ publisher = {MIT Verlag},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+@InProceedings{zettl1999a,
+ author = {Zettl, B. and Stanzl-Tschegg, S.},
+ title = {{Fatigue of Aluminium Foams at Ultrasonic Frequencies}},
+ booktitle = {Metal Foams and Porous Metal Structures},
+ OPTcrossref = {},
+ OPTkey = {},
+ pages = {373--378},
+ year = {1999},
+ editor = {Banhart, J. and Ashby, M. F. and Fleck, N. A.},
+ OPTvolume = {},
+ OPTnumber = {},
+ OPTseries = {},
+ OPTaddress = {},
+ OPTmonth = {},
+ OPTorganization = {},
+ publisher = {MIT Verlag},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
+@Article{bart-smith1998a,
+ author = {Bart-Smith, H. and Bastawros, A.-F. and Mumm, D. R. and
+ Evans, A. G. and Sypeck, D. J. and Wadley, H. N. G.},
+ title = {{Compressive Deformation and Yielding Mechanisms in
+ Cellular Al Alloys Determined Using X-Ray Tomography and
+ Surface Strain Mapping}},
+ journal = {Acta mater.},
+ year = {1998},
+ OPTkey = {},
+ volume = {46},
+ number = {10},
+ pages = {3583--3592},
+ OPTmonth = {},
+ OPTnote = {},
+ OPTannote = {},
+ language = {english}
+}
+
diff --git a/Master/texmf-dist/bibtex/bib/gloss/glsbase.bib b/Master/texmf-dist/bibtex/bib/gloss/glsbase.bib
new file mode 100644
index 00000000000..b4065efcd64
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/gloss/glsbase.bib
@@ -0,0 +1,37 @@
+% (c) 1999-2002 by Jose Luis Dias and Javier Bezos.
+% All Rights Reserved.
+%
+% This file is part of the gloss distribution release 1.5.2
+% -----------------------------------------------------------
+%
+% This file can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+
+
+@string{alphasort = "01"}
+@string{betasort = "02"}
+@string{gammasort = "03"}
+@string{deltasort = "04"}
+@string{epsilonsort = "05"}
+@string{zetasort = "06"}
+@string{etasort = "07"}
+@string{thetasort = "08"}
+@string{iotasort = "09"}
+@string{kappasort = "10"}
+@string{lambdasort = "11"}
+@string{musort = "12"}
+@string{nusort = "13"}
+@string{xisort = "14"}
+@string{omicronsort = "15"}
+@string{pisort = "16"}
+@string{rhosort = "17"}
+@string{sigmasort = "18"}
+@string{tausort = "19"}
+@string{upsilonsort = "20"}
+@string{phisort = "21"}
+@string{chisort = "22"}
+@string{psisort = "23"}
+@string{omegasort = "24"}
+
diff --git a/Master/texmf-dist/bibtex/bib/gloss/sample.bib b/Master/texmf-dist/bibtex/bib/gloss/sample.bib
new file mode 100644
index 00000000000..6236ca1db9a
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/gloss/sample.bib
@@ -0,0 +1,98 @@
+% (c) 1998 Jose Luis Diaz, 1999-2002 Jose Luis Diaz and Javier Bezos.
+% All Rights Reserved.
+%
+% This file is part of the gloss distribution release 1.5.2
+% -----------------------------------------------------------
+%
+% This file can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+%
+
+% Using this file as test with bibTeX8
+% - Replace {\~n} with the corresponding character in your system
+% and without braces. In Mac it is .
+% - Remove the sort-word fields in the egne and gnu entries.
+% - Restore the \usepackage[...]{inputenc} with the setting
+% corresponding to your system in sample.tex.
+
+@GLOSSDEF{gnu,
+ word="{\~n}u",
+ definition="Simp\'atico animal, mascota de los programadores",
+ sort-word="Nzzu"
+}
+@GLOSSDEF{a,
+ word="a",
+ definition={Primera letra del alfabeto}
+}
+@GLOSSDEF{zeta,
+ word="z",
+ definition={\'Ultima letra del alfabeto}
+}
+@GLOSSDEF{egne,
+ word="{\~n}",
+ definition={Letra problem\'atica en la ordenaci\'on alfab\'etica},
+ sort-word={Nzz}
+}
+@GLOSSDEF{ene,
+ word="n",
+ definition={Letra que va antes de la \gloss{egne}}
+}
+@GLOSSDEF{nuname,
+ word="nu",
+ definition={Nombre de la letra griega $\nu$}
+}
+@GLOSSDEF{exclam,
+ word="!",
+ definition={!`Ay!},
+ group="C"
+}
+@GLOSSDEF{interr,
+ word="?",
+ definition={?`Eh?},
+ group="C"
+}
+@GLOSSDEF{ASCII,
+ word="American Standard Code for Information Interchange",
+ short="ASCII",
+ definition="El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on
+ El sistema m\'as popular de codificaci\'on"
+}
+@GLOSSDEF{bit,
+ word="bit",
+ definition={Contracci\'on de ``binary digit''. M\'{\i}nima unidad de
+ informaci\'on}
+}
+@GLOSSDEF{bibtex8,
+ word="bib\TeX8",
+ definition={Implementaci\'on de Bib\TeX\ que alfabetiza correctamente
+ juegos de caracteres de 8 bits}
+}
+@GLOSSDEF{pi,
+ word="$\pi$",
+ definition={Constante matem\'atica aproximadamente igual a la
+ versi\'on m\'as reciente de \TeX},
+ sort-word=pisort,
+ group="S"
+}
+@GLOSSDEF{alfa,
+ word="$\alpha$",
+ definition={Primera letra del alfabeto griego},
+ sort-word=alphasort,
+ group="S"
+}
+
+
+
diff --git a/Master/texmf-dist/bibtex/bib/gustlib/plbib.bib b/Master/texmf-dist/bibtex/bib/gustlib/plbib.bib
new file mode 100644
index 00000000000..c845c2fbb7b
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/gustlib/plbib.bib
@@ -0,0 +1,20 @@
+%
+% To jest TESTOWA i NIEPRAWDZIWA bibliografia Bogus/lawa Licho/nskiego
+%
+
+% According to Staszek Wawrykiewicz <staw@gust.org.pl>, these files
+% been put into the public domain.
+%
+% 2001/06/05 Thomas Esser
+
+@mastersthesis{test,
+ title = "PL polska implementacja niczego",
+ author = "Bogus/law Licho/nski and Roman Piba",
+ institution = "GWO",
+ school = "UG",
+ note = "Dokumentacja dla u/zytkownik/ow i programist/ow",
+ day = 22,
+ month = sep,
+ year = 1997 }
+
+
diff --git a/Master/texmf-dist/bibtex/bib/harvard/harvard.bib b/Master/texmf-dist/bibtex/bib/harvard/harvard.bib
new file mode 100644
index 00000000000..9627d8f32d2
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/harvard/harvard.bib
@@ -0,0 +1,42 @@
+
+
+@book{latex,
+ author = "Leslie Lamport",
+ publisher = "Addison-Wesley",
+ title = "{\LaTeX \rm:} {A} Document Preparation System",
+ year = "1986"
+}
+
+@book{latex:guide,
+ author = "Helmut Kopka and Patrick W. Daly",
+ publisher = "Addison-Wesley",
+ title = "A Guide to {\LaTeX \rm:} {D}ocument Preparation for Beginners and Advanced Users",
+ year = "1993"
+}
+
+@unpublished{btxdoc,
+ author = "Oren Patashnik",
+ month = jan,
+ note = "Documentation for general {\BibTeX} users",
+ title = "{{\BibTeX ing}}",
+ year = "1988"
+}
+
+@book{agsm,
+ author = "John Pitson",
+ address = "Canberra",
+ edition = "3rd",
+ publisher = "Australian Government Publishing Service",
+ title = "Style Manual for authors editors and printers of {A}ustralian
+government publications",
+ year = "1978"
+}
+
+@unpublished{latex2htmldoc,
+ author = "Nikos Drakos",
+ month = jan,
+ note = "Documentation accompanying the {\LaTeX} to {\sc html} translator",
+ title = "The {\LaTeX}2{\sc html} Translator",
+ year = "1994",
+ URL = "http://cbl.leeds.ac.uk/nikos/tex2html/doc/latex2html/latex2html.html"
+}
diff --git a/Master/texmf-dist/bibtex/bib/ieeepes/ieeepes_check.bib b/Master/texmf-dist/bibtex/bib/ieeepes/ieeepes_check.bib
new file mode 100644
index 00000000000..0b74c429ad5
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/ieeepes/ieeepes_check.bib
@@ -0,0 +1,61 @@
+%%----------------------------------------------------------------------
+%% ieeepes_check.bib
+%%
+%% Sample bibliographic data base for the ieeepes package.
+%%
+%% Volker Kuhlmann
+%% 1.1 12 November 1995
+%% 1.0 15 October 1995
+%%----------------------------------------------------------------------
+
+
+@Article{citepaper,
+ author = "J. F. Fuller and E. F. Fuchs and K. J. Roesler",
+ title = "Influence of harmonics in power distribution system
+ protection",
+ journal = "{IEEE} Trans.{\ }Power Delivery",
+ volume = "3",
+ number = "2",
+ month = apr,
+ year = "1988",
+ pages = "549--557",
+}
+
+@Book{citebook,
+ author = "E. Clark",
+ title = "Circuit Analysis of {AC} Power Systems",
+ volume = "I",
+ year = "1950",
+ publisher = "Wiley",
+ address = "New York",
+ pages = "81",
+}
+
+@InProceedings{citeconference,
+ author = "J. L. Alqueres and J. C. Praca",
+ title = "The Brazilian Power System and the Challenge of the
+ {A}mazon Transmission",
+ crossref = "PESSTDC91",
+}
+
+@Proceedings{PESSTDC91,
+ booktitle = "Proceedings of the 1991 Power Engineering Society
+ Transmission and Distribution Conference",
+ year = "1991",
+ note = "{91CH3070-0}",
+ pages = "315--320",
+}
+
+@InCollection{IEEEPES_PaperPreparation,
+ author = "J. W. Hagge and L. L. Grigsby",
+ title = "Preparation of Papers in a Two-Column Format for "
+ # ieeetec # " " # ieeetpd # " " # ieeetps,
+ crossref = "IEEEPES_PubGuide",
+}
+
+@Manual{IEEEPES_PubGuide,
+ booktitle = ieeepes # " Publication Guide",
+ publisher = ieeepes,
+ year = "1995",
+ month = jan,
+}
diff --git a/Master/texmf-dist/bibtex/bib/ifacmtg/ifacsam.bib b/Master/texmf-dist/bibtex/bib/ifacmtg/ifacsam.bib
new file mode 100644
index 00000000000..e33b0ca86ee
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/ifacmtg/ifacsam.bib
@@ -0,0 +1,93 @@
+@article{Abl:45,
+ author={B.C. Able},
+ title={The examination of cell nuclei},
+ journal={Birches. J.},
+ year={1945},
+ volume={35},
+ pages={123--126},
+}
+
+@article{Abl:56,
+ author={B.C. Able},
+ title={Nucleic acid content of microscope},
+ journal={Nature},
+ year={1956},
+ volume={135},
+ pages={7--9},
+}
+
+@incollection{AbTaRu:54,
+ author={B.C. Able and R.A. Tagg and M. Rush},
+ title={Enzyme-catalyzed cellular transanimations},
+ pages={125--247},
+ editor={A.F. Round},
+ publisher={Academic Press},
+ year={1954},
+ volume={2},
+ booktitle={Advances in Enzymology},
+ address={New York},
+ edition={3rd},
+}
+
+@book{Bak:63a,
+ author={R.C. Baker},
+ title={Microscopic Staining Techniques},
+ publisher={Butterworths},
+ year={1963},
+ address={London},
+}
+
+@article{Bak:63b,
+ author={R.C. Baker},
+ title={Methods of preparing thin-section slides},
+ journal={J. Brit. Med. Assoc.},
+ year={1963},
+ volume={34},
+ pages={184--186},
+}
+
+@article{ChaRou:66,
+ author={F.H. Charlie and M.B. Routh},
+ title={The Chemical Destination of Toxins},
+ journal={J. Am. Chem. Soc.},
+ year={1966},
+ volume={66},
+ pages={267--269},
+}
+
+@incollection{Dog:58,
+ author={P.R. Dog},
+ title={},
+ booktitle={Chemical Carcinogenesis},
+ publisher={Chapman \& Hall},
+ year={1958},
+ editor={R.W. Brown},
+ chapter={7},
+ volume={II},
+ pages={56--98},
+ address={London},
+}
+
+@book{Keo:58,
+ author={R. Keohane},
+ title={Power and Interdependence: World Politics in Transitions},
+ publisher={Little, Brown \& Co.},
+ year={1958},
+ address={Boston},
+}
+
+@article{Pow:85,
+ author={T. Powers},
+ title={Is there a way out?},
+ journal={Harpers},
+ year={1985},
+ pages={35--47},
+ month=jun,
+}
+
+
+@misc{Sol:89,
+ author={Solo},
+ year={1989},
+}
+
diff --git a/Master/texmf-dist/bibtex/bib/imac/imac.bib b/Master/texmf-dist/bibtex/bib/imac/imac.bib
new file mode 100644
index 00000000000..7cb2402e30e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/imac/imac.bib
@@ -0,0 +1,36 @@
+
+
+@book{lamport,
+ author = {Lamport, L.},
+ title = {\LaTeX: A Document Preparation System},
+ publisher = {Addison-Wesley},
+ year = {1994},
+ edition = {2nd},
+}
+
+@book{goossens,
+ author = {Goossens, M. and Mittlebach, F. and Samarin, A.},
+ title = {The \LaTeX Companion},
+ publisher = {Addison-Wesley},
+ year = {1994},
+}
+
+@book{kopka,
+ author = {Kopka, H. and Daly, P. W.},
+ title = {A Guide to \LaTeX2e},
+ publisher = {Addison-Wesley},
+ year = {1995},
+}
+%%%%%%%%%%%
+% I had no idea how to reference this, so it's fudged.
+@inProceedings{ewins,
+ title = {Notation for Modal Testing \& Analysis},
+ booktitle = {Imperial College, London SW7 2BX, UK},
+ author = {Ewins, D. J.},
+ year = 1993,
+}
+
+
+
+
+\end{document}
diff --git a/Master/texmf-dist/bibtex/bib/index/test.bib b/Master/texmf-dist/bibtex/bib/index/test.bib
new file mode 100644
index 00000000000..9fabe3d1e81
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/index/test.bib
@@ -0,0 +1,121 @@
+@string{JSYML = "Journal of Symbolic Logic"}
+@string{THEC5 = "Theoretical Computer Science"}
+@string{LNCS = {Lecture Notes in Computer Science}}
+@string{LNMATH = {Lecture Notes in Mathematics}}
+@string{PHITRA = "Philosophical Transactions of the Royal Society of
+London. Series A"}
+@string{REPPP = "Reports on Progress in Physics"}
+@string{RAIIT1 = "RAIRO Informatique Th\'eorique"}
+@string{iandc={Information and Control}}
+
+@Article{BraunmuhlCV83,
+title={The Recognition of Deterministic {CFL}'s in Small Time and
+Space},
+author={Burchard von Braunm{\"u}hl and Stephen Cook and Kurt Mehlhorn
+and Rutger Verbeek},
+pages={34--51},
+journal=iandc,
+month=jan # "/" # feb,
+year=1983,
+volume=56,
+number={1/2}
+}
+
+@InProceedings{CantoneCP90,
+author={D. Cantone and V. Cutello and A. Policrito},
+title={Set-theoretic reductions of {Hilbert's} {Tenth} {Problem}},
+pages={65--75},
+booktitle={CSL '89: 3rd Workshop on Computer Science Logic},
+editor={E. B{\"o}rger and H. Kleine B{\"u}ning and M. M. Richter},
+publisher={Springer-Verlag},
+series=lncs,
+year=1990,
+volume=440
+}
+
+@Article{Adamowicz92,
+title={A sharp version of the bounded {Matijasevich} conjecture and
+the end-extension problem},
+author={Zofia Adamowicz},
+journal=jsyml,
+volume=57,
+number=2,
+pages={597--616},
+year=1992,
+month=jun
+}
+
+@InProceedings{AdlemanMa76,
+title={Diophantine complexity},
+author={Leonard Adleman and Kenneth Manders},
+crossref={FOCS17},
+pages={81--88}
+}
+
+@Article{AlloucheSh92,
+title={The ring of $k$-regular sequences},
+author={Jean-Paul Allouche and Jeffrey Shallit},
+journal=THEC5,
+volume=98,
+number=2,
+pages={163-197},
+year=1992,
+month=may,
+comment=NEW1
+}
+
+@InProceedings{Azra71,
+author={{Jean-Pierre} Azra},
+title={Relations {Diophantiennes} et la solution n\'egative du 10e
+probl\`eme de {Hilbert}},
+booktitle={S\'eminaire Bourbaki---vol. 1970/71. Expos\'es 382--399},
+series=lnmath,
+publisher={Springer-Verlag},
+volume=244,
+pages={11-28},
+year=1971,
+language=french
+}
+
+@Article{CaludeP83,
+title={Independent Instances for Some Undecidable Problems},
+author={Cristian Calude and Gheorghe P{\u{a}}un},
+journal=raiit1,
+year=1983,
+volume=17,
+number=1,
+pages={49-54}
+}
+
+@Article{Baker68,
+title={Contributions to the theory of {Diophantine} equations {I}. {On}
+the representation of integers by binary forms},
+author={A. Baker},
+year=1968,
+journal=phitra,
+volume=263,
+number=1139,
+pages={173-191}
+}
+
+@Article{BartonFi72a,
+title={Applications of algebraic manipulation programs in physics},
+author={D. Barton and J. P. Fitch},
+journal=reppp,
+year=1972,
+volume=35,
+number=3,
+pages={235-314}
+}
+
+@Proceedings{FOCS17,
+title={$17^{\it th}$ Annual Symposium on Foundations of Computer
+Science},
+booktitle={$17^{\it th}$ Annual Symposium on Foundations of Computer
+Science},
+year=1976,
+address={Houston, Texas},
+month={25--26 } # oct,
+organization={IEEE},
+crossrefonly=1
+}
diff --git a/Master/texmf-dist/bibtex/bib/iopart-num/iopart-num-example.bib b/Master/texmf-dist/bibtex/bib/iopart-num/iopart-num-example.bib
new file mode 100755
index 00000000000..c8f4a65128a
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/iopart-num/iopart-num-example.bib
@@ -0,0 +1,65 @@
+@book{rose1957:am,
+ author = "M. E. Rose",
+ title = "Elementary Theory of Angular Momentum",
+ publisher = "Wiley",
+ address = "New York",
+ year = 1957,
+}
+
+@book{dirac1958:qm,
+ author = "P. A. M. Dirac",
+ title = "The Principles of Quantum Mechanics",
+ series = "The International Series of Monographs on Physics",
+ number = 27,
+ edition = 4,
+ publisher = "Clarendon Press",
+ address = "Oxford",
+ year = 1967
+}
+
+@article{bardeen1957-bcs,
+ author = "J. Bardeen and L. N. Cooper and J. R. Schrieffer",
+ journal = "Phys. Rev.",
+ volume = 108,
+ pages = 1175,
+ year = 1957
+}
+
+@book{siegbahn1965:v1,
+ editor = "K. Siegbahn",
+ title = "Alpha-, Beta-, and Gamma-Ray Spectroscopy",
+ booktitle = "Alpha-, Beta-, and Gamma-Ray Spectroscopy",
+ publisher = "North-Holland",
+ address = "Amsterdam",
+ year = 1965,
+ volume = 1
+}
+
+@incollection{bell1965:coin-lifetime,
+ author = "R. E. Bell",
+ title = "Coincidence Techniques and the Measurement of Short Mean Lives",
+ editor = "K. Siegbahn",
+ booktitle = "Alpha-, Beta-, and Gamma-Ray Spectroscopy",
+ publisher = "North-Holland",
+ address = "Amsterdam",
+ year = 1965,
+ volume = 2,
+ pages = 905
+}
+
+@PhdThesis{caprio2003:diss,
+ author = "M. A. Caprio",
+ school = "Yale University",
+ year = 2003,
+ eprint = "nucl-ex/0502004",
+ archive = "arXiv"
+}
+
+@misc{perez-bernal:PC,
+ author = "J. Doe",
+ year = 2005,
+ note = "private communication"
+}
+
+
+
diff --git a/Master/texmf-dist/bibtex/bib/jurabib/book.bib b/Master/texmf-dist/bibtex/bib/jurabib/book.bib
new file mode 100644
index 00000000000..d34ca0c458f
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/jurabib/book.bib
@@ -0,0 +1,108 @@
+%%
+%% This is file `book.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% jurabib.dtx (with options: `book')
+%% ----------------------------------------
+%% Example BibTeX file for the documentation
+%% of the jurabib package v0.6
+%% Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org)
+%% See jurabib.ins for the copyright details.
+%%
+@BOOK{broxbgb,
+ author = {Hans Brox},
+ title = {Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches},
+ shorttitle = {BGB~AT},
+ year = 1996,
+ language = {german},
+ address = {K{\"o}ln, Berlin, Bonn, M{\"u}nchen},
+ edition = 20,
+ annote = {This is a senseless test for testing the annote field.\par If
+ you are reading this text now, note that you can switch
+ off the output of this field by removing the \texttt{annote} option
+ \begin{itemize}\item You are able to use lists inside the annote field\end{itemize}}
+}
+@BOOK{broxschr,
+ author = {Hans Brox},
+ title = {Besonderes Schuldrecht},
+ shorttitle = {SchR~BT},
+ year = 1995,
+ language = {german},
+ address = {M{\"u}nchen},
+ edition = 20
+}
+@BOOK{canaris,
+ author = {Claus Wilhelm Cannabis},
+ title = {Die Vertrauenshaftung im deutschen Privatrecht},
+ shorttitle = {Vertrauenshaftung},
+ year = 1971,
+ language = {german},
+ address = {M{\"u}nchen}
+}
+@BOOK{ennenipp,
+ author = {Ludwig Enneccerus and Hans Carl Nipperdey},
+ title = {Allgemeiner Teil des B{\"u}rgerlichen Rechts},
+ year = 1960,
+ volume = {1},
+ language = {german},
+ volumetitle = {zweiter Halbband},
+ address = {T{\"u}bingen},
+ edition = 15
+}
+@BOOK{huebner,
+ author = {Heinz H{\"u}bner},
+ title = {Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches},
+ shorttitle = {BGB~AT},
+ year = 1996,
+ language = {german},
+ address = {Berlin, New York},
+ edition = 2
+}
+@BOOK{koehler,
+ author = {Helmut K{\"o}hler},
+ title = {BGB Allgemeiner Teil},
+ shorttitle = {BGB~AT},
+ language = {german},
+ year = 1996,
+ address = {M{\"u}nchen},
+ edition = 23
+}
+@BOOK{medicus,
+ author = {Dieter Medicus},
+ title = {Allgemeiner Teil des BGB},
+ shorttitle = {BGB~AT},
+ year = 1995,
+ howcited = 1,
+ address = {M{\"u}nchen},
+ edition = {6}
+}
+@BOOK{musielak,
+ author = {Hans-Joachim Musielak},
+ title = {Grundkurs BGB},
+ shorttitle = {BGB~GK},
+ language = {german},
+ year = 1994,
+ address = {M{\"u}nchen}
+}
+@BOOK{alexy,
+ author = {Alexy, Robert},
+ title = {Theorie der Grundrechte},
+ year = 1985,
+ address = {Baden-Baden},
+ school = {G{\"o}ttingen},
+ dissyear = 1984
+}
+@BOOK{kkstrr,
+ author = {Kurt Kodal and Joachim Kr{\"a}mer},
+ title = {Stra{\ss}enrecht},
+ shorttitle = {StrR},
+ year = 1995,
+ address = {M{\"u}nchen},
+ edition = {5},
+ pages = {30--34, \S~24}
+}
+%%
+%%
+%% End of file `book.bib'.
diff --git a/Master/texmf-dist/bibtex/bib/jurabib/comment.bib b/Master/texmf-dist/bibtex/bib/jurabib/comment.bib
new file mode 100644
index 00000000000..a189c0e36bf
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/jurabib/comment.bib
@@ -0,0 +1,56 @@
+%%
+%% This is file `comment.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% jurabib.dtx (with options: `comment')
+%% ----------------------------------------
+%% Example BibTeX file for the documentation
+%% of the jurabib package v0.6
+%% Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org)
+%% See jurabib.ins for the copyright details.
+%%
+@COMMENTED{erm,
+ author = {Walther Erman},
+ gender = {sm},
+ title = {Handkommentar zum B{\"u}rgerlichen Gesetzbuch},
+ address = {M{\"u}nster},
+ language = {german},
+ year = 1993,
+ volume = 1,
+ edition = {9}
+}
+@COMMENTED{mueko,
+ title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch},
+ shortauthor = {M{\"u}Ko},
+ address = {M{\"u}nchen},
+ language = {german},
+ year = 1994,
+ volume = 2,
+ volumetitle = {-- Schuldrecht -- Allgemeiner Teil},
+ edition = {3}
+}
+@COMMENTED{palandt,
+ author = {Otto Palandt},
+ gender = {sm},
+ title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch},
+ address = {M{\"u}nchen},
+ language = {german},
+ year = 1996,
+ edition = {6}
+}
+@COMMENTED{soergel,
+ author = {Hans Theodor Soergel},
+ gender = {sm},
+ title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch},
+ address = {Stuttgart, Berlin, K{\"o}ln, Mainz},
+ year = 1987,
+ howcited = 1,
+ edition = 12,
+ volume = 1,
+ language = {german}
+}
+%%
+%%
+%% End of file `comment.bib'.
diff --git a/Master/texmf-dist/bibtex/bib/jurabib/jbtest.bib b/Master/texmf-dist/bibtex/bib/jurabib/jbtest.bib
new file mode 100644
index 00000000000..ab0fed42fee
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/jurabib/jbtest.bib
@@ -0,0 +1,226 @@
+%%
+%% This is file `jbtest.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% jurabib.dtx (with options: `jbtestbib')
+%% ----------------------------------------
+%% Example BibTeX file for the documentation
+%% of the jurabib package v0.6
+%% Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org)
+%% See jurabib.ins for the copyright details.
+%%
+@BOOK{broxbgb,
+ author = {Hans Brox},
+ title = {Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches},
+ shorttitle = {BGB~AT},
+ year = 1996,
+ language = {german},
+ address = {K{\"o}ln, Berlin, Bonn, M{\"u}nchen},
+ edition = 20,
+ annote = {This is a senseless test for testing the annote field.\par If
+ you are reading this text now, note that you can switch
+ off the output of this field by removing the \texttt{annote} option
+ \begin{itemize}\item You are able to use lists inside the annote field\end{itemize}}
+}
+@BOOK{broxschr,
+ author = {Hans Brox},
+ title = {Besonderes Schuldrecht},
+ shorttitle = {SchR~BT},
+ year = 1995,
+ language = {german},
+ address = {M{\"u}nchen},
+ edition = 20
+}
+@BOOK{canaris,
+ author = {Claus Wilhelm Cannabis},
+ title = {Die Vertrauenshaftung im deutschen Privatrecht},
+ shorttitle = {Vertrauenshaftung},
+ year = 1971,
+ language = {german},
+ address = {M{\"u}nchen}
+}
+@BOOK{ennenipp,
+ author = {Ludwig Enneccerus and Hans Carl Nipperdey},
+ title = {Allgemeiner Teil des B{\"u}rgerlichen Rechts},
+ year = 1960,
+ volume = {1},
+ language = {german},
+ volumetitle = {zweiter Halbband},
+ address = {T{\"u}bingen},
+ edition = 15
+}
+@BOOK{huebner,
+ author = {Heinz H{\"u}bner},
+ title = {Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches},
+ shorttitle = {BGB~AT},
+ year = 1996,
+ language = {german},
+ address = {Berlin, New York},
+ edition = 2
+}
+@BOOK{koehler,
+ author = {Helmut K{\"o}hler},
+ title = {BGB Allgemeiner Teil},
+ shorttitle = {BGB~AT},
+ language = {german},
+ year = 1996,
+ address = {M{\"u}nchen},
+ edition = 23
+}
+@BOOK{medicus,
+ author = {Dieter Medicus},
+ title = {Allgemeiner Teil des BGB},
+ shorttitle = {BGB~AT},
+ year = 1995,
+ howcited = 1,
+ address = {M{\"u}nchen},
+ edition = {6}
+}
+@BOOK{musielak,
+ author = {Hans-Joachim Musielak},
+ title = {Grundkurs BGB},
+ shorttitle = {BGB~GK},
+ language = {german},
+ year = 1994,
+ address = {M{\"u}nchen}
+}
+@BOOK{alexy,
+ author = {Alexy, Robert},
+ title = {Theorie der Grundrechte},
+ year = 1985,
+ address = {Baden-Baden},
+ school = {G{\"o}ttingen},
+ dissyear = 1984
+}
+@BOOK{kkstrr,
+ author = {Kurt Kodal and Joachim Kr{\"a}mer},
+ title = {Stra{\ss}enrecht},
+ shorttitle = {StrR},
+ year = 1995,
+ address = {M{\"u}nchen},
+ edition = {5},
+ pages = {30--34, \S~24}
+}
+@ARTICLE{broxja,
+ author = {Hans Brox},
+ gender = {sm},
+ title = {Die Anfechtung bei der Stellvertretung},
+ journal = {JA},
+ language = {german},
+ year = 1980,
+ address = {M{\"u}nchen}
+}
+@ARTICLE{eujenfrank,
+ author = {Heiko Eujen and Rainer Frank},
+ gender = {pm},
+ title = {Anfechtung der Bevollm{\"a}chtigung nach Abschlu^^df des
+ Vertretergesch{\"a}ftes\,?},
+ language = {german},
+ journal = {JZ},
+ year = 1973
+}
+@ARTICLE{proelss,
+ author = {J{\"u}rgen Pr{\"o}lss},
+ gender = {sm},
+ title = {Vertretung ohne Vertretungsmacht\,?},
+ journal = {JuS},
+ language = {german},
+ year = 1985
+}
+@PERIODICAL{oellers,
+ author = {Bernd Oellers},
+ gender = {sm},
+ title = {Doppelwirkung im Recht\,?},
+ journal = {AcP},
+ language = {german},
+ year = 1969,
+ volume = 169
+}
+@COMMENTED{erm,
+ author = {Walther Erman},
+ gender = {sm},
+ title = {Handkommentar zum B{\"u}rgerlichen Gesetzbuch},
+ address = {M{\"u}nster},
+ language = {german},
+ year = 1993,
+ volume = 1,
+ edition = {9}
+}
+@COMMENTED{mueko,
+ title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch},
+ shortauthor = {M{\"u}Ko},
+ address = {M{\"u}nchen},
+ language = {german},
+ year = 1994,
+ volume = 2,
+ volumetitle = {-- Schuldrecht -- Allgemeiner Teil},
+ edition = {3}
+}
+@COMMENTED{palandt,
+ author = {Otto Palandt},
+ gender = {sm},
+ title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch},
+ address = {M{\"u}nchen},
+ language = {german},
+ year = 1996,
+ edition = {6}
+}
+@COMMENTED{soergel,
+ author = {Hans Theodor Soergel},
+ gender = {sm},
+ title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch},
+ address = {Stuttgart, Berlin, K{\"o}ln, Mainz},
+ year = 1987,
+ howcited = 1,
+ edition = 12,
+ volume = 1,
+ language = {german}
+}
+@MASTERSTHESIS{alexymthesis,
+ author = {Alexy, Robert},
+ gender = {sm},
+ title = {Theorie der Grundrechte},
+ year = 1984,
+ school = {G{\"o}ttingen}
+}
+@PHDTHESIS{alexyphdthesisi,
+ author = {Alexy, Robert},
+ gender = {sm},
+ title = {Theorie der Grundrechte},
+ year = 1984,
+ school = {G{\"o}ttingen}
+}
+@PHDTHESIS{alexyphdthesisii,
+ author = {Alexy, Robert},
+ gender = {sm},
+ title = {Theorie der Grundrechte},
+ year = 1984,
+ type = {Habil.},
+ school = {G{\"o}ttingen}
+}
+@JURTHESIS{alexyjurthesisi,
+ author = {Alexy, Robert},
+ gender = {sm},
+ title = {Theorie der Grundrechte},
+ year = 1984,
+ school = {G{\"o}ttingen}
+}
+@JURTHESIS{alexyjurthesis,
+ author = {Alexy, Robert},
+ gender = {sm},
+ title = {Theorie der Grundrechte},
+ year = 1984,
+ type = {Habil.},
+ school = {G{\"o}ttingen}
+}
+@WWW{jbtesturl,
+ author = {Jens Berger},
+ gender = {sm},
+ title = {Home of jurabib},
+ url = {http://www.jurabib.org/docs/english/jbendoc.html},
+}
+%%
+%%
+%% End of file `jbtest.bib'.
diff --git a/Master/texmf-dist/bibtex/bib/jurabib/jbtesthu.bib b/Master/texmf-dist/bibtex/bib/jurabib/jbtesthu.bib
new file mode 100644
index 00000000000..22bff76b0a5
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/jurabib/jbtesthu.bib
@@ -0,0 +1,128 @@
+%%
+%% This is file `jbtesthu.bib',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% jurabib.dtx (with options: `jbtesthubib')
+%% ----------------------------------------
+%% Example BibTeX file for the documentation
+%% of the jurabib package v0.6
+%% Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org)
+%% See jurabib.ins for the copyright details.
+%%
+@BOOK{bergmeier80,
+ author = {Bergmeier, Roland},
+ gender = {sm},
+ title = {Glaube als Gabe nach Johannes: Religions- und
+ Theologiegeschichtliche Studien zum pr{\"a}destinatianischen
+ Dualismus im vierten Evangelium},
+ publisher = {W. Kohlhammer},
+ year = 1980,
+ volume = 112,
+ series = {Beitr{\"a}ge zur Wissenschaft vom Alten und Neuen Testament},
+ address = {Stuttgart etc.},
+ keywords = {Predestinatie; Johannes; Gnostiek; Qumran; Dualisme},
+ language = {german},
+ shorttitle = {Glaube als Gabe},
+ annote = {This is a senseless test for testing the annote field.\par If
+ you are reading this text now, note that you can switch
+ off the output of this field by removing the \texttt{annote} option
+ \begin{itemize}\item You are able to use lists inside the annote field\end{itemize}}
+}
+@ARTICLE{helm72,
+ author = {Helm, Paul},
+ gender = {sm},
+ title = {Revealed Propositions and Timeless Truths},
+ journal = {Religious Studies},
+ year = 1972,
+ volume = 8,
+ pages = {127--136},
+ comment = {Nog eens kopieren}
+}
+@BOOK{helm82,
+ author = {Helm, Paul},
+ gender = {sm},
+ title = {Divine Revelation: The Basic Issues},
+ year = 1982,
+ address = {London},
+ annote = {Verdediging van propositionele visie op Openbaring},
+ language = {english},
+ shorttitle = {Divine Revelation}
+}
+@INCOLLECTION{helm82a,
+ author = {Helm, Paul},
+ gender = {sm},
+ title = {The Role of Logic in Biblical Interpretation},
+ editor = {E. Radmacher and R. Preus},
+ booktitle = {Hermeneutics, Inerrancy, \& the Bible},
+ year = 1982,
+ pages = {841--858},
+ address = {Grand Rapids},
+ language = {english},
+ shorttitle = {Role of Logic}
+}
+@BOOK{helm97,
+ author = {Helm, Paul},
+ gender = {sm},
+ title = {Faith and Understanding},
+ year = 1997,
+ series = {Reason and Religion},
+ address = {Edinburgh},
+ publisher = {Edinburgh University Press},
+ language = {english}
+}
+@INCOLLECTION{Thiselton99,
+ author = {Thiselton, Anthony C.},
+ gender = {sm},
+ title = {Communicative Action and Promise in
+ Interdisciplinary, Biblical, and Theological Hermeneutics},
+ booktitle = {The Promise of Hermeneutics},
+ pages = {133--240},
+ crossref = {LunWalThis99},
+ shorttitle = {Communicative Action}
+}
+@BOOK{LunWalThis99,
+ editor = {Lundin, Roger and Walhout, Clarence and Thiselton, Anthony C.},
+ gender = {pm},
+ year = 1999,
+ title = {The Promise of Hermeneutics},
+ publisher = {Eerdmans},
+ address = {Grand Rapids},
+ shorttitle = {Promise}
+}
+@INCOLLECTION{Lundin99,
+ author = {Lundin, Roger},
+ gender = {sm},
+ title = {Interpreting Orphans: Hermeneutics in the Cartesian
+ Tradition},
+ booktitle = {The Promise of Hermeneutics},
+ pages = {1--64},
+ crossref = {LunWalThis99},
+ shorttitle = {Interpreting Orphans}
+}
+@Book{Oberman88,
+ author = {Oberman, Heiko Augustinus},
+ gender = {sm},
+ title = {De erfenis van Calvijn: grootheid en grenzen: drie
+ lezingen},
+ publisher = {Kok},
+ year = 1988,
+ address = {Kampen},
+ annote = {zie liter},
+ series = {Kuyper-voordrachten},
+ language = {dutch}
+}
+@Book{Kraft74,
+ editor = {Kraft, Robert A. and Attridge, Harold and Spittler, Russell and Timbie, Janet},
+ gender = {pm},
+ title = {The Testament of Job According to the SV Text},
+ publisher = {Society of Biblical Literature \& Scholars' Press},
+ year = 1937,
+ volume = 4,
+ series = {Texts and Translations 5: Pseudepigrapha Series},
+ address = {Missoula, Montana},
+}
+%%
+%%
+%% End of file `jbtesthu.bib'.
diff --git a/Master/texmf-dist/bibtex/bib/minitoc/add.bib b/Master/texmf-dist/bibtex/bib/minitoc/add.bib
new file mode 100644
index 00000000000..5316cf8d547
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/minitoc/add.bib
@@ -0,0 +1,24 @@
+@MISC{minitoc,
+ TITLE="The {\texttt{minitoc}} package",
+ MONTH=jul,
+ AUTHOR="Drucbert, Jean-Pierre F.",
+ ADDRESS="{\texttt{drucbert@onera.fr}}",
+ NOTE="{\url{CTAN:macros/latex/contrib/minitoc/minitoc.pdf}}",
+ YEAR=2005}
+
+@MISC{fminitoc,
+ TITLE="Le paquetage {\texttt{minitoc}}",
+ MONTH=jul,
+ AUTHOR="Drucbert, Jean-Pierre F.",
+ ADDRESS="{\texttt{drucbert@onera.fr}}",
+ NOTE="{\url{CTAN:macros/latex/contrib/minitoc/fminitoc.pdf}}",
+ YEAR=2005}
+
+@MISC{shorttoc,
+ TITLE="The {\texttt{shorttoc}} package",
+ MONTH=aug,
+ AUTHOR="Drucbert, Jean-Pierre F.",
+ ADDRESS="{\texttt{drucbert@onera.fr}}",
+ NOTE="{\url{CTAN:macros/latex/contrib/shorttoc/shorttoc.dtx}}",
+ YEAR=2002}
+
diff --git a/Master/texmf-dist/bibtex/bib/minitoc/fminitoc.bib b/Master/texmf-dist/bibtex/bib/minitoc/fminitoc.bib
new file mode 100644
index 00000000000..e237cc38ee9
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/minitoc/fminitoc.bib
@@ -0,0 +1,435 @@
+@String{pub-SV = "Springer Verlag"}
+
+@String{pub-SV+adr = "Berlin, Germany~/ Heidelberg, Germany~/
+ London, UK~/ etc."}
+
+@String{TUB = "TUGboat"}
+@String{TUGboat = "TUGboat"}
+
+@MISC{minitoc,
+ TITLE="The {\texttt{minitoc}} package",
+ MONTH=jul,
+ AUTHOR="Drucbert, Jean-Pierre F.",
+ NOTE="{\froff\url{jean-pierre.drucbert@onera.fr}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/minitoc/minitoc.pdf}}",
+ YEAR=2005}
+
+@MISC{fminitoc,
+ TITLE="Le paquetage {\texttt{minitoc}}",
+ MONTH=jul,
+ AUTHOR="Drucbert, Jean-Pierre F.",
+ NOTE="{\froff\url{jean-pierre.drucbert@onera.fr}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/minitoc/fminitoc.pdf}}",
+ YEAR=2005}
+
+@MISC{shorttoc,
+ TITLE="The {\texttt{shorttoc}} package",
+ MONTH=aug,
+ AUTHOR="Drucbert, Jean-Pierre F.",
+ NOTE="{\froff\url{jean-pierre.drucbert@onera.fr}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/shorttoc/shorttoc.dtx}}",
+ YEAR=2002}
+
+@BOOK{desgraupes,
+ TITLE="{\LaTeX}, {A}pprentissage, guide et r{\'e}f{\'e}rence",
+ AUTHOR="Desgraupes, Bernard",
+ EDITION="seconde",
+ PUBLISHER="{Vuibert}",
+ ADDRESS="{Paris}",
+ ISBN="2-7117-4809-X",
+ YEAR=2003}
+
+@book{TLC2,
+ TITLE={The {{\LaTeX}} {{C}ompanion~2}},
+ SERIES = "{T}ools and {T}echniques for {C}omputer {T}ypesetting",
+ AUTHOR={Frank Mittelbach and Michel Goossens and
+ Johannes Braams and David Carlisle and Chris Rowley},
+ PUBLISHER = {Addison-Wesley Professional},
+ ISBN = {0-201-36299-6},
+ ADDRESS = {Reading, Massachusetts},
+ YEAR=2004
+}
+
+@MISC{appendix,
+ TITLE = "The {\texttt{appendix}} package",
+ MONTH = apr,
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\froff\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/appendix/appendix.pdf}}",
+ YEAR = 2004}
+
+@MISC{babel,
+ AUTHOR = "Braams, Johannes",
+ TITLE = "Babel, a multilingual package for use with {\LaTeX}'s standard document classes",
+ NOTE="{\froff\url{babel@bramms.cistron.nl}}",
+ MONTH = jun,
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/required/babel/babel.pdf} et \url{http://www.tug.org/tex-archive/macros/latex/required/babel/user.pdf}}",
+ YEAR = 2004}
+
+@MISC{hyperref,
+ AUTHOR="Rahtz, Sebastian and Oberdiek, Heiko",
+ TITLE="{\froff Hypertext marks in {\LaTeX}: a manual for {\texttt{hyperref}}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/hyperref/doc/manual.pdf}}",
+ MONTH=feb,
+ YEAR=2004}
+
+@MISC{memoir,
+ TITLE="{T}he {M}emoir {C}lass",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\froff\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/memoir/memman.pdf}}",
+ EDITION="sixi{\`e}me",
+ MONTH=feb,
+ YEAR=2005}
+
+@MISC{notoccite,
+ TITLE="The {\texttt{notoccite}} package",
+ AUTHOR="Arseneau, Donald",
+ NOTE="{\froff\url{asnd@triumf.ca}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/notoccite.sty}}",
+ MONTH=jul,
+ YEAR=2000}
+
+@MISC{placeins,
+ TITLE="The {\texttt{placeins}} package",
+ AUTHOR="Arseneau, Donald",
+ NOTE="{\froff\url{asnd@triumf.ca}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/placeins.sty} et
+ \url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/placeins.sty}}",
+ MONTH=jun,
+ YEAR=2002}
+
+@MISC{tocbibind,
+ TITLE="The {\texttt{tocbibend}} package",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\froff\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/tocbibind/tocbibind.pdf}}",
+ MONTH=may,
+ YEAR=2004}
+
+@MISC{tocloft,
+ TITLE="The {\texttt{tocloft}} package",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\froff\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/tocloft/tocloft.pdf}}",
+ MONTH=sep,
+ YEAR=2003}
+
+@MISC{titletoc,
+ TITLE = "The {\texttt{titlesec}} and {\texttt{titletoc}} packages",
+ AUTHOR="Bezos, Javier",
+ NOTE="{\froff\url{http://www.texytipografia.com/contact.php}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/titlesec/titlesec.pdf}}",
+ MONTH=jan,
+ YEAR=2005}
+@MISC{arabtex,
+ TITLE="{ArabTeX Version~3}",
+ AUTHOR={Lagally, Klaus},
+ NOTE="{\froff\url{lagallyk@acm.org}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/language/arabtex/doc/html/arabtex.htm}}",
+ MONTH=oct,
+ YEAR=2003}
+
+@INPROCEEDINGS{arabtex2,
+ TITLE="{Arab\TeX}---{T}ypetting {A}rabic with vowels and ligatures",
+ AUTHOR={Lagally, Klaus},
+ BOOKTITLE="{Proceedings of the 7th European {\TeX} Conference}",
+ PAGES="153--172",
+ ADDRESS="Prague",
+ PUBLISHER="{CsTUG}",
+ NOTE="{ISBN 80-210-0480-0}, {\froff\url{lagallyk@acm.org}}",
+ YEAR=1992}
+
+@MISC{mlsquick,
+ TITLE="{M}on{\TeX} -- {A} {Q}uick {G}uide {\emph{(draft)}}",
+ AUTHOR="Corff, Oliver",
+ NOTE="{\froff\url{corff@zedat.fu-berlin.de}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/language/mongolian/montex/doc/mlsquick.pdf}}",
+ MONTH=nov,
+ YEAR=2001}
+
+@MISC{montex,
+ TITLE="Mon{\TeX} -- Mongolian for {\LaTeXe}, {I}mplementation {L}evel {S}ystem {D}ocumentation",
+ AUTHOR="Corff, Oliver",
+ NOTE="{\froff\url{corff@zedat.fu-berlin.de}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/language/mongolian/montex/doc/montex.pdf}}",
+ MONTH=jul,
+ YEAR=2002}
+
+@BOOK{tex-bech,
+ TITLE="{\TeX} in {P}ractice",
+ AUTHOR="{von Bechtolsheim}, Stephan P.",
+ PUBLISHER=pub-SV,
+ ADDRESS=pub-SV+adr,
+ NOTE="{\begin{multicols}{2}\begin{enumerate}
+ \item Basics.
+ \item Paragraphs, Maths and Fonts.
+ \item Tokens, Macros.
+ \item Output Routines.
+ \end{enumerate}\end{multicols}
+ (Une approche progressive des secrets de \TeX)}",
+ ISBN="3-540-97597-7",
+ YEAR="1992"}
+
+@MISC{armtex,
+ TITLE="{\froff{Arm\TeX}: a {S}ystem for {W}riting in {A}rmenian with {\TeX} and {\LaTeX}}",
+ AUTHOR="Dachian, Serguei and Dalalyan, Arnak and Vakopian, Vardan",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/language/armtex/v2.0/manual.ps}, {\'e}crit en arm{\'e}nien}",
+ NOTE="{\froff\url{Serguei.Dachian@univ-lemans.fr}}",
+ MONTH=jun,
+ YEAR=1999}
+
+@ARTICLE{BEP,
+ AUTHOR="Johannes Braams and Victor E{\ij}khout and Nico Poppelier",
+ TITLE="The development of national {\LaTeX} styles",
+ JOURNAL="{TUGboat}",
+ VOLUME="10",
+ NUMBER="3",
+ PAGES="401--406",
+ MONTH=nov,
+ YEAR=1989}
+
+@BOOK{latex-manual,
+ AUTHOR = {Leslie Michel Lamport},
+ TITLE = {{\froff\LaTeX:} {\froff A Document Preparation System:
+ User's Guide and Reference Manual}},
+ PUBLISHER = {Addison-Wesley},
+ ADDRESS = "Reading, Massachusetts",
+ EDITION="seconde",
+ ISBN="0-201-52983-1",
+ LCCN="Z253.4.L38L35 1994",
+ PAGES="xvi + 272",
+ YEAR = {1994}
+ }
+
+@BOOK {texbook,
+ AUTHOR = "Donald~E. Knuth",
+ TITLE= "The {\TeX{}book}",
+ PUBLISHER = "Addison-Wesley",
+ YEAR = "1989{\noopsort{a}}",
+ EDITION="seizi{\`e}me",
+ ADDRESS = "Reading, Massachusetts",
+ VOLUME = "A",
+ SERIES = "{C}omputers and {T}ypesetting",
+ NOTE="{r\'evis\'e} pour couvrir {\TeX}3, 1991"}
+
+@Article{Bechtolsheim+TB11-3-409,
+ AUTHOR="{von Bechtolsheim}, Stephan P.",
+ title = "{{\froff{\TeX} in practice: Comments on a 4-volume, 1400-page series on {\TeX}}}",
+ journal = TUGboat,
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/TUGboat/Articles/tb11-3/tb29bechtolsheim.pdf}}",
+ volume = "11",
+ number = "3",
+ pages = "409--412",
+ month = Sep,
+ year = 1990
+ }
+
+@Article{Braams+TB12-2-291,
+ author = "Johannes Braams",
+ title = "{{Babel, a multilingual style-option system for use
+ with {\LaTeX}'s standard document styles}}",
+ journal = TUGboat,
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/TUGboat/Articles/tb12-2/tb32braa.pdf}}",
+ year = "1991",
+ volume = "12",
+ number = "2",
+ pages = "291--301",
+ month = Jun,
+ }
+
+@UNPUBLISHED{btxdoc,
+ author = "Oren Patashnik",
+ title = "{{\BibTeX ing}}",
+ note = "Documentation pour les utilisateurs normaux de {\BibTeX},
+ {\froff\url{http://www.tug.org/tex-archive/biblio/bibtex/contrib/doc/btxdoc.pdf}}",
+ month = feb,
+ year = 1988 }
+
+@UNPUBLISHED{btxhak,
+ author = "Oren Patashnik",
+ title = "Designing {\BibTeX} Styles",
+ note = "La partie de la documentation de {\BibTeX} qui
+ n'int{\'e}resse pas tous les utilisateurs,
+ {\froff\url{http://www.tug.org/tex-archive/biblio/bibtex/contrib/doc/btxhak.pdf}}",
+ month = feb,
+ year = 1988 }
+
+@BOOK{ftb,
+ AUTHOR = "Donald~E. Knuth",
+ TITLE={{L}e {\TeX}book, {C}omposition informatique},
+ PUBLISHER={Vuibert},
+ ADDRESS={Paris},
+ ISBN={2-7117-4819-7},
+ NOTE={{T}raduction en fran{\c{c}}ais de{~\cite{texbook}}, par {\name{Jean-C{\^o}me}{Charpentier}}},
+ YEAR=2003}
+
+@ARTICLE{cjk2,
+ AUTHOR="Lemberg, Werner",
+ JOURNAL= TUB,
+ VOLUME =18,
+ NUMBER=3,
+ PAGES="214--224",
+ TITLE="The {CJK} package for {\LaTeXe} --- {M}ultilingual support beyond {\textsf{babel}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/TUGboat/Articles/tb18-3/cjkintro600.pdf}}",
+ YEAR=1997}
+
+@MISC{antomega,
+ AUTHOR="Kryukov, Alexej M.",
+ TITLE="Typesetting multilingual documents with {ANTOMEGA}",
+ MONTH=sep,
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/systems/omega/contrib/antomega/doc/omega/antomega/antomega.pdf}}",
+ YEAR=2003}
+
+@BOOK{JMPL1,
+ AUTHOR={Bayart, Benjamin},
+ TITLE="{J}oli manuel pour {\LaTeXe}",
+ PUBLISHER="{G}uide local pour l'{ESIEE}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/info/JMPL.ps.gz}}",
+ MONTH=dec,
+ YEAR=1995}
+
+@ARTICLE{CIL2E,
+ AUTHOR={Oetiker, Tobias and Partl, Hubert and Hyna, Helene and Schlegl, Elisabeth},
+ TITLE="Une courte{~({\froff?})} introduction {\`a~\LaTeXe}",
+ JOURNAL="{Cahiers GUTenberg}",
+ NOTE="Traduction de{~\cite{NSSL2E}} en fran{\c{c}}ais par {M}atthieu {\textsc{Herrb}}, adaptation et compl{\'e}ments par {D}aniel
+ {\textsc{Flipo}}, voir aussi: {{\froff\url{http://www.tug.org/tex-archive/info/lshort/french/flshort-3.20.pdf}}}",
+ MONTH=feb,
+ ISSN="1140-9304",
+ VOLUME="Hors-s{\'e}rie num{\'e}ro{~2}",
+ YEAR=2003}
+
+@MISC{NSSL2E,
+ AUTHOR={Oetiker, Tobias and Partl, Hubert and Hyna, Helene and Schlegl, Elisabeth},
+ TITLE="{The Not So Short Introduction to \LaTeXe}",
+ HOWPUBLISHED="{\froff{\url{http://www.tug.org/tex-archive/info/lshort/english/lshort.pdf}}}",
+ MONTH=apr,
+ YEAR=2004}
+
+@MISC{minutes,
+ TITLE = "{\froff{{\LaTeXe} for people in associations: {\texttt{minutes.sty}}}}",
+ MONTH = jan,
+ AUTHOR = "Lichert, Knut",
+ ADDRESS="{\froff{\url{knut@lickert.net}}}",
+ HOWPUBLISHED="{\froff{\url{http://www.tug.org/tex-archive/macros/latex/contrib/minutes/}}}",
+ YEAR = 2001}
+
+@MISC{needspace,
+ TITLE="The {\texttt{needspace}} package",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\froff\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/needspace.sty}}",
+ MONTH=jan,
+ YEAR=2003}
+
+@MISC{txfonts,
+ TITLE="The {TX} {F}onts",
+ AUTHOR="Ryu, Young",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/fonts/txfonts/doc/txfontsdocA4.pdf}}",
+ MONTH=dec,
+ YEAR=2000}
+
+@MISC{ifmtarg,
+ TITLE="The {\texttt{iftmarg}} package",
+ AUTHOR = "Wilson, Peter R. and Arseneau, Donald",
+ NOTE="{\froff\url{pandgwilson@earthlink.net}, \url{asnd@triumf.ca}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/ifmtarg.sty}}",
+ MONTH=mar,
+ YEAR=2000}
+
+@MISC{abstract,
+ TITLE="The {\texttt{abstract}} package",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\froff\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/abstract/abstract.pdf}}",
+ MONTH=apr,
+ YEAR=2004}
+
+@MISC{xr,
+ TITLE="The {\texttt{xr}} package",
+ AUTHOR = "Carlisle, David",
+ NOTE="{\froff\url{carlisle@cs.man.ac.uk}}",
+ HOWPUBLISHED="{\froff\url{http:/www.tug.org/tex-archive/macros/required/tools/xr.dtx}}",
+ MONTH=may,
+ YEAR=1994}
+
+@MISC{bangtex,
+ TITLE="{\froff {Bangtex}: a package for typesetting
+ documents in {Bangla} using the {\TeX/\LaTeX}
+ systems}",
+ AUTHOR="Pal, Palash Baran",
+ HOWPUBLISHED="{\froff\url{http://tnp.saha.ernet.in/~pbpal/bangtex/bangtex.html}}",
+ MONTH=jan,
+ YEAR=2001}
+
+@MISC{ethiop,
+ TITLE="{E}thiopian {L}anguage {S}upport for the {\textsf{Babel}} {P}ackage",
+ AUTHOR="Beyene, Berhanu and Kudlek, Manfred and Kummer, Olaf and Metzinger, Jochen",
+ NOTE="Universit{\"a}t Hamburg",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/language/ethiopia/ethiop/doc/ethiodoc.ps}}",
+ MONTH=dec,
+ YEAR=1998}
+
+@MISC{sectsty,
+ TITLE="The {\texttt{sectsty}} package v2.0.2",
+ AUTHOR={{McDonnell}, Rowland},
+ NOTE="{\froff\url{rowland.mcdonnell@physics.org}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/sectsty/}}",
+ MONTH=apr,
+ YEAR=2002}
+
+@MISC{subfig,
+ TITLE="The {\texttt{subfig}} {P}ackage",
+ AUTHOR={Cochran, Steven Douglas},
+ NOTE="{\froff\url{sds@cs.cmu.edu},
+ \url{cochran@ieee.org}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/subfig/subfig.pdf}}",
+ MONTH=jan,
+ YEAR=2004}
+
+@MISC{malayalam,
+ TITLE="{T}ypesetting {M}alayalam {U}sing {\LaTeXe}",
+ AUTHOR="{AJ}, Alex",
+ NOTE="{\froff\url{alexaj@myrealbox.com}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/language/malayalam/doc/mm-usr.pdf}}",
+ MONTH=apr,
+ YEAR=2003}
+
+@MISC{comment,
+ TITLE="The {\texttt{comment}} package",
+ AUTHOR="E{\ij}khout, Victor",
+ NOTE="{\froff\url{victor@eijkhout.net}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/contrib/comment/}}",
+ MONTH=oct,
+ YEAR=1999}
+
+@MISC{fontsel,
+ TITLE="{\LaTeXe} font selection",
+ AUTHOR="{{\LaTeX3} {Project} {Team}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/macros/latex/doc/fontguide.pdf}}",
+ MONTH=feb,
+ YEAR=2004}
+
+@MISC{guarani,
+ TITLE="Typesetting {G}uaran with {\TeX}",
+ AUTHOR="Bezos, Javier",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/language/guarani/guarani.pdf}}",
+ MONTH=jul,
+ YEAR=2004}
+
+@MISC{rubber,
+ TITLE="{Rubber Manual~1.0}",
+ AUTHOR="Beffara, Emmanuel",
+ HOWPUBLISHED="{\froff\url{http://www.pps.jussieu.fr/~beffara/soft/rubber/doc.html}}",
+ MONTH=jul,
+ YEAR=2005}
+
+@BOOKLET{ttb,
+ TITLE="{T}ame the {B}ea{ST} ({T}the {B} {to~X} of {{\BibTeX}})",
+ AUTHOR="Markey, Nicolas",
+ ADDRESS="{\froff\url{markey@lsv.ens-cachan.fr}}",
+ HOWPUBLISHED="{\froff\url{http://www.tug.org/tex-archive/info/bibtex/tamethebeast/ttb_en.pdf}}",
+ MONTH=jun,
+ YEAR=2005}
+
diff --git a/Master/texmf-dist/bibtex/bib/minitoc/minitoc.bib b/Master/texmf-dist/bibtex/bib/minitoc/minitoc.bib
new file mode 100644
index 00000000000..ac9c3f53a0d
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/minitoc/minitoc.bib
@@ -0,0 +1,438 @@
+@String{pub-SV = "Springer Verlag"}
+
+@String{pub-SV+adr = "Berlin, Germany~/ Heidelberg, Germany~/
+ London, UK~/ etc."}
+
+@String{TUB = "TUGboat"}
+@String{TUGboat = "TUGboat"}
+
+@MISC{minitoc,
+ TITLE="The {\texttt{minitoc}} package",
+ MONTH=jul,
+ AUTHOR="Drucbert, Jean-Pierre F.",
+ NOTE="{\url{jean-pierre.drucbert@onera.fr}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/minitoc/minitoc.pdf}}",
+ YEAR=2005}
+
+@MISC{fminitoc,
+ TITLE="Le paquetage {\texttt{minitoc}}",
+ MONTH=jul,
+ AUTHOR="Drucbert, Jean-Pierre F.",
+ NOTE="{\url{jean-pierre.drucbert@onera.fr}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/minitoc/fminitoc.pdf}}",
+ YEAR=2005}
+
+@MISC{shorttoc,
+ TITLE="The {\texttt{shorttoc}} package",
+ MONTH=aug,
+ AUTHOR="Drucbert, Jean-Pierre F.",
+ NOTE="{\url{jean-pierre.drucbert@onera.fr}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/shorttoc/shorttoc.dtx}}",
+ YEAR=2002}
+
+@BOOK{desgraupes,
+ TITLE="{\LaTeX}, {A}pprentissage, guide et r{\'e}f{\'e}rence",
+ AUTHOR="Desgraupes, Bernard",
+ EDITION="second",
+ PUBLISHER="{Vuibert}",
+ ADDRESS="{Paris}",
+ ISBN="2-7117-4809-X",
+ YEAR=2003}
+
+@book{TLC2,
+ TITLE={The {{\LaTeX}} {{C}ompanion~2}},
+ SERIES = "{T}ools and {T}echniques for {C}omputer {T}ypesetting",
+ AUTHOR={Frank Mittelbach and Michel Goossens and
+ Johannes Braams and David Carlisle and Chris Rowley},
+ PUBLISHER = {Addison-Wesley Professional},
+ ISBN = {0-201-36299-6},
+ ADDRESS = {Reading, Massachusetts},
+ YEAR=2004,
+ cat = latex
+}
+
+@MISC{appendix,
+ TITLE = "The {\texttt{appendix}} package",
+ MONTH = apr,
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/appendix/appendix.pdf}}",
+ YEAR = 2004}
+
+@MISC{babel,
+ AUTHOR = "Braams, Johannes",
+ TITLE = "Babel, a multilingual package for use with {\LaTeX}'s standard document classes",
+ NOTE="{\url{babel@bramms.cistron.nl}}",
+ MONTH = jun,
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/required/babel/babel.pdf} and
+ \url{http://www.tug.org/tex-archive/macros/latex/required/babel/user.pdf}}",
+ YEAR = 2004}
+
+@MISC{hyperref,
+ AUTHOR="Rahtz, Sebastian and Oberdiek, Heiko",
+ TITLE="{Hypertext marks in {\LaTeX}: a manual for {\texttt{hyperref}}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/hyperref/doc/manual.pdf}}",
+ MONTH=feb,
+ YEAR=2004}
+
+@MISC{memoir,
+ TITLE="{T}he {M}emoir {C}lass",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/memoir/memman.pdf}}",
+ EDITION="sixth",
+ MONTH=feb,
+ YEAR=2005}
+
+@MISC{notoccite,
+ TITLE="The {\texttt{notoccite}} package",
+ AUTHOR="Arseneau, Donald",
+ NOTE="{\url{asnd@triumf.ca}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/notoccite.sty}}",
+ MONTH=jul,
+ YEAR=2000}
+
+@MISC{placeins,
+ TITLE="The {\texttt{placeins}} package",
+ AUTHOR="Arseneau, Donald",
+ NOTE="{\url{asnd@triumf.ca}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/placeins.sty} and \url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/placeins.sty}}",
+ MONTH=jun,
+ YEAR=2002}
+
+@MISC{tocbibind,
+ TITLE="The {\texttt{tocbibend}} package",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/tocbibind/tocbibind.pdf}}",
+ MONTH=may,
+ YEAR=2004}
+
+@MISC{tocloft,
+ TITLE="The {\texttt{tocloft}} package",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/tocloft/tocloft.pdf}}",
+ MONTH=sep,
+ YEAR=2003}
+
+@MISC{titletoc,
+ TITLE = "The {\texttt{titlesec}} and {\texttt{titletoc}} packages",
+ AUTHOR="Bezos, Javier",
+ NOTE="{\url{http://www.texytipografia.com/contact.php}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/titlesec/titlesec.pdf}}",
+ MONTH=jan,
+ YEAR=2005}
+
+@MISC{arabtex,
+ TITLE="{ArabTeX Version~3}",
+ AUTHOR={Lagally, Klaus},
+ NOTE="{\url{lagallyk@acm.org}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/language/arabtex/doc/html/arabtex.htm}}",
+ MONTH=oct,
+ YEAR=2003}
+
+@INPROCEEDINGS{arabtex2,
+ TITLE="{Arab\TeX}---{T}ypetting {A}rabic with vowels and ligatures",
+ AUTHOR={Lagally, Klaus},
+ BOOKTITLE="{Proceedings of the 7th European {\TeX} Conference}",
+ PAGES="153--172",
+ ADDRESS="Prague",
+ PUBLISHER="{CsTUG}",
+ NOTE="{ISBN 80-210-0480-0}, {\url{lagallyk@acm.org}}",
+ YEAR=1992}
+
+@MISC{mlsquick,
+ TITLE="{M}on{\TeX} -- {A} {Q}uick {G}uide {\emph{(draft)}}",
+ AUTHOR="Corff, Oliver",
+ NOTE="{\url{corff@zedat.fu-berlin.de}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/language/mongolian/montex/doc/mlsquick.pdf}}",
+ MONTH=nov,
+ YEAR=2001}
+
+@MISC{montex,
+ TITLE="Mon{\TeX} -- Mongolian for {\LaTeXe}, {I}mplementation {L}evel {S}ystem {D}ocumentation",
+ AUTHOR="Corff, Oliver",
+ NOTE="{\url{corff@zedat.fu-berlin.de}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/language/mongolian/montex/doc/montex.pdf}}",
+ MONTH=jul,
+ YEAR=2002}
+
+@BOOK{tex-bech,
+ TITLE="{\TeX} in {P}ractice",
+ AUTHOR="{von Bechtolsheim}, Stephan P.",
+ PUBLISHER=pub-SV,
+ ADDRESS=pub-SV+adr,
+ NOTE="{\begin{multicols}{2}\begin{enumerate}
+ \item Basics.
+ \item Paragraphs, Maths and Fonts.
+ \item Tokens, Macros.
+ \item Output Routines.
+ \end{enumerate}
+ \end{multicols}
+ (A progressive approach to the secrets of \TeX)}",
+ ISBN="3-540-97597-7",
+ YEAR="1992"}
+
+@MISC{armtex,
+ TITLE="{A}rm{\TeX}: a {S}ystem for {W}riting in {A}rmenian with {\TeX} and {\LaTeX}",
+ AUTHOR="Dachian, Serguei and Dalalyan, Arnak and
+ Vakopian, Vardan",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/language/armtex/v2.0/manual.ps}}, written in armenian",
+ NOTE="{\url{Serguei.Dachian@univ-lemans.fr}}",
+ MONTH=jun,
+ YEAR=1999}
+
+@ARTICLE{BEP,
+ AUTHOR="Johannes Braams and Victor E{\ij}khout and Nico Poppelier",
+ TITLE="The development of national {\LaTeX} styles",
+ JOURNAL="{TUGboat}",
+ VOLUME="10",
+ NUMBER="3",
+ PAGES="401--406",
+ MONTH=nov,
+ YEAR=1989}
+
+@BOOK{latex-manual,
+ AUTHOR = {Leslie Michel Lamport},
+ TITLE = {{\LaTeX}: {A} Document Preparation System:
+ User's Guide and Reference Manual},
+ PUBLISHER = {Addison-Wesley},
+ ADDRESS = "Reading, Massachusetts",
+ EDITION="second",
+ ISBN="0-201-52983-1",
+ LCCN="Z253.4.L38L35 1994",
+ PAGES="xvi + 272",
+ YEAR = {1994}
+ }
+
+@BOOK {texbook,
+ AUTHOR = "Donald~E. Knuth",
+ TITLE= "The {\TeX{}book}",
+ PUBLISHER = "Addison-Wesley",
+ YEAR = "1989{\noopsort{a}}",
+ EDITION="sixth",
+ ADDRESS = "Reading, Massachusetts",
+ VOLUME = "A",
+ SERIES = "{C}omputers and {T}ypesetting",
+ NOTE="Revised to cover {\TeX}3, 1991"}
+
+@Article{Bechtolsheim+TB11-3-409,
+ AUTHOR="{von Bechtolsheim}, Stephan P.",
+ title = "{{{\TeX} in practice: Comments on a 4-volume, 1400-page series on {\TeX}}}",
+ journal = TUGboat,
+ volume = "11",
+ number = "3",
+ pages = "409--412",
+ month = Sep,
+ note="{\url{http://www.tug.org/TUGboat/Articles/tb11-3/tb29bechtolsheim.pdf}}",
+ year = 1990
+ }
+
+@Article{Braams+TB12-2-291,
+ author = "Johannes Braams",
+ title = "{{Babel, a multilingual style-option system for use
+ with {\LaTeX}'s standard document styles}}",
+ journal = TUGboat,
+ note="{\url{http://www.tug.org/TUGboat/Articles/tb12-2/tb32braa.pdf}}",
+ year = "1991",
+ volume = "12",
+ number = "2",
+ pages = "291--301",
+ month = Jun,
+ }
+
+@UNPUBLISHED{btxdoc,
+ author = "Oren Patashnik",
+ title = "{{\BibTeX ing}}",
+ note = "Documentation for general {\BibTeX} users,
+ \url{http://www.tug.org/tex-archive/biblio/bibtex/contrib/doc/btxdoc.pdf}",
+ month = feb,
+ year = 1988 }
+
+@UNPUBLISHED{btxhak,
+ author = "Oren Patashnik",
+ title = "Designing {\BibTeX} Styles",
+ note = "The part of {\BibTeX}'s documentation that's not meant for general users,
+ \url{http://www.tug.org/tex-archive/biblio/bibtex/contrib/doc/btxhak.pdf}",
+ month = feb,
+ year = 1988 }
+
+@BOOK{ftb,
+ AUTHOR = "Donald~E. Knuth",
+ TITLE={{L}e {\TeX}book, {C}omposition informatique},
+ PUBLISHER={Vuibert},
+ ADDRESS={Paris},
+ ISBN={2-7117-4819-7},
+ NOTE={{F}rench translation of{~\cite{texbook}}, by {{Jean-C{\^o}me}
+ {Charpentier}}},
+ YEAR=2003}
+
+@ARTICLE{cjk2,
+ AUTHOR="Lemberg, Werner",
+ JOURNAL= TUB,
+ VOLUME =18,
+ NUMBER=3,
+ PAGES="214--224",
+ TITLE="The {CJK} package for {\LaTeXe} --- {M}ultilingual support beyond {\textsf{babel}}",
+ NOTE="\url{http://www.tug.org/TUGboat/Articles/tb18-3/cjkintro600.pdf}",
+ YEAR=1997}
+
+@MISC{antomega,
+ AUTHOR="Kryukov, Alexej M.",
+ TITLE="Typesetting multilingual documents with {ANTOMEGA}",
+ MONTH=sep,
+ HOWPUBLISHED="\url{http://www.tug.org/tex-archive/systems/omega/contrib/antomega/doc/omega/antomega/antomega.pdf}",
+ YEAR=2003}
+
+@BOOK{JMPL1,
+ AUTHOR={Bayart, Benjamin},
+ TITLE="{J}oli manuel pour {\LaTeXe}",
+ PUBLISHER="{G}uide local pour l'{ESIEE}",
+ NOTE="{\url{http://www.tug.org/tex-archive/info/JMPL.ps.gz}}",
+ MONTH=dec,
+ YEAR=1995}
+
+@ARTICLE{CIL2E,
+ AUTHOR={Oetiker, Tobias and Partl, Hubert and Hyna, Helene and Schlegl, Elisabeth},
+ TITLE="Une courte{~(?)} introduction {\`a~\LaTeXe}",
+ JOURNAL="{Cahiers GUTenberg}",
+ NOTE="Translation in french of{~\cite{NSSL2E}} by {M}atthieu {H}errb, adaptation and complements by {D}aniel
+ {F}lipo, see also: {\url{http://www.tug.org/tex-archive/info/lshort/french/flshort-3.20.pdf}}",
+ MONTH=feb,
+ ISSN="1140-9304",
+ VOLUME="Hors-s{\'e}rie num{\'e}ro{~2}",
+ YEAR=2003}
+
+@MISC{NSSL2E,
+ AUTHOR={Oetiker, Tobias and Partl, Hubert and Hyna, Helene and Schlegl, Elisabeth},
+ TITLE="{The Not So Short Introduction to \LaTeXe}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/info/lshort/english/lshort.pdf}}",
+ MONTH=apr,
+ YEAR=2004}
+
+@MISC{minutes,
+ TITLE = "{\LaTeXe} for people in associations: {\texttt{minutes.sty}}",
+ MONTH = jan,
+ AUTHOR = "Lichert, Knut",
+ NOTE="{\url{knut@lickert.net}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/minutes/}}",
+ YEAR = 2001}
+
+@MISC{needspace,
+ TITLE="The {\texttt{needspace}} package",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/needspace.sty}}",
+ MONTH=jan,
+ YEAR=2003}
+
+@MISC{txfonts,
+ TITLE="The {TX} {F}onts",
+ AUTHOR="Ryu, Young",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/fonts/txfonts/doc/txfontsdoc.pdf}}",
+ MONTH=dec,
+ YEAR=2000}
+
+@MISC{ifmtarg,
+ TITLE="The {\texttt{iftmarg}} package",
+ AUTHOR = "Wilson, Peter R. and Arseneau, Donald",
+ NOTE="{\url{pandgwilson@earthlink.net}, \url{asnd@triumf.ca}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/misc/ifmtarg.sty}}",
+ MONTH=mar,
+ YEAR=2000}
+
+@MISC{abstract,
+ TITLE="The {\texttt{abstract}} package",
+ AUTHOR = "Wilson, Peter R.",
+ NOTE="{\url{pandgwilson@earthlink.net}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/abstract/abstract.pdf}}",
+ MONTH=apr,
+ YEAR=2004}
+
+@MISC{xr,
+ TITLE="The {\texttt{xr}} package",
+ AUTHOR = "Carlisle, David",
+ NOTE="{\url{carlisle@cs.man.ac.uk}}",
+ HOWPUBLISHED="{\url{http:/www.tug.org/tex-archive/macros/required/tools/xr.dtx}}",
+ MONTH=may,
+ YEAR=1994}
+
+@MISC{bangtex,
+ TITLE="{{Bangtex}: a package for typesetting
+ documents in {Bangla} using the {\TeX/\LaTeX}
+ systems}",
+ AUTHOR="Pal, Palash Baran",
+ HOWPUBLISHED="{\url{http://tnp.saha.ernet.in/~pbpal/bangtex/bangtex.html}}",
+ MONTH=jan,
+ YEAR=2001}
+
+@MISC{ethiop,
+ TITLE="{E}thiopian {L}anguage {S}upport for the {\textsf{Babel}} {P}ackage",
+ AUTHOR="Beyene, Berhanu and Kudlek, Manfred and Kummer, Olaf and Metzinger, Jochen",
+ NOTE="Universit{\"a}t Hamburg",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/language/ethiopia/ethiop/doc/ethiodoc.ps}}",
+ MONTH=dec,
+ YEAR=1998}
+
+@MISC{sectsty,
+ TITLE="The {\texttt{sectsty}} package v2.0.2",
+ AUTHOR={{McDonnell}, Rowland},
+ NOTE="{\url{rowland.mcdonnell@physics.org}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/sectsty/}}",
+ MONTH=apr,
+ YEAR=2002}
+
+@MISC{subfig,
+ TITLE="The {\texttt{subfig}} {P}ackage",
+ AUTHOR={Cochran, Steven Douglas},
+ NOTE="{\url{sds@cs.cmu.edu}, \url{cochran@ieee.org}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/subfig/subfig.pdf}}",
+ MONTH=jan,
+ YEAR=2004}
+
+@MISC{malayalam,
+ TITLE="{T}ypesetting {M}alayalam {U}sing {\LaTeXe}",
+ AUTHOR="{AJ}, Alex",
+ NOTE="{\url{alexaj@myrealbox.com}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/language/malayalam/doc/mm-usr.pdf}}",
+ MONTH=apr,
+ YEAR=2003}
+
+@MISC{comment,
+ TITLE="The {\texttt{comment}} package",
+ AUTHOR="E{\ij}khout, Victor",
+ NOTE="{\url{victor@eijkhout.net}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/contrib/comment/}}",
+ MONTH=oct,
+ YEAR=1999}
+
+@MISC{fontsel,
+ TITLE="{\LaTeXe} font selection",
+ AUTHOR="{{\LaTeX3} {Project} {Team}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/macros/latex/doc/fontguide.pdf}}",
+ MONTH=feb,
+ YEAR=2004}
+
+@MISC{guarani,
+ TITLE="Typesetting {G}uaran with {\TeX}",
+ AUTHOR="Bezos, Javier",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/language/guarani/guarani.pdf}}",
+ MONTH=jul,
+ YEAR=2004}
+
+@MISC{rubber,
+ TITLE="{Rubber Manual~1.0}",
+ AUTHOR="Beffara, Emmanuel",
+ HOWPUBLISHED="{\url{http://www.pps.jussieu.fr/~beffara/soft/rubber/doc.html}}",
+ MONTH=jul,
+ YEAR=2005}
+
+@BOOKLET{ttb,
+ TITLE="{T}ame the {B}ea{ST} ({T}the {B} {to~X} of {{\BibTeX}})",
+ AUTHOR="Markey, Nicolas",
+ ADDRESS="{\url{markey@lsv.ens-cachan.fr}}",
+ HOWPUBLISHED="{\url{http://www.tug.org/tex-archive/info/bibtex/tamethebeast/ttb_en.pdf}}",
+ MONTH=jun,
+ YEAR=2005}
+
diff --git a/Master/texmf-dist/bibtex/bib/msc/biblio.bib b/Master/texmf-dist/bibtex/bib/msc/biblio.bib
new file mode 100644
index 00000000000..9c788fb4e3f
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/msc/biblio.bib
@@ -0,0 +1,60 @@
+@InProceedings{RudolphGrabowskiGraubmann96,
+ author = {E. Rudolph and P.Graubmann and J. Grabowski},
+ title = {Tutorial on Message Sequence Charts {(MSC'96})},
+ booktitle = {FORTE},
+ year = 1996
+}
+
+@Booklet{z120,
+ title = {{ITU-TS} {R}ecommendation {Z.120}: {M}essage {S}equence {C}hart {(MSC)}},
+ author = {ITU-TS},
+ address = {Geneva},
+ year = 1997
+}
+
+@Book{GSM97,
+ AUTHOR = {Michel Goossens and Sebastian Rahtz and Frank Mittelbach},
+ TITLE = {{T}he {\LaTeX} {G}raphics {C}ompanion},
+ PUBLISHER = "Addison-Wesley",
+ YEAR = 1997
+}
+
+
+@Book{Lam94,
+ author = {L. Lamport},
+ title = {{\LaTeX}---A Document Preparation System---User's Guide and Reference Manual},
+ publisher = {Adsison-Wesley},
+ year = 1994,
+ edition = {2nd},
+ note = {Updated for {\LaTeXe}}
+}
+
+@Manual{BM02,
+ title = {A {\LaTeX{}} macro package for Message Sequence
+ Charts---Reference Manual---Describing {\mscpack}
+ version~{\mscversion}},
+ author = {V. Bos and S. Mauw},
+ year = {2002},
+ month = {June},
+ note = {Included in MSC macro package distribution}
+}
+
+@Manual{BM02a,
+ title = {A {\LaTeX{}} macro package for Message Sequence
+ Charts---User Manual---Describing {\mscpack}
+ version~{\mscversion}},
+ author = {V. Bos and S. Mauw},
+ year = {2002},
+ month = {June},
+ note = {Included in MSC macro package distribution}
+}
+
+@Manual{BM02b,
+ title = {A {\LaTeX{}} macro package for Message Sequence
+ Charts---Maintenance document---Describing {\mscpack}
+ version~{\mscversion}},
+ author = {V. Bos and S. Mauw},
+ year = {2002},
+ month = {June},
+ note = {Included in MSC macro package distribution}
+}
diff --git a/Master/texmf-dist/bibtex/bib/pst-labo/pst-labo-doc.bib b/Master/texmf-dist/bibtex/bib/pst-labo/pst-labo-doc.bib
new file mode 100644
index 00000000000..e217a66170f
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/pst-labo/pst-labo-doc.bib
@@ -0,0 +1,100 @@
+%% -*-bibtex-*-
+@STRING{bretter = {Bretter, die die Welt bedeuten} }
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+@STRING{PS = {{P}ost{S}cript} }
+@String{j-TUGboat = "TUGboat"}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss},
+ title = {{\PST} {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {second},
+ publisher = {DANTE -- Lehmanns},
+ year = {2005},
+ address = {Heidelberg/Hamburg}
+}
+
+@Book{companion,
+ author = {Frank Mittelbach and Michel Goosens et al},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ edition = {second},
+ publisher = {Addison-Wesley Publishing Company},
+ year = {2004},
+ address = {Boston}
+}
+
+@Article{girou:01,
+ author = {Denis Girou},
+ title = {Pr\'esentation de {PST}ricks},
+ journal = {Cahier GUTenberg},
+ year = 1994,
+ volume = {16},
+ month = apr,
+ pages = {21-70}
+}
+
+@Article{girou:02,
+ author = {Timothy Van Zandt and Denis Girou},
+ title = {Inside PSTricks},
+ journal = {TUGboat},
+ year = {1994},
+ volume = {15},
+ month = sep,
+ pages = {239-246}
+}
+
+@Manual{pstricks,
+ Title = {{PST}ricks - {\PS} macros for {G}eneric \TeX},
+ Author = {Timothy {V}an Zandt},
+ Organization = {},
+ Address = {\url{http://www.tug.org/application/PSTricks}},
+ Note = {},
+ year = 1993,
+}
+
+@Manual{pst-code,
+ Title = {{PST}ricks - {\PS} macros for {G}eneric \TeX, {D}ocumented {Code}},
+ Author = {Timothy {V}an Zandt},
+ Organization = {},
+ Address = {\url{CTAN:/graphics/pstricks/obsolete/doc/src/pst-code.tex}},
+ Note = {},
+ year = 1997,
+}
+
+@Article{rahtz:96-1,
+ author = {Sebastian Rahtz},
+ title = {An introduction to {PST}ricks, part {I}},
+ journal = {Baskerville},
+ address = {\url{CTAN: /usergrps/uktug/baskervi/}},
+ year = 1996,
+ volume = 6,
+ number = 1,
+ month = feb,
+ pages = {22-34}
+}
+@Article{rahtz:96-2,
+ author = {Sebastian Rahtz},
+ title = {An introduction to {PST}ricks, part {II}},
+ journal = {Baskerville},
+ address = {\url{CTAN: /usergrps/uktug/baskervi/}},
+ year = 1996,
+ volume = 6,
+ number = 2,
+ month = apr,
+ pages = {23-33}
+}
+
+@misc{LGC,
+ author = {Sebastian Rahtz},
+ title = {Most of the PSTricks examples of
+ The \LaTeX{} Graphics Companion},
+ howpublished = {CTAN:~\url{graphics/pstricks/doc/lgc/}}
+}
+
+@Manual{pst-labo,
+ Title = {\texttt{pst-labo} -- a {PST}ricks package for chemical Objects},
+ Author = {Denis Girou and Christoph Jorssen and Manuel Luque and Herbert Vo\ss},
+ Organization = {},
+ Address = {\url{CTAN: /graphics/pstricks/contrib/pst-labo/}},
+ Note = {},
+ year = 2005,
+}
diff --git a/Master/texmf-dist/bibtex/bib/revtex/apssamp.bib b/Master/texmf-dist/bibtex/bib/revtex/apssamp.bib
new file mode 100644
index 00000000000..f1725960b52
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/revtex/apssamp.bib
@@ -0,0 +1,21 @@
+@ARTICLE{feyn54,
+ author = "R. P. Feynman",
+ year = "1954",
+ journal = "Phys.\ Rev.",
+ volume = "94",
+ pages = "262"
+}
+
+@ARTICLE{epr,
+ author = "A. Einstein and B. Podolsky and N. Rosen",
+ year = "1935",
+ journal = "Phys.\ Rev.",
+ volume = "47",
+ pages = "777"
+}
+
+@MISC{witten2001,
+ author = "Edward Witten",
+ eprint = "hep-th/0106109"
+}
+
diff --git a/Master/texmf-dist/bibtex/bib/spie/report.bib b/Master/texmf-dist/bibtex/bib/spie/report.bib
new file mode 100644
index 00000000000..36fdd1ce734
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/spie/report.bib
@@ -0,0 +1,61 @@
+%% report.bib - contains BiBtex input for bibliography
+
+@book{Eisenberg92,
+ author = "A. Eisenberg",
+ title = "Guide to Technical Editing",
+ publisher= "Oxford University",
+ address= "New York",
+ year = "1992" }
+
+@book{Gelman95,
+ author = "A. Gelman and J. B. Carlin and H. S. Stern and D. B. Rubin",
+ title = "Bayesian Data Analysis",
+ publisher= "Chapman \& Hall",
+ address= "London",
+ year = "1995" }
+
+@book{Goossens97,
+ author = "M. Goossens and F. Mittelbach and A. Samarin",
+ title = "The LaTeX Companion",
+ publisher= "Addison-Wesley",
+ address= "Reading, Mass.",
+ year = "1997" }
+
+@incollection{Gull89a,
+ author = "S. F. Gull",
+ title = "Developments in maximum-entropy data analysis",
+ booktitle= " Maximum Entropy and Bayesian Methods",
+ editor = "J. Skilling",
+ pages = "53-71 ",
+ publisher= "Kluwer Academic, Dordrecht",
+ year = "1989" }
+
+@inproceedings{Hanson93c,
+ author = "K. M. Hanson",
+ title = "Introduction to {B}ayesian image analysis",
+ booktitle= "Medical Imaging:\ Image Processing",
+ editor = "M.\ H. Loew",
+ series = "Proc. SPIE",
+ volume = "1898",
+ pages = "716-731",
+ year = "1993" }
+
+@book{Lamport94,
+ author = "L. Lamport",
+ title = "LaTeX: A Document Preparation System",
+ publisher= "Addison-Wesley",
+ address= "Reading, Mass.",
+ year = "1994" }
+
+@article{Metropolis53,
+ author = "N. Metropolis and A. W. Rosenbluth and M. N. Rosenbluth and A. H. Teller and E. Teller",
+ title = "Equations of state calculations by fast computing machine",
+ journal= "J. Chem. Phys.",
+ volume = "21",
+ pages = "1087-1091",
+ year = "1953" }
+
+
+
+
+
diff --git a/Master/texmf-dist/bibtex/bib/tugboat/tubguide.bib b/Master/texmf-dist/bibtex/bib/tugboat/tubguide.bib
new file mode 100644
index 00000000000..4484db72f77
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/tugboat/tubguide.bib
@@ -0,0 +1,106 @@
+%% LaTeX2e file `tubguide.bib'
+%% generated by the `filecontents' environment
+%% from source `ltubguid' on 2004/07/10.
+%%
+% BibTeX bibliography file (generated by aux2bib)
+
+@Misc{Arseneau:url:1996,
+ author = {Donald Arseneau},
+ title = {The {\textsf{url}} package},
+ year = {1996},
+ howpublished = {Available from {\CTAN}, {\CTANref{url}}}
+}
+
+@Article{Baxter:TB15-3-331,
+ author = {William Erik Baxter},
+ title = {{{An object-oriented programming system in {\TeX}}}},
+ journal = {{\TUB}},
+ year = {1994},
+ month = {September},
+ volume = {15},
+ number = {3},
+ pages = {331--338}
+}
+
+@Misc{Duggan:moreverb:1996,
+ author = {Angus Duggan and Rainer Sch{\umlaut{o}}pf and Victor Eijkhout and
+ Robin Fairbairns},
+ title = {The {\textsf{moreverb}} package},
+ year = {1997},
+ howpublished = {Available from {\CTAN}, {\CTANref{moreverb}}}
+}
+
+@Misc{Rahtz:hyperref:1997,
+ author = {Sebastian Rahtz},
+ title = {The {\textsf{hyperref}} system},
+ year = 1997,
+ howpublished = {Available from {\CTAN}, {\CTANref{hyperref}}}
+}
+
+@Book{Lamport:1994,
+ author = {Leslie Lamport},
+ title = {{\LaTeX}, a Document Preparation System},
+ edition = {\nth{2}},
+ year = {1994},
+ publisher = {Addison-Wesley}
+}
+
+@Article{Ogawa:TB15-3-325,
+ author = {Arthur Ogawa},
+ title = {{{Object-oriented programming, descriptive markup, and {\TeX}}}},
+ journal = {{\TUB}},
+ year = {1994},
+ month = {September},
+ volume = {15},
+ number = {3},
+ pages = {325--330}
+}
+
+@Article{Rowley:TB15-1-63,
+ author = {Chris Rowley},
+ title = {{{{\LaTeXe} update, dateline: 31 January 1994}}},
+ journal = {{\TUB}},
+ year = {1994},
+ month = {March},
+ volume = {15},
+ number = {1},
+ pages = {63}
+}
+
+@Misc{Schoepf:verbatim:1996,
+ author = {Rainer Sch{\umlaut{o}}pf},
+ title = {The {\textsf{verbatim}} package},
+ year = {1996},
+ month = {June},
+ howpublished = {Part of the \textsf{tools} bundle, available from {\CTAN},
+ {\CTANref{tools}}}
+}
+
+@Article{Swift:TB16-3-269,
+ author = {Matt Swift},
+ title = {Modularity in {\LaTeX}},
+ journal = {{\TUB}},
+ year = {1995},
+ volume = {16},
+ number = {3},
+ pages = {269--275}
+}
+
+@Misc{Vieth:mflogo:1995,
+ author = {Ulrik Vieth},
+ title = {The {\textsf{mflogo}} package},
+ year = {1995},
+ howpublished = {Available from {\CTAN}, {\CTANref{mflogo}}}
+}
+
+@Article{Whitney:TB10-3-378,
+ author = {Ron Whitney and Barbara Beeton},
+ title = {{{{\TUB} authors' guide}}},
+ journal = {{\TUB}},
+ year = {1989},
+ month = {November},
+ volume = {10},
+ number = {3},
+ pages = {378--385}
+}
+
diff --git a/Master/texmf-dist/bibtex/bib/urlbst/urlbst.bib b/Master/texmf-dist/bibtex/bib/urlbst/urlbst.bib
new file mode 100644
index 00000000000..6b4946d8142
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/urlbst/urlbst.bib
@@ -0,0 +1,71 @@
+% Webpage with lastchecked and date
+@webpage{url:latex,
+ author = {Barbara Beeton},
+ year = 2001,
+ month = may,
+ url = {http://www.tug.org/docs/html/ptr-faq.html},
+ title = {What is {\TeX}?},
+ lastchecked = {20 August 2001}
+}
+
+% Webpage with lastchecked but no date
+@webpage{url:iso690,
+ author = {{International Standards Organisation}},
+ title = {{ISO 690-2}},
+ url = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm},
+ lastchecked = {20 August 2001}
+}
+
+% Webpage with date but no lastchecked
+@Webpage{classroom96,
+ title = {Citing Internet Addresses: how students should
+ reference online sources in their bibliographies},
+ year = 1996,
+ month = mar,
+ key = {Classroom},
+ url = "http://www.classroom.net/classroom/CitingNetResources.html"
+}
+
+% Webpage with neither date nor lastchecked
+@Webpage{emory95,
+ author = "libsf@web.cc.emory.edu",
+ title = "Citation Formats",
+ url = "http://www.cc.emory.edu/WHSCL/citation.formats.html"
+}
+
+% Article with URL and lastchecked
+@article{url:towell,
+ title = {Presence in Text-Based Networked Virtual
+ Environments or `{MUDs}'},
+ author = {John Towell and Elizabeth Towell},
+ journal = {Presence},
+ volume = 6,
+ number = 5,
+ pages = {590-595},
+ year = 1997,
+ url = {http://www-unix.mcs.anl.gov/~towell/presence.html},
+ lastchecked = {13 February 2002}
+}
+
+% Book with URL, lastchecked, and note.
+@Book{raymond99,
+ author = {Eric S Raymond},
+ title = {The Cathedral and the Bazaar},
+ publisher = {O'Reilly},
+ year = 1999,
+ url = {http://www.tuxedo.org},
+ isbn = {1-56592-724-9},
+ lastchecked = {1 April 2002},
+ note = {The seminal book on the commercialisation of open-source}
+}
+
+% Plain book, no URLs at all
+@book{laurillard93,
+ author = {Diana Laurillard},
+ title = {Rethinking University Teaching},
+ publisher = {Routledge},
+ year = 1993
+}
+
+
+
diff --git a/Master/texmf-dist/bibtex/bib/uwthesis/uwthesis.bib b/Master/texmf-dist/bibtex/bib/uwthesis/uwthesis.bib
new file mode 100644
index 00000000000..0275795ddd2
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/uwthesis/uwthesis.bib
@@ -0,0 +1,84 @@
+
+Bibtex (bib) file for the thesis style document.
+
+@string{Knuth="Donald E. Knuth"}
+
+@book{book,
+ author = knuth,
+ title = "The {\TeX} book",
+ publisher = "Addison-Wesley",
+ year = 1984}
+
+@book{Tbook,
+ author = knuth,
+ title = "{\TeX}: The Program",
+ publisher = "Addison-Wesley",
+ year = 1986}
+
+@book{Metafont,
+ author = knuth,
+ title = "The Metafont book",
+ publisher = "Addison-Wesley",
+ year = 1986}
+
+@book{CMT,
+ author = knuth,
+ title = "Computer Modern Typefaces",
+ publisher = "Addison-Wesley",
+ year = 1986}
+
+@book{Lbook,
+ author = "Leslie Lamport",
+ title = "{\LaTeX}: A Document Preparation System",
+ edition = "2nd",
+ publisher = "Addison-Wesley",
+ year = 1994}
+
+@book{companion,
+ author = "M{ichel} Goossens and F{rank} Mittelbach and A{lexander} Samarin",
+ title = "The {\LaTeX} Companion",
+ publisher = "Addison-Wesley",
+ year = 1994}
+
+
+
+@article{TUG:h-l,
+ author = "Editor",
+ title = "Hyphenation Exception Log",
+ journal = "TUGboat",
+ volume = 7,
+ number = 3,
+ year = 1986,
+ pages = "145"}
+
+
+@book{Hamlet,
+ author = "William Shakespeare",
+ title = "Hamlet",
+ publisher = "F.S.~Crofts~\&~Co., Inc.",
+ address = "NY",
+ year = 1946,
+ note = "Act~I, Scene~3, Lines~70-72, are apropos."}
+
+Following author fields is not standard
+@book{JTeX,
+ author = "{Spivak, M.D., Ph.D.}",
+ title = "The Joy of {\TeX}",
+ publisher = "American Mathematical Society",
+ address = "RI",
+ year = 1986}
+
+@book{PCTeX,
+ author = "{Spivak, M.D., Ph.D.}",
+ title = "PC{\TeX}\ Manual",
+ publisher = "Personal {\TeX}, Inc.",
+ address = "CA",
+ year = 1985}
+
+@booklet{SP,
+ title = "Style and Policy Manual for Theses and Dissertations",
+ author = "University of Washington, Graduate School",
+ year = 2000}
+
+
+
diff --git a/Master/texmf-dist/bibtex/bst/IEEEtran/IEEEtran.bst b/Master/texmf-dist/bibtex/bst/IEEEtran/IEEEtran.bst
new file mode 100644
index 00000000000..b2c7edc3820
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/IEEEtran/IEEEtran.bst
@@ -0,0 +1,2369 @@
+%%
+%% IEEEtran.bst
+%% BibTeX Bibliography Style file for IEEE Journals and Conferences (unsorted)
+%% Version 1.11 (2003/04/02)
+%%
+%% Copyright (c) 2003 Michael Shell
+%%
+%% Original starting code base and algorithms obtained from the output of
+%% Patrick W. Daly's makebst package as well as from prior versions of
+%% IEEE BibTeX styles:
+%%
+%% 1. Howard Trickey and Oren Patashnik's ieeetr.bst (1985/1988)
+%% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993)
+%%
+%%
+%% See:
+%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
+%% for latest version and current contact information.
+%%
+%% For use with BibTeX version 0.99a or later
+%%
+%% This is a numerical citation style.
+%%
+%%**********************************************************************
+%% Legal Notice:
+%% This code is offered as-is without any warranty either expressed or
+%% implied; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE!
+%% User assumes all risk.
+%% In no event shall IEEE or any contributor to this code be liable for
+%% any damages or losses, including, but not limited to, incidental,
+%% consequential, or any other damages, resulting from the use or misuse
+%% of any information contained here.
+%%
+%% This code is distributed under the Perl Artistic License
+%% ( http://language.perl.com/misc/Artistic.html )
+%% and may be freely used, distributed and modified - subject to the
+%% constraints therein.
+%% Retain all contribution notices, credits and disclaimers.
+%%
+%% All comments are the opinions of their respective authors and are not
+%% necessarily endorsed by the IEEE.
+%%**********************************************************************
+%
+%
+% Changelog:
+%
+% 1.00 (2002/08/13) Initial release
+%
+% 1.10 (2002/09/27)
+% 1. Corrected minor bug for improperly formed warning message when a
+% book was not given a title. Thanks to Ming Kin Lai for reporting this.
+% 2. Added support for CTLname_format_string and CTLname_latex_cmd fields
+% in the BST control entry type.
+%
+% 1.11 (2003/04/02)
+% 1. Fixed bug with URLs containing underscores when using url.sty. Thanks
+% to Ming Kin Lai for reporting this.
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% These are the defaults for the user adjustable controls. The values used
+% here can be overridden by the user via IEEEtranBSTCTL entry type.
+
+% NOTE: The recommended LaTeX command to invoke a control entry type is:
+%
+%\makeatletter
+%\def\bstctlcite#1{\@bsphack
+% \@for\@citeb:=#1\do{%
+% \edef\@citeb{\expandafter\@firstofone\@citeb}%
+% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi}%
+% \@esphack}
+%\makeatother
+%
+% It is called at the start of the document, before the first \cite, like:
+% \bstctlcite{IEEEexample:BSTcontrol}
+%
+% IEEEtran.cls V1.6 and later does provide this command.
+
+
+
+% #0 turns off the display of the number for articles.
+% #1 enables
+FUNCTION {default.is.use.number.for.article} { #1 }
+
+
+% #0 turns off the display of the paper and type fields in @inproceedings.
+% #1 enables
+FUNCTION {default.is.use.paper} { #1 }
+
+
+% #0 turns off the forced use of "et al."
+% #1 enables
+FUNCTION {default.is.forced.et.al} { #0 }
+
+% The maximum number of names that can be present beyond which an "et al."
+% usage is forced. Be sure that num.names.shown.with.forced.et.al (below)
+% is not greater than this value!
+% Note: There are many instances of references in IEEE journals which have
+% a very large number of authors as well as instances in which "et al." is
+% used profusely.
+FUNCTION {default.max.num.names.before.forced.et.al} { #10 }
+
+% The number of names that will be shown with a forced "et al.".
+% Must be less than or equal to max.num.names.before.forced.et.al
+FUNCTION {default.num.names.shown.with.forced.et.al} { #1 }
+
+
+% #0 turns off the alternate interword spacing for entries with URLs.
+% #1 enables
+FUNCTION {default.is.use.alt.interword.spacing} { #1 }
+
+% If alternate interword spacing for entries with URLs is enabled, this is
+% the interword spacing stretch factor that will be used. For example, the
+% default "4" here means that the interword spacing in entries with URLs can
+% stretch to four times normal. Does not have to be an integer. Note that
+% the value specified here can be overridden by the user in their LaTeX
+% code via a command such as:
+% "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to
+% that via the IEEEtranBSTCTL entry type.
+FUNCTION {default.ALTinterwordstretchfactor} { "4" }
+
+
+% #0 turns off the "dashification" of repeated (i.e., identical to those
+% of the previous entry) names. IEEE normally does this.
+% #1 enables
+FUNCTION {default.is.dash.repeated.names} { #1 }
+
+
+% The default name format control string.
+FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" }
+
+
+% The default LaTeX font command for the names.
+FUNCTION {default.name.latex.cmd}{ "" }
+
+
+% Other controls that cannot be accessed via IEEEtranBSTCTL entry type.
+
+% #0 turns off the terminal startup banner/completed message so as to
+% operate more quietly.
+% #1 enables
+FUNCTION {is.print.banners.to.terminal} { #1 }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FILE VERSION AND BANNER %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION{bst.file.version} { "1.11" }
+FUNCTION{bst.file.date} { "2003/04/02" }
+FUNCTION{bst.file.website} { "http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/" }
+
+FUNCTION {banner.message}
+{ is.print.banners.to.terminal
+ { "-- IEEEtran.bst version" " " * bst.file.version *
+ " (" * bst.file.date * ") " * "by Michael Shell." *
+ top$
+ "-- " bst.file.website *
+ top$
+ "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." *
+ top$
+ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {completed.message}
+{ is.print.banners.to.terminal
+ { ""
+ top$
+ "Done."
+ top$
+ }
+ { skip$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING CONSTANTS %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {bbl.and}{ "and" }
+FUNCTION {bbl.etal}{ "et~al." }
+FUNCTION {bbl.editors}{ "eds." }
+FUNCTION {bbl.editor}{ "ed." }
+FUNCTION {bbl.edition}{ "ed." }
+FUNCTION {bbl.volume}{ "vol." }
+FUNCTION {bbl.of}{ "of" }
+FUNCTION {bbl.number}{ "no." }
+FUNCTION {bbl.in}{ "in" }
+FUNCTION {bbl.pages}{ "pp." }
+FUNCTION {bbl.page}{ "p." }
+FUNCTION {bbl.chapter}{ "ch." }
+FUNCTION {bbl.paper}{ "paper" }
+FUNCTION {bbl.part}{ "pt." }
+FUNCTION {bbl.patent}{ "Patent" }
+FUNCTION {bbl.patentUS}{ "U.S." }
+FUNCTION {bbl.revision}{ "Rev." }
+FUNCTION {bbl.series}{ "ser." }
+FUNCTION {bbl.standard}{ "Std." }
+FUNCTION {bbl.techrep}{ "Tech. Rep." }
+FUNCTION {bbl.mthesis}{ "Master's thesis" }
+FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" }
+FUNCTION {bbl.urlprefix}{ "[Online]. Available:" }
+FUNCTION {bbl.st}{ "st" }
+FUNCTION {bbl.nd}{ "nd" }
+FUNCTION {bbl.rd}{ "rd" }
+FUNCTION {bbl.th}{ "th" }
+
+
+% This is the LaTeX spacer that is used when a larger than normal space
+% is called for (such as just before the address:publisher).
+FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " }
+
+% The LaTeX code for dashes that are used to represent repeated names.
+% Note: Some older IEEE journals used something like
+% "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along
+% the baseline. However, IEEE now uses a thinner, above baseline,
+% six dash long sequence.
+FUNCTION {repeated.name.dashes} { "------" }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% PREDEFINED STRING MACROS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% ENTRY FIELDS %%
+%%%%%%%%%%%%%%%%%%
+
+ENTRY
+ { address
+ assignee
+ author
+ booktitle
+ chapter
+ day
+ dayfiled
+ edition
+ editor
+ howpublished
+ institution
+ intype
+ journal
+ key
+ language
+ month
+ monthfiled
+ nationality
+ note
+ number
+ organization
+ pages
+ paper
+ publisher
+ school
+ series
+ revision
+ title
+ type
+ url
+ volume
+ year
+ yearfiled
+ CTLuse_article_number
+ CTLuse_paper
+ CTLuse_forced_etal
+ CTLmax_names_forced_etal
+ CTLnames_show_etal
+ CTLuse_alt_spacing
+ CTLalt_stretch_factor
+ CTLdash_repeated_names
+ CTLname_format_string
+ CTLname_latex_cmd
+ }
+ {}
+ { label }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%% INTEGER VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%%
+
+INTEGERS { prev.status.punct this.status.punct punct.std
+ punct.no punct.comma punct.period
+ prev.status.space this.status.space space.std
+ space.no space.normal space.large
+ prev.status.quote this.status.quote quote.std
+ quote.no quote.close
+ prev.status.nline this.status.nline nline.std
+ nline.no nline.newblock
+ status.cap cap.std
+ cap.no cap.yes}
+
+INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames }
+
+INTEGERS { is.use.number.for.article
+ is.use.paper
+ is.forced.et.al
+ max.num.names.before.forced.et.al
+ num.names.shown.with.forced.et.al
+ is.use.alt.interword.spacing
+ is.dash.repeated.names}
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+STRINGS { bibinfo
+ longest.label
+ oldname
+ s
+ t
+ ALTinterwordstretchfactor
+ name.format.string
+ name.latex.cmd}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LOW LEVEL FUNCTIONS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.controls}
+{ default.is.use.number.for.article 'is.use.number.for.article :=
+ default.is.use.paper 'is.use.paper :=
+ default.is.forced.et.al 'is.forced.et.al :=
+ default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al :=
+ default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al :=
+ default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing :=
+ default.is.dash.repeated.names 'is.dash.repeated.names :=
+ default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor :=
+ default.name.format.string 'name.format.string :=
+ default.name.latex.cmd 'name.latex.cmd :=
+}
+
+
+% This IEEEtran.bst features a very powerful and flexible mechanism for
+% controlling the capitalization, punctuation, spacing, quotation, and
+% newlines of the formatted entry fields. (Note: IEEEtran.bst does not need
+% or use the newline/newblock feature, but it has been implemented for
+% possible future use.) The output states of IEEEtran.bst consist of
+% multiple independent attributes and, as such, can be thought of as being
+% vectors, rather than the simple scalar values ("before.all",
+% "mid.sentence", etc.) used in most other .bst files.
+%
+% The more flexible and complex design used here was motivated in part by
+% IEEE's rather unusual bibliography style. For example, IEEE ends the
+% previous field item with a period and large space prior to the publisher
+% address; the @electronic entry types use periods as inter-item punctuation
+% rather than the commas used by the other entry types; and URLs are never
+% followed by periods even though they are the last item in the entry.
+% Although it is possible to accommodate these features with the conventional
+% output state system, the seemingly endless exceptions make for convoluted,
+% unreliable and difficult to maintain code.
+%
+% IEEEtran.bst's output state system can be easily understood via a simple
+% illustration of two most recently formatted entry fields (on the stack):
+%
+% CURRENT_ITEM
+% "PREVIOUS_ITEM
+%
+% which, in this example, is to eventually appear in the bibliography as:
+%
+% "PREVIOUS_ITEM," CURRENT_ITEM
+%
+% It is the job of the output routine to take the previous item off of the
+% stack (while leaving the current item at the top of the stack), apply its
+% trailing punctuation (including closing quote marks) and spacing, and then
+% to write the result to BibTeX's output buffer:
+%
+% "PREVIOUS_ITEM,"
+%
+% Punctuation (and spacing) between items is often determined by both of the
+% items rather than just the first one. The presence of quotation marks
+% further complicates the situation because, in standard English, trailing
+% punctuation marks are supposed to be contained within the quotes.
+%
+% IEEEtran.bst maintains two output state (aka "status") vectors which
+% correspond to the previous and current (aka "this") items. Each vector
+% consists of several independent attributes which track punctuation,
+% spacing, quotation, and newlines. Capitalization status is handled by a
+% separate scalar because the format routines, not the output routine,
+% handle capitalization and, therefore, there is no need to maintain the
+% capitalization attribute for both the "previous" and "this" items.
+%
+% When a format routine adds a new item, it copies the current output status
+% vector to the previous output status vector and (usually) resets the
+% current (this) output status vector to a "standard status" vector. Using a
+% "standard status" vector in this way allows us to redefine what we mean by
+% "standard status" at the start of each entry handler and reuse the same
+% format routines under the various inter-item separation schemes. For
+% example, the standard status vector for the @book entry type may use
+% commas for item separators, while the @electronic type may use periods,
+% yet both entry handlers exploit many of the exact same format routines.
+%
+% Because format routines have write access to the output status vector of
+% the previous item, they can override the punctuation choices of the
+% previous format routine! Therefore, it becomes trivial to implement rules
+% such as "Always use a period and a large space before the publisher." By
+% pushing the generation of the closing quote mark to the output routine, we
+% avoid all the problems caused by having to close a quote before having all
+% the information required to determine what the punctuation should be.
+%
+% The IEEEtran.bst output state system can easily be expanded if needed.
+% For instance, it is easy to add a "space.tie" attribute value if the
+% bibliography rules mandate that two items have to be joined with an
+% unbreakable space.
+
+FUNCTION {initialize.status.constants}
+{ #0 'punct.no :=
+ #1 'punct.comma :=
+ #2 'punct.period :=
+ #0 'space.no :=
+ #1 'space.normal :=
+ #2 'space.large :=
+ #0 'quote.no :=
+ #1 'quote.close :=
+ #0 'cap.no :=
+ #1 'cap.yes :=
+ #0 'nline.no :=
+ #1 'nline.newblock :=
+}
+
+FUNCTION {std.status.using.comma}
+{ punct.comma 'punct.std :=
+ space.normal 'space.std :=
+ quote.no 'quote.std :=
+ nline.no 'nline.std :=
+ cap.no 'cap.std :=
+}
+
+FUNCTION {std.status.using.period}
+{ punct.period 'punct.std :=
+ space.normal 'space.std :=
+ quote.no 'quote.std :=
+ nline.no 'nline.std :=
+ cap.yes 'cap.std :=
+}
+
+FUNCTION {initialize.prev.this.status}
+{ punct.no 'prev.status.punct :=
+ space.no 'prev.status.space :=
+ quote.no 'prev.status.quote :=
+ nline.no 'prev.status.nline :=
+ punct.no 'this.status.punct :=
+ space.no 'this.status.space :=
+ quote.no 'this.status.quote :=
+ nline.no 'this.status.nline :=
+ cap.yes 'status.cap :=
+}
+
+FUNCTION {this.status.std}
+{ punct.std 'this.status.punct :=
+ space.std 'this.status.space :=
+ quote.std 'this.status.quote :=
+ nline.std 'this.status.nline :=
+}
+
+FUNCTION {cap.status.std}{ cap.std 'status.cap := }
+
+FUNCTION {this.to.prev.status}
+{ this.status.punct 'prev.status.punct :=
+ this.status.space 'prev.status.space :=
+ this.status.quote 'prev.status.quote :=
+ this.status.nline 'prev.status.nline :=
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ { skip$ }
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ { skip$ }
+ if$
+}
+
+
+% convert the strings "yes" or "no" to #1 or #0 respectively
+FUNCTION {yes.no.to.int}
+{ "l" change.case$ duplicate$
+ "yes" =
+ { pop$ #1 }
+ { duplicate$ "no" =
+ { pop$ #0 }
+ { "unknown boolean " quote$ * swap$ * quote$ *
+ " in " * cite$ * warning$
+ #0
+ }
+ if$
+ }
+ if$
+}
+
+
+% pushes true if the single char string on the stack is in the
+% range of "0" to "9"
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+% multiplies the integer on the stack by a factor of 10
+FUNCTION {bump.int.mag}
+{ #0 'multiresult :=
+ { duplicate$ #0 > }
+ { #1 -
+ multiresult #10 +
+ 'multiresult :=
+ }
+ while$
+pop$
+multiresult
+}
+
+% converts a single character string on the stack to an integer
+FUNCTION {char.to.integer}
+{ duplicate$
+ is.num
+ { chr.to.int$ "0" chr.to.int$ - }
+ {"noninteger character " quote$ * swap$ * quote$ *
+ " in integer field of " * cite$ * warning$
+ #0
+ }
+ if$
+}
+
+% converts a string on the stack to an integer
+FUNCTION {string.to.integer}
+{ duplicate$ text.length$ 'namesleft :=
+ #1 'nameptr :=
+ #0 'numnames :=
+ { nameptr namesleft > not }
+ { duplicate$ nameptr #1 substring$
+ char.to.integer numnames bump.int.mag +
+ 'numnames :=
+ nameptr #1 +
+ 'nameptr :=
+ }
+ while$
+pop$
+numnames
+}
+
+
+
+
+% The output routines write out the *next* to the top (previous) item on the
+% stack, adding punctuation and such as needed. Since IEEEtran.bst maintains
+% the output status for the top two items on the stack, these output
+% routines have to consider the previous output status (which corresponds to
+% the item that is being output). Full independent control of punctuation,
+% closing quote marks, spacing, and newblock is provided.
+%
+% "output.nonnull" does not check for the presence of a previous empty
+% item.
+%
+% "output" does check for the presence of a previous empty item and will
+% remove an empty item rather than outputing it.
+%
+% "output.warn" is like "output", but will issue a warning if it detects
+% an empty item.
+
+FUNCTION {output.nonnull}
+{ swap$
+ prev.status.punct punct.comma =
+ { "," * }
+ { skip$ }
+ if$
+ prev.status.punct punct.period =
+ { add.period$ }
+ { skip$ }
+ if$
+ prev.status.quote quote.close =
+ { "''" * }
+ { skip$ }
+ if$
+ prev.status.space space.normal =
+ { " " * }
+ { skip$ }
+ if$
+ prev.status.space space.large =
+ { large.space * }
+ { skip$ }
+ if$
+ write$
+ prev.status.nline nline.newblock =
+ { newline$ "\newblock " write$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.warn}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% "fin.entry" is the output routine that handles the last item of the entry
+% (which will be on the top of the stack when "fin.entry" is called).
+
+FUNCTION {fin.entry}
+{ this.status.punct punct.no =
+ { skip$ }
+ { add.period$ }
+ if$
+ this.status.quote quote.close =
+ { "''" * }
+ { skip$ }
+ if$
+write$
+newline$
+}
+
+
+FUNCTION {is.last.char.not.punct}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {is.multiple.pages}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {capitalize}{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {do.name.latex.cmd}
+{ name.latex.cmd
+ empty$
+ { skip$ }
+ { name.latex.cmd "{" * swap$ * "}" * }
+ if$
+}
+
+% IEEEtran.bst uses its own \BIBforeignlanguage command which directly
+% invokes the TeX hyphenation patterns without the need of the Babel
+% package. Babel does a lot more than switch hyphenation patterns and
+% its loading can cause unintended effects in many class files (such as
+% IEEEtran.cls).
+FUNCTION {select.language}
+{ duplicate$ empty$ 'pop$
+ { language empty$ 'skip$
+ { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {space.word}{ " " swap$ * " " * }
+
+
+% Field Conditioners, Converters, Checkers and External Interfaces
+
+FUNCTION {empty.field.to.null.string}
+{ duplicate$ empty$
+ { pop$ "" }
+ { skip$ }
+ if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ { pop$ }
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {empty.entry.warn}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$ url empty$
+ and and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+% The bibinfo system provides a way for the electronic parsing/acquisition
+% of a bibliography's contents as is done by ReVTeX. For example, a field
+% could be entered into the bibliography as:
+% \bibinfo{volume}{2}
+% Only the "2" would show up in the document, but the LaTeX \bibinfo command
+% could do additional things with the information. IEEEtran.bst does provide
+% a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is
+% currently not used as the bogus bibinfo functions defined here output the
+% entry values directly without the \bibinfo wrapper. The bibinfo functions
+% themselves (and the calls to them) are retained for possible future use.
+%
+% bibinfo.check avoids acting on missing fields while bibinfo.warn will
+% issue a warning message if a missing field is detected. Prior to calling
+% the bibinfo functions, the user should push the field value and then its
+% name string, in that order.
+
+FUNCTION {bibinfo.check}
+{ swap$ duplicate$ missing$
+ { pop$ pop$ "" }
+ { duplicate$ empty$
+ { swap$ pop$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$ duplicate$ missing$
+ { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" }
+ { duplicate$ empty$
+ { swap$ "empty " swap$ * " in " * cite$ * warning$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+
+
+% IEEE separates large numbers with more than 4 digits into groups of
+% three. IEEE uses a small space to separate these number groups.
+% Typical applications include patent and page numbers.
+
+% number of consecutive digits required to trigger the group separation.
+FUNCTION {large.number.trigger}{ #5 }
+
+% For numbers longer than the trigger, this is the blocksize of the groups.
+% The blocksize must be less than the trigger threshold, and 2 * blocksize
+% must be greater than the trigger threshold (can't do more than one
+% separation on the initial trigger).
+FUNCTION {large.number.blocksize}{ #3 }
+
+% What is actually inserted between the number groups.
+FUNCTION {large.number.separator}{ "\," }
+
+% So as to save on integer variables by reusing existing ones, numnames
+% holds the current number of consecutive digits read and nameptr holds
+% the number that will trigger an inserted space.
+FUNCTION {large.number.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ { t empty$ not }
+ { t #-1 #1 substring$ is.num
+ { numnames #1 + 'numnames := }
+ { #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames nameptr =
+ { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$
+ nameptr large.number.blocksize - #1 + global.max$ substring$
+ large.number.separator swap$ * *
+ nameptr large.number.blocksize - 'numnames :=
+ large.number.blocksize #1 + 'nameptr :=
+ }
+ { skip$ }
+ if$
+ }
+ while$
+}
+
+% Converts all single dashes "-" to double dashes "--".
+FUNCTION {n.dashify}
+{ large.number.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+% This function detects entries with names that are identical to that of
+% the previous entry and replaces the repeated names with dashes (if the
+% "is.dash.repeated.names" user control is nonzero).
+FUNCTION {name.or.dash}
+{ 's :=
+ oldname empty$
+ { s 'oldname := s }
+ { s oldname =
+ { is.dash.repeated.names
+ { repeated.name.dashes }
+ { s 'oldname := s }
+ if$
+ }
+ { s 'oldname := s }
+ if$
+ }
+ if$
+}
+
+% Converts the number string on the top of the stack to
+% "numerical ordinal form" (e.g., "7" to "7th"). There is
+% no artificial limit to the upper bound of the numbers as the
+% least significant digit always determines the ordinal form.
+FUNCTION {num.to.ordinal}
+{ duplicate$ #-1 #1 substring$ "1" =
+ { bbl.st * }
+ { duplicate$ #-1 #1 substring$ "2" =
+ { bbl.nd * }
+ { duplicate$ #-1 #1 substring$ "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+% If the string on the top of the stack begins with a number,
+% (e.g., 11th) then replace the string with the leading number
+% it contains. Otherwise retain the string as-is. s holds the
+% extracted number, t holds the part of the string that remains
+% to be scanned.
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+% Converts the word number string on the top of the stack to
+% Arabic string form. Will be successful up to "tenth".
+FUNCTION {word.to.num}
+{ duplicate$ "l" change.case$ 's :=
+ s "first" =
+ { pop$ "1" }
+ { skip$ }
+ if$
+ s "second" =
+ { pop$ "2" }
+ { skip$ }
+ if$
+ s "third" =
+ { pop$ "3" }
+ { skip$ }
+ if$
+ s "fourth" =
+ { pop$ "4" }
+ { skip$ }
+ if$
+ s "fifth" =
+ { pop$ "5" }
+ { skip$ }
+ if$
+ s "sixth" =
+ { pop$ "6" }
+ { skip$ }
+ if$
+ s "seventh" =
+ { pop$ "7" }
+ { skip$ }
+ if$
+ s "eighth" =
+ { pop$ "8" }
+ { skip$ }
+ if$
+ s "ninth" =
+ { pop$ "9" }
+ { skip$ }
+ if$
+ s "tenth" =
+ { pop$ "10" }
+ { skip$ }
+ if$
+}
+
+
+% Converts the string on the top of the stack to numerical
+% ordinal (e.g., "11th") form.
+FUNCTION {convert.edition}
+{ duplicate$ empty$ 'skip$
+ { duplicate$ #1 #1 substring$ is.num
+ { extract.num
+ num.to.ordinal
+ }
+ { word.to.num
+ duplicate$ #1 #1 substring$ is.num
+ { num.to.ordinal }
+ { "edition ordinal word " quote$ * edition * quote$ *
+ " may be too high (or improper) for conversion" * " in " * cite$ * warning$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LATEX BIBLIOGRAPHY CODE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {start.entry}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ initialize.prev.this.status
+}
+
+% Here we write out all the LaTeX code that we will need. The most involved
+% code sequences are those that control the alternate interword spacing and
+% foreign language hyphenation patterns. The heavy use of \providecommand
+% gives users a way to override the defaults. Special thanks to Javier Bezos,
+% Johannes Braams, Robin Fairburns, Heiko Oberdiek, Donald Arseneau and all
+% the other gurus on comp.text.tex for their help and advice on the topic of
+% \selectlanguage, Babel and BibTeX.
+FUNCTION {begin.bib}
+{ preamble$ empty$ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\providecommand{\url}[1]{#1}"
+ write$ newline$
+ "\csname url@rmstyle\endcsname"
+ write$ newline$
+ "\providecommand{\newblock}{\relax}"
+ write$ newline$
+ "\providecommand{\bibinfo}[2]{#2}"
+ write$ newline$
+ "\providecommand\BIBentrySTDinterwordspacing{\spaceskip=0pt\relax}"
+ write$ newline$
+ "\providecommand\BIBentryALTinterwordstretchfactor{"
+ ALTinterwordstretchfactor * "}" *
+ write$ newline$
+ "\providecommand\BIBentryALTinterwordspacing{\spaceskip=\fontdimen2\font plus "
+ write$ newline$
+ "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}"
+ write$ newline$
+ "\providecommand\BIBforeignlanguage[2]{{%"
+ write$ newline$
+ "\expandafter\ifx\csname l@#1\endcsname\relax"
+ write$ newline$
+ "\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%"
+ write$ newline$
+ "\typeout{** loaded for the language `#1'. Using the pattern for}%"
+ write$ newline$
+ "\typeout{** the default language instead.}%"
+ write$ newline$
+ "\else"
+ write$ newline$
+ "\language=\csname l@#1\endcsname"
+ write$ newline$
+ "\fi"
+ write$ newline$
+ "#2}}"
+ write$ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$ "\end{thebibliography}" write$ newline$ }
+
+FUNCTION {if.url.alt.interword.spacing}
+{ is.use.alt.interword.spacing
+ {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$}
+ { skip$ }
+ if$
+}
+
+FUNCTION {if.url.std.interword.spacing}
+{ is.use.alt.interword.spacing
+ {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$}
+ { skip$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% LONGEST LABEL PASS %%
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%
+%% FORMAT HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%%
+
+%% Lower Level Formats (used by higher level formats)
+
+FUNCTION {format.address.org.or.pub.date}
+{ 't :=
+ ""
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { skip$ }
+ if$
+ address empty$ t empty$ and
+ year empty$ and month empty$ and
+ { skip$ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ address "address" bibinfo.check *
+ t empty$
+ { skip$ }
+ { punct.period 'prev.status.punct :=
+ space.large 'prev.status.space :=
+ address empty$
+ { skip$ }
+ { ": " * }
+ if$
+ t *
+ }
+ if$
+ year empty$ month empty$ and
+ { skip$ }
+ { t empty$ address empty$ and
+ { skip$ }
+ { ", " * }
+ if$
+ month empty$
+ { year empty$
+ { skip$ }
+ { year "year" bibinfo.check * }
+ if$
+ }
+ { month "month" bibinfo.check *
+ year empty$
+ { skip$ }
+ { " " * year "year" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ this.to.prev.status
+ this.status.std
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ name.format.string
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ { nameptr num.names.shown.with.forced.et.al #1 + =
+ numnames max.num.names.before.forced.et.al >
+ is.forced.et.al and and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ { skip$ }
+ if$
+ namesleft #1 >
+ { ", " * t do.name.latex.cmd * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+ space.word * t do.name.latex.cmd *
+ }
+ if$
+ }
+ if$
+ }
+ { t do.name.latex.cmd }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ cap.status.std
+ } if$
+}
+
+
+
+
+%% Higher Level Formats
+
+%% addresses/locations
+
+FUNCTION {format.address}
+{ address duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% author/editor names
+
+FUNCTION {format.authors}{ author "author" format.names }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ { ", " *
+ get.bbl.editor
+ capitalize
+ *
+ }
+ if$
+}
+
+
+
+%% date
+
+FUNCTION {format.date}
+{
+ month "month" bibinfo.check duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ swap$ 'skip$
+ {
+ swap$
+ " " * swap$
+ }
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {format.date.electronic}
+{ month "month" bibinfo.check duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$
+ { pop$ }
+ { "there's a month but no year in " cite$ * warning$
+ pop$ ")" * "(" swap$ *
+ this.to.prev.status
+ punct.no 'this.status.punct :=
+ space.normal 'this.status.space :=
+ quote.no 'this.status.quote :=
+ cap.yes 'status.cap :=
+ }
+ if$
+ }
+ { swap$
+ { swap$ pop$ ")" * "(" swap$ * }
+ { "(" swap$ * ", " * swap$ * ")" * }
+ if$
+ this.to.prev.status
+ punct.no 'this.status.punct :=
+ space.normal 'this.status.space :=
+ quote.no 'this.status.quote :=
+ cap.yes 'status.cap :=
+ }
+ if$
+}
+
+
+
+%% edition/title
+
+% Note: IEEE considers the edition to be closely associated with
+% the title of a book. So, in IEEEtran.bst the edition is normally handled
+% within the formatting of the title. The format.edition function is
+% retained here for possible future use.
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ convert.edition
+ status.cap
+ { "t" }
+ { "l" }
+ if$ change.case$
+ "edition" bibinfo.check
+ "~" * bbl.edition *
+ cap.status.std
+ }
+ if$
+}
+
+% This is used to format the booktitle of a conference proceedings.
+% Here we use the "intype" field to provide the user a way to
+% override the word "in" (e.g., with things like "presented at")
+% Use of intype stops the emphasis of the booktitle to indicate that
+% we no longer mean the written conference proceedings, but the
+% conference itself.
+FUNCTION {format.in.booktitle}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ select.language
+ intype missing$
+ { emphasize
+ bbl.in " " *
+ }
+ { intype " " * }
+ if$
+ swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+% This is used to format the booktitle of collection.
+% Here the "intype" field is not supported, but "edition" is.
+FUNCTION {format.in.booktitle.edition}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ select.language
+ emphasize
+ edition empty$ 'skip$
+ { ", " *
+ edition
+ convert.edition
+ "l" change.case$
+ * "~" * bbl.edition *
+ }
+ if$
+ bbl.in " " * swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.article.title}
+{ title duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ "t" change.case$
+ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { quote.close 'this.status.quote :=
+ is.last.char.not.punct
+ { punct.std 'this.status.punct := }
+ { punct.no 'this.status.punct := }
+ if$
+ select.language
+ "``" swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.article.title.electronic}
+{ title duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ "t" change.case$
+ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$
+ { skip$ }
+ { select.language }
+ if$
+}
+
+FUNCTION {format.book.title.edition}
+{ title "title" bibinfo.check
+ duplicate$ empty$
+ { "empty title in " cite$ * warning$ }
+ { this.to.prev.status
+ this.status.std
+ select.language
+ emphasize
+ edition empty$ 'skip$
+ { ", " *
+ edition
+ convert.edition
+ status.cap
+ { "t" }
+ { "l" }
+ if$
+ change.case$
+ * "~" * bbl.edition *
+ }
+ if$
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.book.title}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ select.language
+ emphasize
+ }
+ if$
+}
+
+
+
+%% journal
+
+FUNCTION {format.journal}
+{ journal duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ select.language
+ emphasize
+ }
+ if$
+}
+
+
+
+%% how published
+
+FUNCTION {format.howpublished}
+{ howpublished duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% institutions/organization/publishers/school
+
+FUNCTION {format.institution}
+{ institution duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.address.publisher.date}
+{ publisher "publisher" bibinfo.warn format.address.org.or.pub.date }
+
+FUNCTION {format.address.publisher.date.nowarn}
+{ publisher "publisher" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.address.organization.date}
+{ organization "organization" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.school}
+{ school duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% volume/number/series/chapter/pages
+
+FUNCTION {format.volume}
+{ volume empty.field.to.null.string
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ bbl.volume
+ status.cap
+ { capitalize }
+ { skip$ }
+ if$
+ swap$ tie.or.space.prefix
+ "volume" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty.field.to.null.string
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ status.cap
+ { bbl.number capitalize }
+ { bbl.number }
+ if$
+ swap$ tie.or.space.prefix
+ "number" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.number.if.use.for.article}
+{ is.use.number.for.article
+ { format.number }
+ { "" }
+ if$
+}
+
+% IEEE does not seem to tie the series so closely with the volume
+% and number as is done in other bibliography styles. Instead the
+% series is treated somewhat like an extension of the title.
+FUNCTION {format.series}
+{ series empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ bbl.series " " *
+ series "series" bibinfo.check *
+ cap.status.std
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter}
+{ chapter empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+% The intended use of format.paper is for paper numbers of inproceedings.
+% The paper type can be overridden via the type field.
+% We allow the type to be displayed even if the paper number is absent
+% for things like "postdeadline paper"
+FUNCTION {format.paper}
+{ is.use.paper
+ { paper empty$
+ { type empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ type "type" bibinfo.check
+ cap.status.std
+ }
+ if$
+ }
+ { this.to.prev.status
+ this.status.std
+ type empty$
+ { bbl.paper }
+ { type "type" bibinfo.check }
+ if$
+ " " * paper
+ "paper" bibinfo.check
+ *
+ cap.status.std
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ duplicate$ is.multiple.pages
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% technical report number
+
+FUNCTION {format.tech.report.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$
+ this.to.prev.status
+ this.status.std
+ cap.status.std
+ bbl.techrep
+ }
+ { skip$ }
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ tie.or.space.prefix * * }
+ if$
+}
+
+
+
+%% note
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ punct.period 'this.status.punct :=
+ note #1 #1 substring$
+ duplicate$ "{" =
+ { skip$ }
+ { status.cap
+ { "u" }
+ { "l" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ cap.yes 'status.cap :=
+ }
+ if$
+}
+
+
+
+%% patent
+
+FUNCTION {format.patent.date}
+{ this.to.prev.status
+ this.status.std
+ year empty$
+ { monthfiled duplicate$ empty$
+ { "monthfiled" bibinfo.check pop$ "" }
+ { "monthfiled" bibinfo.check }
+ if$
+ dayfiled duplicate$ empty$
+ { "dayfiled" bibinfo.check pop$ "" * }
+ { "dayfiled" bibinfo.check
+ monthfiled empty$
+ { "dayfiled without a monthfiled in " cite$ * warning$
+ *
+ }
+ { " " swap$ * * }
+ if$
+ }
+ if$
+ yearfiled empty$
+ { "no year or yearfiled in " cite$ * warning$ }
+ { yearfiled "yearfiled" bibinfo.check
+ swap$
+ duplicate$ empty$
+ { pop$ }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+ }
+ { month duplicate$ empty$
+ { "month" bibinfo.check pop$ "" }
+ { "month" bibinfo.check }
+ if$
+ day duplicate$ empty$
+ { "day" bibinfo.check pop$ "" * }
+ { "day" bibinfo.check
+ month empty$
+ { "day without a month in " cite$ * warning$
+ *
+ }
+ { " " swap$ * * }
+ if$
+ }
+ if$
+ year "year" bibinfo.check
+ swap$
+ duplicate$ empty$
+ { pop$ }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+ cap.status.std
+}
+
+FUNCTION {format.patent.nationality.type.number}
+{ this.to.prev.status
+ this.status.std
+ nationality duplicate$ empty$
+ { "nationality" bibinfo.warn pop$ "" }
+ { "nationality" bibinfo.check
+ duplicate$ "l" change.case$ "united states" =
+ { pop$ bbl.patentUS }
+ { skip$ }
+ if$
+ " " *
+ }
+ if$
+ type empty$
+ { bbl.patent "type" bibinfo.check }
+ { type "type" bibinfo.check }
+ if$
+ *
+ number duplicate$ empty$
+ { "number" bibinfo.warn pop$ }
+ { "number" bibinfo.check
+ large.number.separate
+ swap$ " " * swap$ *
+ }
+ if$
+ cap.status.std
+}
+
+
+
+%% standard
+
+FUNCTION {format.organization.institution.standard.type.number}
+{ this.to.prev.status
+ this.status.std
+ organization duplicate$ empty$
+ { pop$
+ institution duplicate$ empty$
+ { "institution" bibinfo.warn }
+ { "institution" bibinfo.warn " " * }
+ if$
+ }
+ { "organization" bibinfo.warn " " * }
+ if$
+ type empty$
+ { bbl.standard "type" bibinfo.check }
+ { type "type" bibinfo.check }
+ if$
+ *
+ number duplicate$ empty$
+ { "number" bibinfo.check pop$ }
+ { "number" bibinfo.check
+ large.number.separate
+ swap$ " " * swap$ *
+ }
+ if$
+ cap.status.std
+}
+
+FUNCTION {format.revision}
+{ revision empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ bbl.revision
+ revision tie.or.space.prefix
+ "revision" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+%% thesis
+
+FUNCTION {format.master.thesis.type}
+{ this.to.prev.status
+ this.status.std
+ type empty$
+ {
+ bbl.mthesis
+ }
+ {
+ type "type" bibinfo.check
+ }
+ if$
+cap.status.std
+}
+
+FUNCTION {format.phd.thesis.type}
+{ this.to.prev.status
+ this.status.std
+ type empty$
+ {
+ bbl.phdthesis
+ }
+ {
+ type "type" bibinfo.check
+ }
+ if$
+cap.status.std
+}
+
+
+
+%% URL
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ cap.yes 'status.cap :=
+ bbl.urlprefix " " *
+ "\url{" * url * "}" *
+ punct.no 'this.status.punct :=
+ punct.period 'prev.status.punct :=
+ space.normal 'this.status.space :=
+ space.normal 'prev.status.space :=
+ quote.no 'this.status.quote :=
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%
+%% ENTRY HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%
+
+
+% Note: In many journals, IEEE (or the authors) tend not to show the number
+% for articles, so the display of the number is controlled here by the
+% switch "is.use.number.for.article"
+FUNCTION {article}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.journal "journal" bibinfo.check "journal" output.warn
+ format.volume output
+ format.number.if.use.for.article output
+ format.pages output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {book}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ author empty$
+ { format.editors "author and editor" output.warn }
+ { format.authors output.nonnull }
+ if$
+ name.or.dash
+ format.book.title.edition output
+ format.series output
+ author empty$
+ { skip$ }
+ { format.editors output }
+ if$
+ format.address.publisher.date output
+ format.volume output
+ format.number output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {booklet}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {electronic}
+{ std.status.using.period
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.date.electronic output
+ format.article.title.electronic output
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {inbook}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ author empty$
+ { format.editors "author and editor" output.warn }
+ { format.authors output.nonnull }
+ if$
+ name.or.dash
+ format.book.title.edition output
+ format.series output
+ format.address.publisher.date output
+ format.volume output
+ format.number output
+ format.chapter output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {incollection}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.in.booktitle.edition "booktitle" output.warn
+ format.series output
+ format.editors output
+ format.address.publisher.date.nowarn output
+ format.volume output
+ format.number output
+ format.chapter output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {inproceedings}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.in.booktitle "booktitle" output.warn
+ format.series output
+ format.editors output
+ format.volume output
+ format.number output
+ publisher empty$
+ { format.address.organization.date output }
+ { format.organization "organization" bibinfo.check output
+ format.address.publisher.date output
+ }
+ if$
+ format.paper output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {manual}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.book.title.edition "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {mastersthesis}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.master.thesis.type output.nonnull
+ format.school "school" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {misc}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title output
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.pages output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {patent}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title output
+ format.patent.nationality.type.number output
+ format.patent.date output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {periodical}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.editors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.series output
+ format.volume output
+ format.number output
+ format.organization "organization" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {phdthesis}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.phd.thesis.type output.nonnull
+ format.school "school" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {proceedings}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.editors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.series output
+ format.volume output
+ format.number output
+ publisher empty$
+ { format.address.organization.date output }
+ { format.organization "organization" bibinfo.check output
+ format.address.publisher.date output
+ }
+ if$
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {standard}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization.institution.standard.type.number output
+ format.revision output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {techreport}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.institution "institution" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.tech.report.number output.nonnull
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {unpublished}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.date output
+ format.note "note" output.warn
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+
+% The special entry type which provides the user interface to the
+% BST controls
+FUNCTION {IEEEtranBSTCTL}
+{ is.print.banners.to.terminal
+ { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." *
+ top$
+ }
+ { skip$ }
+ if$
+ CTLuse_article_number
+ empty$
+ { skip$ }
+ { CTLuse_article_number
+ yes.no.to.int
+ 'is.use.number.for.article :=
+ }
+ if$
+ CTLuse_paper
+ empty$
+ { skip$ }
+ { CTLuse_paper
+ yes.no.to.int
+ 'is.use.paper :=
+ }
+ if$
+ CTLuse_forced_etal
+ empty$
+ { skip$ }
+ { CTLuse_forced_etal
+ yes.no.to.int
+ 'is.forced.et.al :=
+ }
+ if$
+ CTLmax_names_forced_etal
+ empty$
+ { skip$ }
+ { CTLmax_names_forced_etal
+ string.to.integer
+ 'max.num.names.before.forced.et.al :=
+ }
+ if$
+ CTLnames_show_etal
+ empty$
+ { skip$ }
+ { CTLnames_show_etal
+ string.to.integer
+ 'num.names.shown.with.forced.et.al :=
+ }
+ if$
+ CTLuse_alt_spacing
+ empty$
+ { skip$ }
+ { CTLuse_alt_spacing
+ yes.no.to.int
+ 'is.use.alt.interword.spacing :=
+ }
+ if$
+ CTLalt_stretch_factor
+ empty$
+ { skip$ }
+ { CTLalt_stretch_factor
+ 'ALTinterwordstretchfactor :=
+ "\renewcommand\BIBentryALTinterwordstretchfactor{"
+ ALTinterwordstretchfactor * "}" *
+ write$ newline$
+ }
+ if$
+ CTLdash_repeated_names
+ empty$
+ { skip$ }
+ { CTLdash_repeated_names
+ yes.no.to.int
+ 'is.dash.repeated.names :=
+ }
+ if$
+ CTLname_format_string
+ empty$
+ { skip$ }
+ { CTLname_format_string
+ 'name.format.string :=
+ }
+ if$
+ CTLname_latex_cmd
+ empty$
+ { skip$ }
+ { CTLname_latex_cmd
+ 'name.latex.cmd :=
+ }
+ if$
+
+
+ num.names.shown.with.forced.et.al max.num.names.before.forced.et.al >
+ { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$
+ max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al :=
+ }
+ { skip$ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%
+%% ENTRY ALIASES %%
+%%%%%%%%%%%%%%%%%%%
+FUNCTION {conference}{inproceedings}
+FUNCTION {online}{electronic}
+FUNCTION {internet}{electronic}
+FUNCTION {webpage}{electronic}
+FUNCTION {default.type}{misc}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% MAIN PROGRAM %%
+%%%%%%%%%%%%%%%%%%
+
+READ
+
+EXECUTE {initialize.controls}
+EXECUTE {initialize.status.constants}
+EXECUTE {banner.message}
+
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
+
+EXECUTE{completed.message}
+
+
+%% That's all folks, mds.
diff --git a/Master/texmf-dist/bibtex/bst/IEEEtran/IEEEtranS.bst b/Master/texmf-dist/bibtex/bst/IEEEtran/IEEEtranS.bst
new file mode 100644
index 00000000000..48f92d25a62
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/IEEEtran/IEEEtranS.bst
@@ -0,0 +1,2550 @@
+%%
+%% IEEEtranS.bst
+%% BibTeX Bibliography Style file
+%% Sorting version of IEEEtran.bst
+%% *** Not for use with work to be submitted to the IEEE ***
+%% Version 1.11 (2003/04/02)
+%%
+%% Copyright (c) 2003 Michael Shell
+%%
+%% Original starting code base and algorithms obtained from the output of
+%% Patrick W. Daly's makebst package as well as from prior versions of
+%% IEEE BibTeX styles:
+%%
+%% 1. Howard Trickey and Oren Patashnik's ieeetr.bst (1985/1988)
+%% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993)
+%%
+%% Added sorting code is from plain.bst.
+%%
+%% See:
+%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
+%% for latest version and current contact information.
+%%
+%% For use with BibTeX version 0.99a or later
+%%
+%% This is a numerical citation style.
+%%
+%%**********************************************************************
+%% Legal Notice:
+%% This code is offered as-is without any warranty either expressed or
+%% implied; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE!
+%% User assumes all risk.
+%% In no event shall IEEE or any contributor to this code be liable for
+%% any damages or losses, including, but not limited to, incidental,
+%% consequential, or any other damages, resulting from the use or misuse
+%% of any information contained here.
+%%
+%% This code is distributed under the Perl Artistic License
+%% ( http://language.perl.com/misc/Artistic.html )
+%% and may be freely used, distributed and modified - subject to the
+%% constraints therein.
+%% Retain all contribution notices, credits and disclaimers.
+%%
+%% All comments are the opinions of their respective authors and are not
+%% necessarily endorsed by the IEEE.
+%%**********************************************************************
+%
+%
+% Changelog:
+%
+% 1.10 (2002/09/27) Initial release
+%
+% 1.11 (2003/04/02)
+% 1. Fixed bug with URLs containing underscores when using url.sty. Thanks
+% to Ming Kin Lai for reporting this.
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% These are the defaults for the user adjustable controls. The values used
+% here can be overridden by the user via IEEEtranBSTCTL entry type.
+
+% NOTE: The recommended LaTeX command to invoke a control entry type is:
+%
+%\makeatletter
+%\def\bstctlcite#1{\@bsphack
+% \@for\@citeb:=#1\do{%
+% \edef\@citeb{\expandafter\@firstofone\@citeb}%
+% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi}%
+% \@esphack}
+%\makeatother
+%
+% It is called at the start of the document, before the first \cite, like:
+% \bstctlcite{IEEEexample:BSTcontrol}
+%
+% IEEEtran.cls V1.6 and later does provide this command.
+
+
+
+% #0 turns off the display of the number for articles.
+% #1 enables
+FUNCTION {default.is.use.number.for.article} { #1 }
+
+
+% #0 turns off the display of the paper and type fields in @inproceedings.
+% #1 enables
+FUNCTION {default.is.use.paper} { #1 }
+
+
+% #0 turns off the forced use of "et al."
+% #1 enables
+FUNCTION {default.is.forced.et.al} { #0 }
+
+% The maximum number of names that can be present beyond which an "et al."
+% usage is forced. Be sure that num.names.shown.with.forced.et.al (below)
+% is not greater than this value!
+% Note: There are many instances of references in IEEE journals which have
+% a very large number of authors as well as instances in which "et al." is
+% used profusely.
+FUNCTION {default.max.num.names.before.forced.et.al} { #10 }
+
+% The number of names that will be shown with a forced "et al.".
+% Must be less than or equal to max.num.names.before.forced.et.al
+FUNCTION {default.num.names.shown.with.forced.et.al} { #1 }
+
+
+% #0 turns off the alternate interword spacing for entries with URLs.
+% #1 enables
+FUNCTION {default.is.use.alt.interword.spacing} { #1 }
+
+% If alternate interword spacing for entries with URLs is enabled, this is
+% the interword spacing stretch factor that will be used. For example, the
+% default "4" here means that the interword spacing in entries with URLs can
+% stretch to four times normal. Does not have to be an integer. Note that
+% the value specified here can be overridden by the user in their LaTeX
+% code via a command such as:
+% "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to
+% that via the IEEEtranBSTCTL entry type.
+FUNCTION {default.ALTinterwordstretchfactor} { "4" }
+
+
+% #0 turns off the "dashification" of repeated (i.e., identical to those
+% of the previous entry) names. IEEE normally does this.
+% #1 enables
+FUNCTION {default.is.dash.repeated.names} { #1 }
+
+
+% The default name format control string.
+FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" }
+
+
+% The default LaTeX font command for the names.
+FUNCTION {default.name.latex.cmd}{ "" }
+
+
+% Other controls that cannot be accessed via IEEEtranBSTCTL entry type.
+
+% #0 turns off the terminal startup banner/completed message so as to
+% operate more quietly.
+% #1 enables
+FUNCTION {is.print.banners.to.terminal} { #1 }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FILE VERSION AND BANNER %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION{bst.file.version} { "1.11" }
+FUNCTION{bst.file.date} { "2003/04/02" }
+FUNCTION{bst.file.website} { "http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/" }
+
+FUNCTION {banner.message}
+{ is.print.banners.to.terminal
+ { "-- IEEEtranS.bst version" " " * bst.file.version *
+ " (" * bst.file.date * ") " * "by Michael Shell." *
+ top$
+ "-- " bst.file.website *
+ top$
+ "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." *
+ top$
+ "** Sorting version - not for use with work to be submitted to the IEEE."
+ top$
+ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {completed.message}
+{ is.print.banners.to.terminal
+ { ""
+ top$
+ "Done."
+ top$
+ }
+ { skip$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING CONSTANTS %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {bbl.and}{ "and" }
+FUNCTION {bbl.etal}{ "et~al." }
+FUNCTION {bbl.editors}{ "eds." }
+FUNCTION {bbl.editor}{ "ed." }
+FUNCTION {bbl.edition}{ "ed." }
+FUNCTION {bbl.volume}{ "vol." }
+FUNCTION {bbl.of}{ "of" }
+FUNCTION {bbl.number}{ "no." }
+FUNCTION {bbl.in}{ "in" }
+FUNCTION {bbl.pages}{ "pp." }
+FUNCTION {bbl.page}{ "p." }
+FUNCTION {bbl.chapter}{ "ch." }
+FUNCTION {bbl.paper}{ "paper" }
+FUNCTION {bbl.part}{ "pt." }
+FUNCTION {bbl.patent}{ "Patent" }
+FUNCTION {bbl.patentUS}{ "U.S." }
+FUNCTION {bbl.revision}{ "Rev." }
+FUNCTION {bbl.series}{ "ser." }
+FUNCTION {bbl.standard}{ "Std." }
+FUNCTION {bbl.techrep}{ "Tech. Rep." }
+FUNCTION {bbl.mthesis}{ "Master's thesis" }
+FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" }
+FUNCTION {bbl.urlprefix}{ "[Online]. Available:" }
+FUNCTION {bbl.st}{ "st" }
+FUNCTION {bbl.nd}{ "nd" }
+FUNCTION {bbl.rd}{ "rd" }
+FUNCTION {bbl.th}{ "th" }
+
+
+% This is the LaTeX spacer that is used when a larger than normal space
+% is called for (such as just before the address:publisher).
+FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " }
+
+% The LaTeX code for dashes that are used to represent repeated names.
+% Note: Some older IEEE journals used something like
+% "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along
+% the baseline. However, IEEE now uses a thinner, above baseline,
+% six dash long sequence.
+FUNCTION {repeated.name.dashes} { "------" }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% PREDEFINED STRING MACROS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% ENTRY FIELDS %%
+%%%%%%%%%%%%%%%%%%
+
+ENTRY
+ { address
+ assignee
+ author
+ booktitle
+ chapter
+ day
+ dayfiled
+ edition
+ editor
+ howpublished
+ institution
+ intype
+ journal
+ key
+ language
+ month
+ monthfiled
+ nationality
+ note
+ number
+ organization
+ pages
+ paper
+ publisher
+ school
+ series
+ revision
+ title
+ type
+ url
+ volume
+ year
+ yearfiled
+ CTLuse_article_number
+ CTLuse_paper
+ CTLuse_forced_etal
+ CTLmax_names_forced_etal
+ CTLnames_show_etal
+ CTLuse_alt_spacing
+ CTLalt_stretch_factor
+ CTLdash_repeated_names
+ CTLname_format_string
+ CTLname_latex_cmd
+ }
+ {}
+ { label }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%% INTEGER VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%%
+
+INTEGERS { prev.status.punct this.status.punct punct.std
+ punct.no punct.comma punct.period
+ prev.status.space this.status.space space.std
+ space.no space.normal space.large
+ prev.status.quote this.status.quote quote.std
+ quote.no quote.close
+ prev.status.nline this.status.nline nline.std
+ nline.no nline.newblock
+ status.cap cap.std
+ cap.no cap.yes}
+
+INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames }
+
+INTEGERS { is.use.number.for.article
+ is.use.paper
+ is.forced.et.al
+ max.num.names.before.forced.et.al
+ num.names.shown.with.forced.et.al
+ is.use.alt.interword.spacing
+ is.dash.repeated.names}
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+STRINGS { bibinfo
+ longest.label
+ oldname
+ s
+ t
+ ALTinterwordstretchfactor
+ name.format.string
+ name.latex.cmd}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LOW LEVEL FUNCTIONS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.controls}
+{ default.is.use.number.for.article 'is.use.number.for.article :=
+ default.is.use.paper 'is.use.paper :=
+ default.is.forced.et.al 'is.forced.et.al :=
+ default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al :=
+ default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al :=
+ default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing :=
+ default.is.dash.repeated.names 'is.dash.repeated.names :=
+ default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor :=
+ default.name.format.string 'name.format.string :=
+ default.name.latex.cmd 'name.latex.cmd :=
+}
+
+
+% This IEEEtran.bst features a very powerful and flexible mechanism for
+% controlling the capitalization, punctuation, spacing, quotation, and
+% newlines of the formatted entry fields. (Note: IEEEtran.bst does not need
+% or use the newline/newblock feature, but it has been implemented for
+% possible future use.) The output states of IEEEtran.bst consist of
+% multiple independent attributes and, as such, can be thought of as being
+% vectors, rather than the simple scalar values ("before.all",
+% "mid.sentence", etc.) used in most other .bst files.
+%
+% The more flexible and complex design used here was motivated in part by
+% IEEE's rather unusual bibliography style. For example, IEEE ends the
+% previous field item with a period and large space prior to the publisher
+% address; the @electronic entry types use periods as inter-item punctuation
+% rather than the commas used by the other entry types; and URLs are never
+% followed by periods even though they are the last item in the entry.
+% Although it is possible to accommodate these features with the conventional
+% output state system, the seemingly endless exceptions make for convoluted,
+% unreliable and difficult to maintain code.
+%
+% IEEEtran.bst's output state system can be easily understood via a simple
+% illustration of two most recently formatted entry fields (on the stack):
+%
+% CURRENT_ITEM
+% "PREVIOUS_ITEM
+%
+% which, in this example, is to eventually appear in the bibliography as:
+%
+% "PREVIOUS_ITEM," CURRENT_ITEM
+%
+% It is the job of the output routine to take the previous item off of the
+% stack (while leaving the current item at the top of the stack), apply its
+% trailing punctuation (including closing quote marks) and spacing, and then
+% to write the result to BibTeX's output buffer:
+%
+% "PREVIOUS_ITEM,"
+%
+% Punctuation (and spacing) between items is often determined by both of the
+% items rather than just the first one. The presence of quotation marks
+% further complicates the situation because, in standard English, trailing
+% punctuation marks are supposed to be contained within the quotes.
+%
+% IEEEtran.bst maintains two output state (aka "status") vectors which
+% correspond to the previous and current (aka "this") items. Each vector
+% consists of several independent attributes which track punctuation,
+% spacing, quotation, and newlines. Capitalization status is handled by a
+% separate scalar because the format routines, not the output routine,
+% handle capitalization and, therefore, there is no need to maintain the
+% capitalization attribute for both the "previous" and "this" items.
+%
+% When a format routine adds a new item, it copies the current output status
+% vector to the previous output status vector and (usually) resets the
+% current (this) output status vector to a "standard status" vector. Using a
+% "standard status" vector in this way allows us to redefine what we mean by
+% "standard status" at the start of each entry handler and reuse the same
+% format routines under the various inter-item separation schemes. For
+% example, the standard status vector for the @book entry type may use
+% commas for item separators, while the @electronic type may use periods,
+% yet both entry handlers exploit many of the exact same format routines.
+%
+% Because format routines have write access to the output status vector of
+% the previous item, they can override the punctuation choices of the
+% previous format routine! Therefore, it becomes trivial to implement rules
+% such as "Always use a period and a large space before the publisher." By
+% pushing the generation of the closing quote mark to the output routine, we
+% avoid all the problems caused by having to close a quote before having all
+% the information required to determine what the punctuation should be.
+%
+% The IEEEtran.bst output state system can easily be expanded if needed.
+% For instance, it is easy to add a "space.tie" attribute value if the
+% bibliography rules mandate that two items have to be joined with an
+% unbreakable space.
+
+FUNCTION {initialize.status.constants}
+{ #0 'punct.no :=
+ #1 'punct.comma :=
+ #2 'punct.period :=
+ #0 'space.no :=
+ #1 'space.normal :=
+ #2 'space.large :=
+ #0 'quote.no :=
+ #1 'quote.close :=
+ #0 'cap.no :=
+ #1 'cap.yes :=
+ #0 'nline.no :=
+ #1 'nline.newblock :=
+}
+
+FUNCTION {std.status.using.comma}
+{ punct.comma 'punct.std :=
+ space.normal 'space.std :=
+ quote.no 'quote.std :=
+ nline.no 'nline.std :=
+ cap.no 'cap.std :=
+}
+
+FUNCTION {std.status.using.period}
+{ punct.period 'punct.std :=
+ space.normal 'space.std :=
+ quote.no 'quote.std :=
+ nline.no 'nline.std :=
+ cap.yes 'cap.std :=
+}
+
+FUNCTION {initialize.prev.this.status}
+{ punct.no 'prev.status.punct :=
+ space.no 'prev.status.space :=
+ quote.no 'prev.status.quote :=
+ nline.no 'prev.status.nline :=
+ punct.no 'this.status.punct :=
+ space.no 'this.status.space :=
+ quote.no 'this.status.quote :=
+ nline.no 'this.status.nline :=
+ cap.yes 'status.cap :=
+}
+
+FUNCTION {this.status.std}
+{ punct.std 'this.status.punct :=
+ space.std 'this.status.space :=
+ quote.std 'this.status.quote :=
+ nline.std 'this.status.nline :=
+}
+
+FUNCTION {cap.status.std}{ cap.std 'status.cap := }
+
+FUNCTION {this.to.prev.status}
+{ this.status.punct 'prev.status.punct :=
+ this.status.space 'prev.status.space :=
+ this.status.quote 'prev.status.quote :=
+ this.status.nline 'prev.status.nline :=
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ { skip$ }
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ { skip$ }
+ if$
+}
+
+
+% convert the strings "yes" or "no" to #1 or #0 respectively
+FUNCTION {yes.no.to.int}
+{ "l" change.case$ duplicate$
+ "yes" =
+ { pop$ #1 }
+ { duplicate$ "no" =
+ { pop$ #0 }
+ { "unknown boolean " quote$ * swap$ * quote$ *
+ " in " * cite$ * warning$
+ #0
+ }
+ if$
+ }
+ if$
+}
+
+
+% pushes true if the single char string on the stack is in the
+% range of "0" to "9"
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+% multiplies the integer on the stack by a factor of 10
+FUNCTION {bump.int.mag}
+{ #0 'multiresult :=
+ { duplicate$ #0 > }
+ { #1 -
+ multiresult #10 +
+ 'multiresult :=
+ }
+ while$
+pop$
+multiresult
+}
+
+% converts a single character string on the stack to an integer
+FUNCTION {char.to.integer}
+{ duplicate$
+ is.num
+ { chr.to.int$ "0" chr.to.int$ - }
+ {"noninteger character " quote$ * swap$ * quote$ *
+ " in integer field of " * cite$ * warning$
+ #0
+ }
+ if$
+}
+
+% converts a string on the stack to an integer
+FUNCTION {string.to.integer}
+{ duplicate$ text.length$ 'namesleft :=
+ #1 'nameptr :=
+ #0 'numnames :=
+ { nameptr namesleft > not }
+ { duplicate$ nameptr #1 substring$
+ char.to.integer numnames bump.int.mag +
+ 'numnames :=
+ nameptr #1 +
+ 'nameptr :=
+ }
+ while$
+pop$
+numnames
+}
+
+
+
+
+% The output routines write out the *next* to the top (previous) item on the
+% stack, adding punctuation and such as needed. Since IEEEtran.bst maintains
+% the output status for the top two items on the stack, these output
+% routines have to consider the previous output status (which corresponds to
+% the item that is being output). Full independent control of punctuation,
+% closing quote marks, spacing, and newblock is provided.
+%
+% "output.nonnull" does not check for the presence of a previous empty
+% item.
+%
+% "output" does check for the presence of a previous empty item and will
+% remove an empty item rather than outputing it.
+%
+% "output.warn" is like "output", but will issue a warning if it detects
+% an empty item.
+
+FUNCTION {output.nonnull}
+{ swap$
+ prev.status.punct punct.comma =
+ { "," * }
+ { skip$ }
+ if$
+ prev.status.punct punct.period =
+ { add.period$ }
+ { skip$ }
+ if$
+ prev.status.quote quote.close =
+ { "''" * }
+ { skip$ }
+ if$
+ prev.status.space space.normal =
+ { " " * }
+ { skip$ }
+ if$
+ prev.status.space space.large =
+ { large.space * }
+ { skip$ }
+ if$
+ write$
+ prev.status.nline nline.newblock =
+ { newline$ "\newblock " write$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.warn}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% "fin.entry" is the output routine that handles the last item of the entry
+% (which will be on the top of the stack when "fin.entry" is called).
+
+FUNCTION {fin.entry}
+{ this.status.punct punct.no =
+ { skip$ }
+ { add.period$ }
+ if$
+ this.status.quote quote.close =
+ { "''" * }
+ { skip$ }
+ if$
+write$
+newline$
+}
+
+
+FUNCTION {is.last.char.not.punct}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {is.multiple.pages}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {capitalize}{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {do.name.latex.cmd}
+{ name.latex.cmd
+ empty$
+ { skip$ }
+ { name.latex.cmd "{" * swap$ * "}" * }
+ if$
+}
+
+% IEEEtran.bst uses its own \BIBforeignlanguage command which directly
+% invokes the TeX hyphenation patterns without the need of the Babel
+% package. Babel does a lot more than switch hyphenation patterns and
+% its loading can cause unintended effects in many class files (such as
+% IEEEtran.cls).
+FUNCTION {select.language}
+{ duplicate$ empty$ 'pop$
+ { language empty$ 'skip$
+ { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {space.word}{ " " swap$ * " " * }
+
+
+% Field Conditioners, Converters, Checkers and External Interfaces
+
+FUNCTION {empty.field.to.null.string}
+{ duplicate$ empty$
+ { pop$ "" }
+ { skip$ }
+ if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ { pop$ }
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {empty.entry.warn}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$ url empty$
+ and and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+% The bibinfo system provides a way for the electronic parsing/acquisition
+% of a bibliography's contents as is done by ReVTeX. For example, a field
+% could be entered into the bibliography as:
+% \bibinfo{volume}{2}
+% Only the "2" would show up in the document, but the LaTeX \bibinfo command
+% could do additional things with the information. IEEEtran.bst does provide
+% a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is
+% currently not used as the bogus bibinfo functions defined here output the
+% entry values directly without the \bibinfo wrapper. The bibinfo functions
+% themselves (and the calls to them) are retained for possible future use.
+%
+% bibinfo.check avoids acting on missing fields while bibinfo.warn will
+% issue a warning message if a missing field is detected. Prior to calling
+% the bibinfo functions, the user should push the field value and then its
+% name string, in that order.
+
+FUNCTION {bibinfo.check}
+{ swap$ duplicate$ missing$
+ { pop$ pop$ "" }
+ { duplicate$ empty$
+ { swap$ pop$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$ duplicate$ missing$
+ { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" }
+ { duplicate$ empty$
+ { swap$ "empty " swap$ * " in " * cite$ * warning$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+
+
+% IEEE separates large numbers with more than 4 digits into groups of
+% three. IEEE uses a small space to separate these number groups.
+% Typical applications include patent and page numbers.
+
+% number of consecutive digits required to trigger the group separation.
+FUNCTION {large.number.trigger}{ #5 }
+
+% For numbers longer than the trigger, this is the blocksize of the groups.
+% The blocksize must be less than the trigger threshold, and 2 * blocksize
+% must be greater than the trigger threshold (can't do more than one
+% separation on the initial trigger).
+FUNCTION {large.number.blocksize}{ #3 }
+
+% What is actually inserted between the number groups.
+FUNCTION {large.number.separator}{ "\," }
+
+% So as to save on integer variables by reusing existing ones, numnames
+% holds the current number of consecutive digits read and nameptr holds
+% the number that will trigger an inserted space.
+FUNCTION {large.number.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ { t empty$ not }
+ { t #-1 #1 substring$ is.num
+ { numnames #1 + 'numnames := }
+ { #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames nameptr =
+ { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$
+ nameptr large.number.blocksize - #1 + global.max$ substring$
+ large.number.separator swap$ * *
+ nameptr large.number.blocksize - 'numnames :=
+ large.number.blocksize #1 + 'nameptr :=
+ }
+ { skip$ }
+ if$
+ }
+ while$
+}
+
+% Converts all single dashes "-" to double dashes "--".
+FUNCTION {n.dashify}
+{ large.number.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+% This function detects entries with names that are identical to that of
+% the previous entry and replaces the repeated names with dashes (if the
+% "is.dash.repeated.names" user control is nonzero).
+FUNCTION {name.or.dash}
+{ 's :=
+ oldname empty$
+ { s 'oldname := s }
+ { s oldname =
+ { is.dash.repeated.names
+ { repeated.name.dashes }
+ { s 'oldname := s }
+ if$
+ }
+ { s 'oldname := s }
+ if$
+ }
+ if$
+}
+
+% Converts the number string on the top of the stack to
+% "numerical ordinal form" (e.g., "7" to "7th"). There is
+% no artificial limit to the upper bound of the numbers as the
+% least significant digit always determines the ordinal form.
+FUNCTION {num.to.ordinal}
+{ duplicate$ #-1 #1 substring$ "1" =
+ { bbl.st * }
+ { duplicate$ #-1 #1 substring$ "2" =
+ { bbl.nd * }
+ { duplicate$ #-1 #1 substring$ "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+% If the string on the top of the stack begins with a number,
+% (e.g., 11th) then replace the string with the leading number
+% it contains. Otherwise retain the string as-is. s holds the
+% extracted number, t holds the part of the string that remains
+% to be scanned.
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+% Converts the word number string on the top of the stack to
+% Arabic string form. Will be successful up to "tenth".
+FUNCTION {word.to.num}
+{ duplicate$ "l" change.case$ 's :=
+ s "first" =
+ { pop$ "1" }
+ { skip$ }
+ if$
+ s "second" =
+ { pop$ "2" }
+ { skip$ }
+ if$
+ s "third" =
+ { pop$ "3" }
+ { skip$ }
+ if$
+ s "fourth" =
+ { pop$ "4" }
+ { skip$ }
+ if$
+ s "fifth" =
+ { pop$ "5" }
+ { skip$ }
+ if$
+ s "sixth" =
+ { pop$ "6" }
+ { skip$ }
+ if$
+ s "seventh" =
+ { pop$ "7" }
+ { skip$ }
+ if$
+ s "eighth" =
+ { pop$ "8" }
+ { skip$ }
+ if$
+ s "ninth" =
+ { pop$ "9" }
+ { skip$ }
+ if$
+ s "tenth" =
+ { pop$ "10" }
+ { skip$ }
+ if$
+}
+
+
+% Converts the string on the top of the stack to numerical
+% ordinal (e.g., "11th") form.
+FUNCTION {convert.edition}
+{ duplicate$ empty$ 'skip$
+ { duplicate$ #1 #1 substring$ is.num
+ { extract.num
+ num.to.ordinal
+ }
+ { word.to.num
+ duplicate$ #1 #1 substring$ is.num
+ { num.to.ordinal }
+ { "edition ordinal word " quote$ * edition * quote$ *
+ " may be too high (or improper) for conversion" * " in " * cite$ * warning$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LATEX BIBLIOGRAPHY CODE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {start.entry}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ initialize.prev.this.status
+}
+
+% Here we write out all the LaTeX code that we will need. The most involved
+% code sequences are those that control the alternate interword spacing and
+% foreign language hyphenation patterns. The heavy use of \providecommand
+% gives users a way to override the defaults. Special thanks to Javier Bezos,
+% Johannes Braams, Robin Fairburns, Heiko Oberdiek, Donald Arseneau and all
+% the other gurus on comp.text.tex for their help and advice on the topic of
+% \selectlanguage, Babel and BibTeX.
+FUNCTION {begin.bib}
+{ preamble$ empty$ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\providecommand{\url}[1]{#1}"
+ write$ newline$
+ "\csname url@rmstyle\endcsname"
+ write$ newline$
+ "\providecommand{\newblock}{\relax}"
+ write$ newline$
+ "\providecommand{\bibinfo}[2]{#2}"
+ write$ newline$
+ "\providecommand\BIBentrySTDinterwordspacing{\spaceskip=0pt\relax}"
+ write$ newline$
+ "\providecommand\BIBentryALTinterwordstretchfactor{"
+ ALTinterwordstretchfactor * "}" *
+ write$ newline$
+ "\providecommand\BIBentryALTinterwordspacing{\spaceskip=\fontdimen2\font plus "
+ write$ newline$
+ "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}"
+ write$ newline$
+ "\providecommand\BIBforeignlanguage[2]{{%"
+ write$ newline$
+ "\expandafter\ifx\csname l@#1\endcsname\relax"
+ write$ newline$
+ "\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%"
+ write$ newline$
+ "\typeout{** loaded for the language `#1'. Using the pattern for}%"
+ write$ newline$
+ "\typeout{** the default language instead.}%"
+ write$ newline$
+ "\else"
+ write$ newline$
+ "\language=\csname l@#1\endcsname"
+ write$ newline$
+ "\fi"
+ write$ newline$
+ "#2}}"
+ write$ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$ "\end{thebibliography}" write$ newline$ }
+
+FUNCTION {if.url.alt.interword.spacing}
+{ is.use.alt.interword.spacing
+ {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$}
+ { skip$ }
+ if$
+}
+
+FUNCTION {if.url.std.interword.spacing}
+{ is.use.alt.interword.spacing
+ {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$}
+ { skip$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% LONGEST LABEL PASS %%
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%
+%% FORMAT HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%%
+
+%% Lower Level Formats (used by higher level formats)
+
+FUNCTION {format.address.org.or.pub.date}
+{ 't :=
+ ""
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { skip$ }
+ if$
+ address empty$ t empty$ and
+ year empty$ and month empty$ and
+ { skip$ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ address "address" bibinfo.check *
+ t empty$
+ { skip$ }
+ { punct.period 'prev.status.punct :=
+ space.large 'prev.status.space :=
+ address empty$
+ { skip$ }
+ { ": " * }
+ if$
+ t *
+ }
+ if$
+ year empty$ month empty$ and
+ { skip$ }
+ { t empty$ address empty$ and
+ { skip$ }
+ { ", " * }
+ if$
+ month empty$
+ { year empty$
+ { skip$ }
+ { year "year" bibinfo.check * }
+ if$
+ }
+ { month "month" bibinfo.check *
+ year empty$
+ { skip$ }
+ { " " * year "year" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ this.to.prev.status
+ this.status.std
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ name.format.string
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ { nameptr num.names.shown.with.forced.et.al #1 + =
+ numnames max.num.names.before.forced.et.al >
+ is.forced.et.al and and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ { skip$ }
+ if$
+ namesleft #1 >
+ { ", " * t do.name.latex.cmd * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+ space.word * t do.name.latex.cmd *
+ }
+ if$
+ }
+ if$
+ }
+ { t do.name.latex.cmd }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ cap.status.std
+ } if$
+}
+
+
+
+
+%% Higher Level Formats
+
+%% addresses/locations
+
+FUNCTION {format.address}
+{ address duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% author/editor names
+
+FUNCTION {format.authors}{ author "author" format.names }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ { ", " *
+ get.bbl.editor
+ capitalize
+ *
+ }
+ if$
+}
+
+
+
+%% date
+
+FUNCTION {format.date}
+{
+ month "month" bibinfo.check duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ swap$ 'skip$
+ {
+ swap$
+ " " * swap$
+ }
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {format.date.electronic}
+{ month "month" bibinfo.check duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$
+ { pop$ }
+ { "there's a month but no year in " cite$ * warning$
+ pop$ ")" * "(" swap$ *
+ this.to.prev.status
+ punct.no 'this.status.punct :=
+ space.normal 'this.status.space :=
+ quote.no 'this.status.quote :=
+ cap.yes 'status.cap :=
+ }
+ if$
+ }
+ { swap$
+ { swap$ pop$ ")" * "(" swap$ * }
+ { "(" swap$ * ", " * swap$ * ")" * }
+ if$
+ this.to.prev.status
+ punct.no 'this.status.punct :=
+ space.normal 'this.status.space :=
+ quote.no 'this.status.quote :=
+ cap.yes 'status.cap :=
+ }
+ if$
+}
+
+
+
+%% edition/title
+
+% Note: IEEE considers the edition to be closely associated with
+% the title of a book. So, in IEEEtran.bst the edition is normally handled
+% within the formatting of the title. The format.edition function is
+% retained here for possible future use.
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ convert.edition
+ status.cap
+ { "t" }
+ { "l" }
+ if$ change.case$
+ "edition" bibinfo.check
+ "~" * bbl.edition *
+ cap.status.std
+ }
+ if$
+}
+
+% This is used to format the booktitle of a conference proceedings.
+% Here we use the "intype" field to provide the user a way to
+% override the word "in" (e.g., with things like "presented at")
+% Use of intype stops the emphasis of the booktitle to indicate that
+% we no longer mean the written conference proceedings, but the
+% conference itself.
+FUNCTION {format.in.booktitle}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ select.language
+ intype missing$
+ { emphasize
+ bbl.in " " *
+ }
+ { intype " " * }
+ if$
+ swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+% This is used to format the booktitle of collection.
+% Here the "intype" field is not supported, but "edition" is.
+FUNCTION {format.in.booktitle.edition}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ select.language
+ emphasize
+ edition empty$ 'skip$
+ { ", " *
+ edition
+ convert.edition
+ "l" change.case$
+ * "~" * bbl.edition *
+ }
+ if$
+ bbl.in " " * swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.article.title}
+{ title duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ "t" change.case$
+ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { quote.close 'this.status.quote :=
+ is.last.char.not.punct
+ { punct.std 'this.status.punct := }
+ { punct.no 'this.status.punct := }
+ if$
+ select.language
+ "``" swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.article.title.electronic}
+{ title duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ "t" change.case$
+ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$
+ { skip$ }
+ { select.language }
+ if$
+}
+
+FUNCTION {format.book.title.edition}
+{ title "title" bibinfo.check
+ duplicate$ empty$
+ { "empty title in " cite$ * warning$ }
+ { this.to.prev.status
+ this.status.std
+ select.language
+ emphasize
+ edition empty$ 'skip$
+ { ", " *
+ edition
+ convert.edition
+ status.cap
+ { "t" }
+ { "l" }
+ if$
+ change.case$
+ * "~" * bbl.edition *
+ }
+ if$
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.book.title}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ select.language
+ emphasize
+ }
+ if$
+}
+
+
+
+%% journal
+
+FUNCTION {format.journal}
+{ journal duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ select.language
+ emphasize
+ }
+ if$
+}
+
+
+
+%% how published
+
+FUNCTION {format.howpublished}
+{ howpublished duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% institutions/organization/publishers/school
+
+FUNCTION {format.institution}
+{ institution duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.address.publisher.date}
+{ publisher "publisher" bibinfo.warn format.address.org.or.pub.date }
+
+FUNCTION {format.address.publisher.date.nowarn}
+{ publisher "publisher" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.address.organization.date}
+{ organization "organization" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.school}
+{ school duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% volume/number/series/chapter/pages
+
+FUNCTION {format.volume}
+{ volume empty.field.to.null.string
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ bbl.volume
+ status.cap
+ { capitalize }
+ { skip$ }
+ if$
+ swap$ tie.or.space.prefix
+ "volume" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty.field.to.null.string
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ status.cap
+ { bbl.number capitalize }
+ { bbl.number }
+ if$
+ swap$ tie.or.space.prefix
+ "number" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.number.if.use.for.article}
+{ is.use.number.for.article
+ { format.number }
+ { "" }
+ if$
+}
+
+% IEEE does not seem to tie the series so closely with the volume
+% and number as is done in other bibliography styles. Instead the
+% series is treated somewhat like an extension of the title.
+FUNCTION {format.series}
+{ series empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ bbl.series " " *
+ series "series" bibinfo.check *
+ cap.status.std
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter}
+{ chapter empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+% The intended use of format.paper is for paper numbers of inproceedings.
+% The paper type can be overridden via the type field.
+% We allow the type to be displayed even if the paper number is absent
+% for things like "postdeadline paper"
+FUNCTION {format.paper}
+{ is.use.paper
+ { paper empty$
+ { type empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ type "type" bibinfo.check
+ cap.status.std
+ }
+ if$
+ }
+ { this.to.prev.status
+ this.status.std
+ type empty$
+ { bbl.paper }
+ { type "type" bibinfo.check }
+ if$
+ " " * paper
+ "paper" bibinfo.check
+ *
+ cap.status.std
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ duplicate$ is.multiple.pages
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% technical report number
+
+FUNCTION {format.tech.report.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$
+ this.to.prev.status
+ this.status.std
+ cap.status.std
+ bbl.techrep
+ }
+ { skip$ }
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ tie.or.space.prefix * * }
+ if$
+}
+
+
+
+%% note
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ punct.period 'this.status.punct :=
+ note #1 #1 substring$
+ duplicate$ "{" =
+ { skip$ }
+ { status.cap
+ { "u" }
+ { "l" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ cap.yes 'status.cap :=
+ }
+ if$
+}
+
+
+
+%% patent
+
+FUNCTION {format.patent.date}
+{ this.to.prev.status
+ this.status.std
+ year empty$
+ { monthfiled duplicate$ empty$
+ { "monthfiled" bibinfo.check pop$ "" }
+ { "monthfiled" bibinfo.check }
+ if$
+ dayfiled duplicate$ empty$
+ { "dayfiled" bibinfo.check pop$ "" * }
+ { "dayfiled" bibinfo.check
+ monthfiled empty$
+ { "dayfiled without a monthfiled in " cite$ * warning$
+ *
+ }
+ { " " swap$ * * }
+ if$
+ }
+ if$
+ yearfiled empty$
+ { "no year or yearfiled in " cite$ * warning$ }
+ { yearfiled "yearfiled" bibinfo.check
+ swap$
+ duplicate$ empty$
+ { pop$ }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+ }
+ { month duplicate$ empty$
+ { "month" bibinfo.check pop$ "" }
+ { "month" bibinfo.check }
+ if$
+ day duplicate$ empty$
+ { "day" bibinfo.check pop$ "" * }
+ { "day" bibinfo.check
+ month empty$
+ { "day without a month in " cite$ * warning$
+ *
+ }
+ { " " swap$ * * }
+ if$
+ }
+ if$
+ year "year" bibinfo.check
+ swap$
+ duplicate$ empty$
+ { pop$ }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+ cap.status.std
+}
+
+FUNCTION {format.patent.nationality.type.number}
+{ this.to.prev.status
+ this.status.std
+ nationality duplicate$ empty$
+ { "nationality" bibinfo.warn pop$ "" }
+ { "nationality" bibinfo.check
+ duplicate$ "l" change.case$ "united states" =
+ { pop$ bbl.patentUS }
+ { skip$ }
+ if$
+ " " *
+ }
+ if$
+ type empty$
+ { bbl.patent "type" bibinfo.check }
+ { type "type" bibinfo.check }
+ if$
+ *
+ number duplicate$ empty$
+ { "number" bibinfo.warn pop$ }
+ { "number" bibinfo.check
+ large.number.separate
+ swap$ " " * swap$ *
+ }
+ if$
+ cap.status.std
+}
+
+
+
+%% standard
+
+FUNCTION {format.organization.institution.standard.type.number}
+{ this.to.prev.status
+ this.status.std
+ organization duplicate$ empty$
+ { pop$
+ institution duplicate$ empty$
+ { "institution" bibinfo.warn }
+ { "institution" bibinfo.warn " " * }
+ if$
+ }
+ { "organization" bibinfo.warn " " * }
+ if$
+ type empty$
+ { bbl.standard "type" bibinfo.check }
+ { type "type" bibinfo.check }
+ if$
+ *
+ number duplicate$ empty$
+ { "number" bibinfo.check pop$ }
+ { "number" bibinfo.check
+ large.number.separate
+ swap$ " " * swap$ *
+ }
+ if$
+ cap.status.std
+}
+
+FUNCTION {format.revision}
+{ revision empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ bbl.revision
+ revision tie.or.space.prefix
+ "revision" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+%% thesis
+
+FUNCTION {format.master.thesis.type}
+{ this.to.prev.status
+ this.status.std
+ type empty$
+ {
+ bbl.mthesis
+ }
+ {
+ type "type" bibinfo.check
+ }
+ if$
+cap.status.std
+}
+
+FUNCTION {format.phd.thesis.type}
+{ this.to.prev.status
+ this.status.std
+ type empty$
+ {
+ bbl.phdthesis
+ }
+ {
+ type "type" bibinfo.check
+ }
+ if$
+cap.status.std
+}
+
+
+
+%% URL
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ cap.yes 'status.cap :=
+ bbl.urlprefix " " *
+ "\url{" * url * "}" *
+ punct.no 'this.status.punct :=
+ punct.period 'prev.status.punct :=
+ space.normal 'this.status.space :=
+ space.normal 'prev.status.space :=
+ quote.no 'this.status.quote :=
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%
+%% ENTRY HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%
+
+
+% Note: In many journals, IEEE (or the authors) tend not to show the number
+% for articles, so the display of the number is controlled here by the
+% switch "is.use.number.for.article"
+FUNCTION {article}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.journal "journal" bibinfo.check "journal" output.warn
+ format.volume output
+ format.number.if.use.for.article output
+ format.pages output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {book}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ author empty$
+ { format.editors "author and editor" output.warn }
+ { format.authors output.nonnull }
+ if$
+ name.or.dash
+ format.book.title.edition output
+ format.series output
+ author empty$
+ { skip$ }
+ { format.editors output }
+ if$
+ format.address.publisher.date output
+ format.volume output
+ format.number output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {booklet}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {electronic}
+{ std.status.using.period
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.date.electronic output
+ format.article.title.electronic output
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {inbook}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ author empty$
+ { format.editors "author and editor" output.warn }
+ { format.authors output.nonnull }
+ if$
+ name.or.dash
+ format.book.title.edition output
+ format.series output
+ format.address.publisher.date output
+ format.volume output
+ format.number output
+ format.chapter output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {incollection}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.in.booktitle.edition "booktitle" output.warn
+ format.series output
+ format.editors output
+ format.address.publisher.date.nowarn output
+ format.volume output
+ format.number output
+ format.chapter output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {inproceedings}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.in.booktitle "booktitle" output.warn
+ format.series output
+ format.editors output
+ format.volume output
+ format.number output
+ publisher empty$
+ { format.address.organization.date output }
+ { format.organization "organization" bibinfo.check output
+ format.address.publisher.date output
+ }
+ if$
+ format.paper output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {manual}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.book.title.edition "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {mastersthesis}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.master.thesis.type output.nonnull
+ format.school "school" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {misc}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title output
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.pages output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {patent}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title output
+ format.patent.nationality.type.number output
+ format.patent.date output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {periodical}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.editors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.series output
+ format.volume output
+ format.number output
+ format.organization "organization" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {phdthesis}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.phd.thesis.type output.nonnull
+ format.school "school" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {proceedings}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.editors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.series output
+ format.volume output
+ format.number output
+ publisher empty$
+ { format.address.organization.date output }
+ { format.organization "organization" bibinfo.check output
+ format.address.publisher.date output
+ }
+ if$
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {standard}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization.institution.standard.type.number output
+ format.revision output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {techreport}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.institution "institution" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.tech.report.number output.nonnull
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {unpublished}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.date output
+ format.note "note" output.warn
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+
+% The special entry type which provides the user interface to the
+% BST controls
+FUNCTION {IEEEtranBSTCTL}
+{ is.print.banners.to.terminal
+ { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." *
+ top$
+ }
+ { skip$ }
+ if$
+ CTLuse_article_number
+ empty$
+ { skip$ }
+ { CTLuse_article_number
+ yes.no.to.int
+ 'is.use.number.for.article :=
+ }
+ if$
+ CTLuse_paper
+ empty$
+ { skip$ }
+ { CTLuse_paper
+ yes.no.to.int
+ 'is.use.paper :=
+ }
+ if$
+ CTLuse_forced_etal
+ empty$
+ { skip$ }
+ { CTLuse_forced_etal
+ yes.no.to.int
+ 'is.forced.et.al :=
+ }
+ if$
+ CTLmax_names_forced_etal
+ empty$
+ { skip$ }
+ { CTLmax_names_forced_etal
+ string.to.integer
+ 'max.num.names.before.forced.et.al :=
+ }
+ if$
+ CTLnames_show_etal
+ empty$
+ { skip$ }
+ { CTLnames_show_etal
+ string.to.integer
+ 'num.names.shown.with.forced.et.al :=
+ }
+ if$
+ CTLuse_alt_spacing
+ empty$
+ { skip$ }
+ { CTLuse_alt_spacing
+ yes.no.to.int
+ 'is.use.alt.interword.spacing :=
+ }
+ if$
+ CTLalt_stretch_factor
+ empty$
+ { skip$ }
+ { CTLalt_stretch_factor
+ 'ALTinterwordstretchfactor :=
+ "\renewcommand\BIBentryALTinterwordstretchfactor{"
+ ALTinterwordstretchfactor * "}" *
+ write$ newline$
+ }
+ if$
+ CTLdash_repeated_names
+ empty$
+ { skip$ }
+ { CTLdash_repeated_names
+ yes.no.to.int
+ 'is.dash.repeated.names :=
+ }
+ if$
+ CTLname_format_string
+ empty$
+ { skip$ }
+ { CTLname_format_string
+ 'name.format.string :=
+ }
+ if$
+ CTLname_latex_cmd
+ empty$
+ { skip$ }
+ { CTLname_latex_cmd
+ 'name.latex.cmd :=
+ }
+ if$
+
+
+ num.names.shown.with.forced.et.al max.num.names.before.forced.et.al >
+ { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$
+ max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al :=
+ }
+ { skip$ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%
+%% ENTRY ALIASES %%
+%%%%%%%%%%%%%%%%%%%
+FUNCTION {conference}{inproceedings}
+FUNCTION {online}{electronic}
+FUNCTION {internet}{electronic}
+FUNCTION {webpage}{electronic}
+FUNCTION {default.type}{misc}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% MAIN PROGRAM %%
+%%%%%%%%%%%%%%%%%%
+
+READ
+
+EXECUTE {initialize.controls}
+EXECUTE {initialize.status.constants}
+EXECUTE {banner.message}
+
+
+
+% BEGIN sort code based on that of plain.bst
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ { s }
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ { skip$ }
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.institution.sort}
+{ author empty$
+ { organization empty$
+ { institution empty$
+ { key empty$
+ { "to sort, need author, organization, institution or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { "The " #4 institution chop.word sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+{ type$ "ieeetranbstctl" =
+ { key empty$
+ { "_" }
+ { key sortify }
+ if$
+ }
+ { type$ "book" =
+ type$ "inbook" =
+ or
+ { author.editor.sort }
+ { type$ "proceedings" =
+ type$ "periodical" =
+ or
+ { editor.organization.sort }
+ { type$ "manual" =
+ type$ "electronic" =
+ type$ "misc" =
+ or or
+ { author.organization.sort }
+ { type$ "standard" =
+ { author.organization.institution.sort }
+ { author.sort }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year empty.field.to.null.string sortify
+ *
+ " "
+ *
+ title empty.field.to.null.string
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+% END sort code based on that of plain.bst
+
+
+
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
+
+EXECUTE{completed.message}
+
+
+%% That's all folks, mds.
diff --git a/Master/texmf-dist/bibtex/bst/abstyles/aabbrv.bst b/Master/texmf-dist/bibtex/bst/abstyles/aabbrv.bst
new file mode 100644
index 00000000000..802ec8ba5fc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/abstyles/aabbrv.bst
@@ -0,0 +1,1062 @@
+% BibTeX bibliography style `AABBRV'
+ENTRY
+{ address
+author
+booktitle
+chapter
+edition
+editor
+howpublished
+institution
+journal
+key
+month
+note
+number
+organization
+pages
+publisher
+school
+series
+title
+type
+volume
+year
+}
+{}
+{ label }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+continue.sentence }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+#1 'mid.sentence :=
+#2 'after.sentence :=
+#3 'after.block :=
+#4 'continue.sentence :=
+}
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+output.state continue.sentence =
+{ " " * write$ }
+{ output.state mid.sentence =
+{ ", " * write$ }
+{ output.state after.block =
+{ add.period$ write$
+newline$
+"\newblock " write$
+}
+{ output.state before.all =
+'write$
+{ add.period$ " " * write$ }
+if$
+}
+if$
+}
+if$
+continue.sentence 'output.state :=
+}
+if$
+s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+'pop$
+'output.nonnull
+if$
+}
+FUNCTION {output.check}
+{ 't :=
+duplicate$ empty$
+{ pop$ "empty " t * " in " * cite$ * warning$ }
+'output.nonnull
+if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+"\bibitem{" write$
+cite$ write$
+"}" write$
+newline$
+""
+before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ add.period$
+write$
+newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+'skip$
+{ after.block 'output.state := }
+if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ after.sentence 'output.state := }
+if$
+}
+if$
+}
+FUNCTION {new.clause}
+{ output.state after.sentence =
+'skip$
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ mid.sentence 'output.state := }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {not}
+{ { #0 }
+{ #1 }
+if$
+}
+FUNCTION {and}
+{ 'skip$
+{ pop$ #0 }
+if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+'skip$
+if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.clause.checka}
+{ empty$
+'skip$
+'new.clause
+if$
+}
+FUNCTION {new.clause.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.clause
+if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+{ pop$ "" }
+'skip$
+if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{2}{" swap$ * "}" * }
+if$
+}
+FUNCTION {capitalize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{0}{" swap$ * "}" * }
+if$
+}
+FUNCTION {boldface}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{3}{" swap$ * "}" * }
+if$
+}
+FUNCTION {quote}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{1}{" swap$ * "}" * }
+if$
+}
+FUNCTION {parentheses}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{5}{" swap$ * "}" * }
+if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+#1 'nameptr :=
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+nameptr #1 >
+{ namesleft #1 >
+{ ", " * t * }
+{ numnames #2 >
+{ "\abphrase{1}" * }
+'skip$
+if$
+t "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * t * }
+if$
+}
+if$
+}
+'t
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {format.authors}
+{ author empty$
+{ "" }
+{ author format.names capitalize }
+if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+{ "" }
+{ editor format.names capitalize
+editor num.names$ #1 >
+{ "\abphrase{3}" * }
+{ "\abphrase{4}" * }
+if$
+}
+if$
+}
+FUNCTION {format.title}
+{ title empty$
+{ "" }
+{ title "t" change.case$ }
+if$
+}
+FUNCTION {n.dashify}
+{ 't :=
+""
+{ t empty$ not }
+{ t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+{ "--" *
+t #2 global.max$ substring$ 't :=
+}
+{ { t #1 #1 substring$ "-" = }
+{ "-" *
+t #2 global.max$ substring$ 't :=
+}
+while$
+}
+if$
+}
+{ t #1 #1 substring$ *
+t #2 global.max$ substring$ 't :=
+}
+if$
+}
+while$
+}
+FUNCTION {format.date}
+{ year empty$
+{ month empty$
+{ "" }
+{ "there's a month but no year in " cite$ * warning$
+month parentheses
+}
+if$
+}
+{ month empty$
+{ year parentheses }
+{ month " " * year * parentheses }
+if$
+}
+if$
+}
+FUNCTION {format.btitle}
+{ title quote
+}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+{ "~" }
+{ " " }
+if$
+swap$ * *
+}
+FUNCTION {either.or.check}
+{ empty$
+'pop$
+{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
+if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+{ "" }
+{ "\abphrase{8}" volume tie.or.space.connect
+series empty$
+'skip$
+{ "\abphrase{5}" * series quote * }
+if$
+"volume and number" number either.or.check
+}
+if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+{ number empty$
+{ series field.or.null }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ "\abphrase{10}" }
+{ "\abphrase{11}" }
+if$
+number tie.or.space.connect
+series empty$
+{ "there's a number but no series in " cite$ * warning$ }
+{ "\abphrase{6}" * series * }
+if$
+}
+if$
+}
+{ "" }
+if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+{ "" }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ edition "l" change.case$ "\abphrase{12}" * }
+{ edition "t" change.case$ "\abphrase{12}" * }
+if$
+}
+if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+#0 'multiresult :=
+{ multiresult not
+t empty$ not
+and
+}
+{ t #1 #1 substring$
+duplicate$ "-" =
+swap$ duplicate$ "," =
+swap$ "+" =
+or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+if$
+}
+while$
+multiresult
+}
+FUNCTION {format.pages}
+{ pages empty$
+{ "" }
+{ pages multi.page.check
+{ "\abphrase{13}" pages n.dashify tie.or.space.connect }
+{ "\abphrase{14}" pages tie.or.space.connect }
+if$
+}
+if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null boldface
+number empty$
+'skip$
+{ "\abtype{4}{" number * "}" * *
+volume empty$
+{ "there's a number but no volume in " cite$ * warning$ }
+'skip$
+if$
+}
+if$
+pages empty$
+'skip$
+{ duplicate$ empty$
+{ pop$ format.pages }
+{ ", " * pages n.dashify * }
+if$
+}
+if$
+}
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+'format.pages
+{ type empty$
+{ "\abphrase{15}" }
+{ type "l" change.case$ }
+if$
+chapter tie.or.space.connect
+pages empty$
+'skip$
+{ ", " * format.pages * }
+if$
+}
+if$
+}
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+{ "" }
+{ editor empty$
+{ "\abphrase{7}" booktitle quote * }
+{ "\abphrase{7}" format.editors * ", " * booktitle quote * }
+if$
+}
+if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+month empty$ year empty$ note empty$
+and and and and and
+key empty$ not and
+{ "all relevant fields are empty in " cite$ * warning$ }
+'skip$
+if$
+}
+FUNCTION {format.thesis.type}
+{ type empty$
+'skip$
+{ pop$
+type "t" change.case$
+}
+if$
+}
+FUNCTION {format.tr.number}
+{ type empty$
+{ "\abphrase{16}" }
+'type
+if$
+number empty$
+{ "t" change.case$ }
+{ number tie.or.space.connect }
+if$
+}
+FUNCTION {format.article.crossref}
+{ key empty$
+{ journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+warning$
+""
+}
+{ "\abphrase{7}" journal emphasize * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+editor num.names$ duplicate$
+#2 >
+{ pop$ "\abphrase{2}" * }
+{ #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * editor #2 "{vv~}{ll}" format.name$ * }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+"\abphrase{7}"
+}
+{ "\abphrase{9}" volume tie.or.space.connect
+"\abphrase{5}" *
+}
+if$
+editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ series empty$
+{ "need editor, key, or series for " cite$ * " to crossref " *
+crossref * warning$
+"" *
+}
+{ series quote * }
+if$
+}
+{ key * }
+if$
+}
+{ format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ booktitle empty$
+{ "need editor, key, or booktitle for " cite$ * " to crossref " *
+crossref * warning$
+""
+}
+{ "\abphrase{7}" booktitle quote * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+}
+{ "\abphrase{7}" format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {article}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ journal emphasize "journal" output.check
+format.vol.num.pages output
+format.date "year" output.check
+}
+{ format.article.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+crossref missing$
+{ new.clause
+format.bvolume output
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+format.authors output
+new.block
+format.title "title" output.check
+howpublished address new.block.checkb
+howpublished output
+address new.clause.checka
+address output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {inbook}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+new.clause
+crossref missing$
+{ format.bvolume output
+new.clause
+format.chapter.pages "chapter and pages" output.check
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ format.chapter.pages "chapter and pages" output.check
+new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {incollection}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+new.clause
+format.bvolume output
+new.clause
+format.number.series output
+new.clause
+format.chapter.pages output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.chapter.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+pages new.clause.checka
+format.pages output
+address empty$
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+organization output
+new.clause
+publisher output
+}
+if$
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+author empty$
+{ organization empty$
+'skip$
+{ organization output.nonnull
+new.clause
+address output
+}
+if$
+}
+{ format.authors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+author empty$
+{ organization empty$
+{ address new.block.checka
+address output
+}
+'skip$
+if$
+}
+{ organization address new.block.checkb
+organization output
+address new.clause.checka
+address output
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {mastersthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+"\abphrase{17}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {misc}
+{ output.bibitem
+format.authors output
+title howpublished new.block.checkb
+format.title output
+howpublished new.block.checka
+howpublished output
+format.date output
+new.block
+note output
+fin.entry
+empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.btitle "title" output.check
+new.block
+"\abphrase{18}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {proceedings}
+{ output.bibitem
+editor empty$
+{ organization output }
+{ format.editors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+address empty$
+{ editor empty$
+{ publisher new.sentence.checka }
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+}
+if$
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+editor empty$
+'skip$
+{ organization output
+new.clause
+}
+if$
+publisher output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {techreport}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+format.tr.number output.nonnull
+new.clause
+institution "institution" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {unpublished}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+note "note" output.check
+format.date output
+fin.entry
+}
+FUNCTION {default.type} { misc }
+MACRO {jan} {"\abmonth{1}"}
+MACRO {feb} {"\abmonth{2}"}
+MACRO {mar} {"\abmonth{3}"}
+MACRO {apr} {"\abmonth{4}"}
+MACRO {may} {"\abmonth{5}"}
+MACRO {jun} {"\abmonth{6}"}
+MACRO {jul} {"\abmonth{7}"}
+MACRO {aug} {"\abmonth{8}"}
+MACRO {sep} {"\abmonth{9}"}
+MACRO {oct} {"\abmonth{10}"}
+MACRO {nov} {"\abmonth{11}"}
+MACRO {dec} {"\abmonth{12}"}
+MACRO {first} {"\abedition{1}"}
+MACRO {second} {"\abedition{2}"}
+MACRO {third} {"\abedition{3}"}
+MACRO {fourth} {"\abedition{4}"}
+MACRO {fifth} {"\abedition{5}"}
+MACRO {sixth} {"\abedition{6}"}
+MACRO {seventh} {"\abedition{7}"}
+MACRO {eighth} {"\abedition{8}"}
+MACRO {ninth} {"\abedition{9}"}
+MACRO {tenth} {"\abedition{10}"}
+MACRO {section} {"\abchapter{0}"}
+MACRO {paragraph} {"\abchapter{1}"}
+MACRO {appendix} {"\abchapter{2}"}
+MACRO {part} {"\abchapter{3}"}
+READ
+FUNCTION {sortify}
+{ purify$
+"l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+'len :=
+s #1 len substring$ =
+{ s len #1 + global.max$ substring$ }
+'s
+if$
+}
+FUNCTION {sort.format.names}
+{ 's :=
+#1 'nameptr :=
+""
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ nameptr #1 >
+{ " " * }
+'skip$
+if$
+s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+nameptr numnames = t "others" = and
+{ "et al" * }
+{ t sortify * }
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {sort.format.title}
+{ 't :=
+"A " #2
+"An " #3
+"The " #4 t chop.word
+chop.word
+chop.word
+sortify
+#1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+{ key empty$
+{ "to sort, need author or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+{ editor empty$
+{ key empty$
+{ "to sort, need author, editor, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ editor sort.format.names }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+{ organization empty$
+{ key empty$
+{ "to sort, need author, organization, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ "The " #4 organization chop.word sortify }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+{ organization empty$
+{ key empty$
+{ "to sort, need editor, organization, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ "The " #4 organization chop.word sortify }
+if$
+}
+{ editor sort.format.names }
+if$
+}
+FUNCTION {presort}
+{ type$ "book" =
+type$ "inbook" =
+or
+'author.editor.sort
+{ type$ "proceedings" =
+'editor.organization.sort
+{ type$ "manual" =
+'author.organization.sort
+'author.sort
+if$
+}
+if$
+}
+if$
+" "
+*
+year field.or.null sortify
+*
+" "
+*
+title field.or.null
+sort.format.title
+*
+#1 entry.max$ substring$
+'sort.key$ :=
+}
+ITERATE {presort}
+SORT
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+#1 'number.label :=
+#0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+number.label #1 + 'number.label :=
+label width$ longest.label.width >
+{ label 'longest.label :=
+label width$ 'longest.label.width :=
+}
+'skip$
+if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{
+"\newif\ifabfull\abfullfalse" write$ newline$
+"\input apreambl" write$ newline$
+preamble$ empty$
+'skip$
+{ preamble$ write$ newline$ }
+if$
+"\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+"\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/abstyles/aalpha.bst b/Master/texmf-dist/bibtex/bst/abstyles/aalpha.bst
new file mode 100644
index 00000000000..c5442664c6c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/abstyles/aalpha.bst
@@ -0,0 +1,1211 @@
+% BibTeX bibliography style `AALPHA'
+ENTRY
+{ address
+author
+booktitle
+chapter
+edition
+editor
+howpublished
+institution
+journal
+key
+month
+note
+number
+organization
+pages
+publisher
+school
+series
+title
+type
+volume
+year
+}
+{}
+{ label extra.label sort.label }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+continue.sentence }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+#1 'mid.sentence :=
+#2 'after.sentence :=
+#3 'after.block :=
+#4 'continue.sentence :=
+}
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+output.state continue.sentence =
+{ " " * write$ }
+{ output.state mid.sentence =
+{ ", " * write$ }
+{ output.state after.block =
+{ add.period$ write$
+newline$
+"\newblock " write$
+}
+{ output.state before.all =
+'write$
+{ add.period$ " " * write$ }
+if$
+}
+if$
+}
+if$
+continue.sentence 'output.state :=
+}
+if$
+s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+'pop$
+'output.nonnull
+if$
+}
+FUNCTION {output.check}
+{ 't :=
+duplicate$ empty$
+{ pop$ "empty " t * " in " * cite$ * warning$ }
+'output.nonnull
+if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+"\bibitem[" write$
+label write$
+"]{" write$
+cite$ write$
+"}" write$
+newline$
+""
+before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ add.period$
+write$
+newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+'skip$
+{ after.block 'output.state := }
+if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ after.sentence 'output.state := }
+if$
+}
+if$
+}
+FUNCTION {new.clause}
+{ output.state after.sentence =
+'skip$
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ mid.sentence 'output.state := }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {not}
+{ { #0 }
+{ #1 }
+if$
+}
+FUNCTION {and}
+{ 'skip$
+{ pop$ #0 }
+if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+'skip$
+if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.clause.checka}
+{ empty$
+'skip$
+'new.clause
+if$
+}
+FUNCTION {new.clause.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.clause
+if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+{ pop$ "" }
+'skip$
+if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{2}{" swap$ * "}" * }
+if$
+}
+FUNCTION {capitalize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{0}{" swap$ * "}" * }
+if$
+}
+FUNCTION {boldface}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{3}{" swap$ * "}" * }
+if$
+}
+FUNCTION {quote}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{1}{" swap$ * "}" * }
+if$
+}
+FUNCTION {parentheses}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{5}{" swap$ * "}" * }
+if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+#1 'nameptr :=
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+nameptr #1 >
+{ namesleft #1 >
+{ ", " * t * }
+{ numnames #2 >
+{ "\abphrase{1}" * }
+'skip$
+if$
+t "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * t * }
+if$
+}
+if$
+}
+'t
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {format.authors}
+{ author empty$
+{ "" }
+{ author format.names capitalize }
+if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+{ "" }
+{ editor format.names capitalize
+editor num.names$ #1 >
+{ "\abphrase{3}" * }
+{ "\abphrase{4}" * }
+if$
+}
+if$
+}
+FUNCTION {format.title}
+{ title empty$
+{ "" }
+{ title "t" change.case$ }
+if$
+}
+FUNCTION {n.dashify}
+{ 't :=
+""
+{ t empty$ not }
+{ t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+{ "--" *
+t #2 global.max$ substring$ 't :=
+}
+{ { t #1 #1 substring$ "-" = }
+{ "-" *
+t #2 global.max$ substring$ 't :=
+}
+while$
+}
+if$
+}
+{ t #1 #1 substring$ *
+t #2 global.max$ substring$ 't :=
+}
+if$
+}
+while$
+}
+FUNCTION {format.date}
+{ year empty$
+{ month empty$
+{ "" }
+{ "there's a month but no year in " cite$ * warning$
+month parentheses
+}
+if$
+}
+{ month empty$
+{ year parentheses }
+{ month " " * year * parentheses }
+if$
+}
+if$
+}
+FUNCTION {format.btitle}
+{ title quote
+}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+{ "~" }
+{ " " }
+if$
+swap$ * *
+}
+FUNCTION {either.or.check}
+{ empty$
+'pop$
+{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
+if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+{ "" }
+{ "\abphrase{8}" volume tie.or.space.connect
+series empty$
+'skip$
+{ "\abphrase{5}" * series quote * }
+if$
+"volume and number" number either.or.check
+}
+if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+{ number empty$
+{ series field.or.null }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ "\abphrase{10}" }
+{ "\abphrase{11}" }
+if$
+number tie.or.space.connect
+series empty$
+{ "there's a number but no series in " cite$ * warning$ }
+{ "\abphrase{6}" * series * }
+if$
+}
+if$
+}
+{ "" }
+if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+{ "" }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ edition "l" change.case$ "\abphrase{12}" * }
+{ edition "t" change.case$ "\abphrase{12}" * }
+if$
+}
+if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+#0 'multiresult :=
+{ multiresult not
+t empty$ not
+and
+}
+{ t #1 #1 substring$
+duplicate$ "-" =
+swap$ duplicate$ "," =
+swap$ "+" =
+or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+if$
+}
+while$
+multiresult
+}
+FUNCTION {format.pages}
+{ pages empty$
+{ "" }
+{ pages multi.page.check
+{ "\abphrase{13}" pages n.dashify tie.or.space.connect }
+{ "\abphrase{14}" pages tie.or.space.connect }
+if$
+}
+if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null boldface
+number empty$
+'skip$
+{ "\abtype{4}{" number * "}" * *
+volume empty$
+{ "there's a number but no volume in " cite$ * warning$ }
+'skip$
+if$
+}
+if$
+pages empty$
+'skip$
+{ duplicate$ empty$
+{ pop$ format.pages }
+{ ", " * pages n.dashify * }
+if$
+}
+if$
+}
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+'format.pages
+{ type empty$
+{ "\abphrase{15}" }
+{ type "l" change.case$ }
+if$
+chapter tie.or.space.connect
+pages empty$
+'skip$
+{ ", " * format.pages * }
+if$
+}
+if$
+}
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+{ "" }
+{ editor empty$
+{ "\abphrase{7}" booktitle quote * }
+{ "\abphrase{7}" format.editors * ", " * booktitle quote * }
+if$
+}
+if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+month empty$ year empty$ note empty$
+and and and and and
+key empty$ not and
+{ "all relevant fields are empty in " cite$ * warning$ }
+'skip$
+if$
+}
+FUNCTION {format.thesis.type}
+{ type empty$
+'skip$
+{ pop$
+type "t" change.case$
+}
+if$
+}
+FUNCTION {format.tr.number}
+{ type empty$
+{ "\abphrase{16}" }
+'type
+if$
+number empty$
+{ "t" change.case$ }
+{ number tie.or.space.connect }
+if$
+}
+FUNCTION {format.article.crossref}
+{ key empty$
+{ journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+warning$
+""
+}
+{ "\abphrase{7}" journal emphasize * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+editor num.names$ duplicate$
+#2 >
+{ pop$ "\abphrase{2}" * }
+{ #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * editor #2 "{vv~}{ll}" format.name$ * }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+"\abphrase{7}"
+}
+{ "\abphrase{9}" volume tie.or.space.connect
+"\abphrase{5}" *
+}
+if$
+editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ series empty$
+{ "need editor, key, or series for " cite$ * " to crossref " *
+crossref * warning$
+"" *
+}
+{ series quote * }
+if$
+}
+{ key * }
+if$
+}
+{ format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ booktitle empty$
+{ "need editor, key, or booktitle for " cite$ * " to crossref " *
+crossref * warning$
+""
+}
+{ "\abphrase{7}" booktitle quote * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+}
+{ "\abphrase{7}" format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {article}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ journal emphasize "journal" output.check
+format.vol.num.pages output
+format.date "year" output.check
+}
+{ format.article.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+crossref missing$
+{ new.clause
+format.bvolume output
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+format.authors output
+new.block
+format.title "title" output.check
+howpublished address new.block.checkb
+howpublished output
+address new.clause.checka
+address output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {inbook}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+new.clause
+crossref missing$
+{ format.bvolume output
+new.clause
+format.chapter.pages "chapter and pages" output.check
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ format.chapter.pages "chapter and pages" output.check
+new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {incollection}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+new.clause
+format.bvolume output
+new.clause
+format.number.series output
+new.clause
+format.chapter.pages output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.chapter.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+pages new.clause.checka
+format.pages output
+address empty$
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+organization output
+new.clause
+publisher output
+}
+if$
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+author empty$
+{ organization empty$
+'skip$
+{ organization output.nonnull
+new.clause
+address output
+}
+if$
+}
+{ format.authors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+author empty$
+{ organization empty$
+{ address new.block.checka
+address output
+}
+'skip$
+if$
+}
+{ organization address new.block.checkb
+organization output
+address new.clause.checka
+address output
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {mastersthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+"\abphrase{17}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {misc}
+{ output.bibitem
+format.authors output
+title howpublished new.block.checkb
+format.title output
+howpublished new.block.checka
+howpublished output
+format.date output
+new.block
+note output
+fin.entry
+empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.btitle "title" output.check
+new.block
+"\abphrase{18}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {proceedings}
+{ output.bibitem
+editor empty$
+{ organization output }
+{ format.editors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+address empty$
+{ editor empty$
+{ publisher new.sentence.checka }
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+}
+if$
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+editor empty$
+'skip$
+{ organization output
+new.clause
+}
+if$
+publisher output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {techreport}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+format.tr.number output.nonnull
+new.clause
+institution "institution" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {unpublished}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+note "note" output.check
+format.date output
+fin.entry
+}
+FUNCTION {default.type} { misc }
+MACRO {jan} {"\abmonth{1}"}
+MACRO {feb} {"\abmonth{2}"}
+MACRO {mar} {"\abmonth{3}"}
+MACRO {apr} {"\abmonth{4}"}
+MACRO {may} {"\abmonth{5}"}
+MACRO {jun} {"\abmonth{6}"}
+MACRO {jul} {"\abmonth{7}"}
+MACRO {aug} {"\abmonth{8}"}
+MACRO {sep} {"\abmonth{9}"}
+MACRO {oct} {"\abmonth{10}"}
+MACRO {nov} {"\abmonth{11}"}
+MACRO {dec} {"\abmonth{12}"}
+MACRO {first} {"\abedition{1}"}
+MACRO {second} {"\abedition{2}"}
+MACRO {third} {"\abedition{3}"}
+MACRO {fourth} {"\abedition{4}"}
+MACRO {fifth} {"\abedition{5}"}
+MACRO {sixth} {"\abedition{6}"}
+MACRO {seventh} {"\abedition{7}"}
+MACRO {eighth} {"\abedition{8}"}
+MACRO {ninth} {"\abedition{9}"}
+MACRO {tenth} {"\abedition{10}"}
+MACRO {section} {"\abchapter{0}"}
+MACRO {paragraph} {"\abchapter{1}"}
+MACRO {appendix} {"\abchapter{2}"}
+MACRO {part} {"\abchapter{3}"}
+READ
+FUNCTION {sortify}
+{ purify$
+"l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+'len :=
+s #1 len substring$ =
+{ s len #1 + global.max$ substring$ }
+'s
+if$
+}
+INTEGERS { et.al.char.used }
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+EXECUTE {initialize.et.al.char.used}
+FUNCTION {format.lab.names}
+{ 's :=
+s num.names$ 'numnames :=
+numnames #1 >
+{ numnames #4 >
+{ #3 'namesleft := }
+{ numnames 'namesleft := }
+if$
+#1 'nameptr :=
+""
+{ namesleft #0 > }
+{ nameptr numnames =
+{ s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+{ "{\etalchar{+}}" *
+#1 'et.al.char.used :=
+}
+{ s nameptr "{v{}}{l{}}" format.name$ * }
+if$
+}
+{ s nameptr "{v{}}{l{}}" format.name$ * }
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+numnames #4 >
+{ "{\etalchar{+}}" *
+#1 'et.al.char.used :=
+}
+'skip$
+if$
+}
+{ s #1 "{v{}}{l{}}" format.name$
+duplicate$ text.length$ #2 <
+{ pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+'skip$
+if$
+}
+if$
+}
+FUNCTION {author.key.label}
+{ author empty$
+{ key empty$
+{ cite$ #1 #3 substring$ }
+{ key #3 text.prefix$ }
+if$
+}
+{ author format.lab.names }
+if$
+}
+FUNCTION {author.editor.key.label}
+{ author empty$
+{ editor empty$
+{ key empty$
+{ cite$ #1 #3 substring$ }
+{ key #3 text.prefix$ }
+if$
+}
+{ editor format.lab.names }
+if$
+}
+{ author format.lab.names }
+if$
+}
+FUNCTION {author.key.organization.label}
+{ author empty$
+{ key empty$
+{ organization empty$
+{ cite$ #1 #3 substring$ }
+{ "The " #4 organization chop.word #3 text.prefix$ }
+if$
+}
+{ key #3 text.prefix$ }
+if$
+}
+{ author format.lab.names }
+if$
+}
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+{ key empty$
+{ organization empty$
+{ cite$ #1 #3 substring$ }
+{ "The " #4 organization chop.word #3 text.prefix$ }
+if$
+}
+{ key #3 text.prefix$ }
+if$
+}
+{ editor format.lab.names }
+if$
+}
+FUNCTION {calc.label}
+{ type$ "book" =
+type$ "inbook" =
+or
+'author.editor.key.label
+{ type$ "proceedings" =
+'editor.key.organization.label
+{ type$ "manual" =
+'author.key.organization.label
+'author.key.label
+if$
+}
+if$
+}
+if$
+duplicate$
+year field.or.null purify$ #-1 #2 substring$
+*
+'label :=
+year field.or.null purify$ #-1 #4 substring$
+*
+sortify 'sort.label :=
+}
+FUNCTION {sort.format.names}
+{ 's :=
+#1 'nameptr :=
+""
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ nameptr #1 >
+{ " " * }
+'skip$
+if$
+s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+nameptr numnames = t "others" = and
+{ "et al" * }
+{ t sortify * }
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {sort.format.title}
+{ 't :=
+"A " #2
+"An " #3
+"The " #4 t chop.word
+chop.word
+chop.word
+sortify
+#1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+{ key empty$
+{ "to sort, need author or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+{ editor empty$
+{ key empty$
+{ "to sort, need author, editor, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ editor sort.format.names }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+{ organization empty$
+{ key empty$
+{ "to sort, need author, organization, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ "The " #4 organization chop.word sortify }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+{ organization empty$
+{ key empty$
+{ "to sort, need editor, organization, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ "The " #4 organization chop.word sortify }
+if$
+}
+{ editor sort.format.names }
+if$
+}
+FUNCTION {presort}
+{ calc.label
+sort.label
+" "
+*
+type$ "book" =
+type$ "inbook" =
+or
+'author.editor.sort
+{ type$ "proceedings" =
+'editor.organization.sort
+{ type$ "manual" =
+'author.organization.sort
+'author.sort
+if$
+}
+if$
+}
+if$
+*
+" "
+*
+year field.or.null sortify
+*
+" "
+*
+title field.or.null
+sort.format.title
+*
+#1 entry.max$ substring$
+'sort.key$ :=
+}
+ITERATE {presort}
+SORT
+STRINGS { longest.label last.sort.label next.extra }
+INTEGERS { longest.label.width last.extra.num }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+#0 int.to.chr$ 'last.sort.label :=
+"" 'next.extra :=
+#0 'longest.label.width :=
+#0 'last.extra.num :=
+}
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+{ last.extra.num #1 + 'last.extra.num :=
+last.extra.num int.to.chr$ 'extra.label :=
+}
+{ "a" chr.to.int$ 'last.extra.num :=
+"" 'extra.label :=
+sort.label 'last.sort.label :=
+}
+if$
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+{ "a" 'extra.label := }
+'skip$
+if$
+label extra.label * 'label :=
+label width$ longest.label.width >
+{ label 'longest.label :=
+label width$ 'longest.label.width :=
+}
+'skip$
+if$
+extra.label 'next.extra :=
+}
+EXECUTE {initialize.longest.label}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {begin.bib}
+{
+"\newif\ifabfull\abfulltrue" write$ newline$
+"\input apreambl" write$ newline$
+et.al.char.used
+{ "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+'skip$
+if$
+preamble$ empty$
+'skip$
+{ preamble$ write$ newline$ }
+if$
+"\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+"\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/abstyles/anotit.bst b/Master/texmf-dist/bibtex/bst/abstyles/anotit.bst
new file mode 100644
index 00000000000..6e8ec41b53e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/abstyles/anotit.bst
@@ -0,0 +1,1075 @@
+% BibTeX bibliography style `ANOTIT'
+ENTRY
+{ address
+author
+booktitle
+chapter
+edition
+editor
+howpublished
+institution
+journal
+key
+month
+note
+number
+organization
+pages
+publisher
+school
+series
+title
+type
+volume
+year
+}
+{}
+{ label }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+continue.sentence }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+#1 'mid.sentence :=
+#2 'after.sentence :=
+#3 'after.block :=
+#4 'continue.sentence :=
+}
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+output.state continue.sentence =
+{ " " * write$ }
+{ output.state mid.sentence =
+{ ", " * write$ }
+{ output.state after.block =
+{ add.period$ write$
+newline$
+"\newblock " write$
+}
+{ output.state before.all =
+'write$
+{ add.period$ " " * write$ }
+if$
+}
+if$
+}
+if$
+continue.sentence 'output.state :=
+}
+if$
+s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+'pop$
+'output.nonnull
+if$
+}
+FUNCTION {output.check}
+{ 't :=
+duplicate$ empty$
+{ pop$ "empty " t * " in " * cite$ * warning$ }
+'output.nonnull
+if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+"\bibitem{" write$
+cite$ write$
+"}" write$
+newline$
+""
+before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ add.period$
+write$
+newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+'skip$
+{ after.block 'output.state := }
+if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ after.sentence 'output.state := }
+if$
+}
+if$
+}
+FUNCTION {new.clause}
+{ output.state after.sentence =
+'skip$
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ mid.sentence 'output.state := }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {not}
+{ { #0 }
+{ #1 }
+if$
+}
+FUNCTION {and}
+{ 'skip$
+{ pop$ #0 }
+if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+'skip$
+if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.clause.checka}
+{ empty$
+'skip$
+'new.clause
+if$
+}
+FUNCTION {new.clause.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.clause
+if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+{ pop$ "" }
+'skip$
+if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{2}{" swap$ * "}" * }
+if$
+}
+FUNCTION {capitalize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{0}{" swap$ * "}" * }
+if$
+}
+FUNCTION {boldface}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{3}{" swap$ * "}" * }
+if$
+}
+FUNCTION {quote}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{1}{" swap$ * "}" * }
+if$
+}
+FUNCTION {parentheses}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{5}{" swap$ * "}" * }
+if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+#1 'nameptr :=
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+nameptr #1 >
+{ namesleft #1 >
+{ ", " * t * }
+{ numnames #2 >
+{ "\abphrase{1}" * }
+'skip$
+if$
+t "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * t * }
+if$
+}
+if$
+}
+'t
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {format.authors}
+{ author empty$
+{ "" }
+{ author format.names capitalize }
+if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+{ "" }
+{ editor format.names capitalize
+editor num.names$ #1 >
+{ "\abphrase{3}" * }
+{ "\abphrase{4}" * }
+if$
+}
+if$
+}
+FUNCTION {format.title}
+{ title empty$
+{ "" }
+{ title "t" change.case$ }
+if$
+}
+FUNCTION {n.dashify}
+{ 't :=
+""
+{ t empty$ not }
+{ t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+{ "--" *
+t #2 global.max$ substring$ 't :=
+}
+{ { t #1 #1 substring$ "-" = }
+{ "-" *
+t #2 global.max$ substring$ 't :=
+}
+while$
+}
+if$
+}
+{ t #1 #1 substring$ *
+t #2 global.max$ substring$ 't :=
+}
+if$
+}
+while$
+}
+FUNCTION {format.date}
+{ year empty$
+{ month empty$
+{ "" }
+{ "there's a month but no year in " cite$ * warning$
+month parentheses
+}
+if$
+}
+{ month empty$
+{ year parentheses }
+{ month " " * year * parentheses }
+if$
+}
+if$
+}
+FUNCTION {format.btitle}
+{ title quote
+}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+{ "~" }
+{ " " }
+if$
+swap$ * *
+}
+FUNCTION {either.or.check}
+{ empty$
+'pop$
+{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
+if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+{ "" }
+{ "\abphrase{8}" volume tie.or.space.connect
+series empty$
+'skip$
+{ "\abphrase{5}" * series quote * }
+if$
+"volume and number" number either.or.check
+}
+if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+{ number empty$
+{ series field.or.null }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ "\abphrase{10}" }
+{ "\abphrase{11}" }
+if$
+number tie.or.space.connect
+series empty$
+{ "there's a number but no series in " cite$ * warning$ }
+{ "\abphrase{6}" * series * }
+if$
+}
+if$
+}
+{ "" }
+if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+{ "" }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ edition "l" change.case$ "\abphrase{12}" * }
+{ edition "t" change.case$ "\abphrase{12}" * }
+if$
+}
+if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+#0 'multiresult :=
+{ multiresult not
+t empty$ not
+and
+}
+{ t #1 #1 substring$
+duplicate$ "-" =
+swap$ duplicate$ "," =
+swap$ "+" =
+or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+if$
+}
+while$
+multiresult
+}
+FUNCTION {format.pages}
+{ pages empty$
+{ "" }
+{ pages multi.page.check
+{ "\abphrase{13}" pages n.dashify tie.or.space.connect }
+{ "\abphrase{14}" pages tie.or.space.connect }
+if$
+}
+if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null boldface
+number empty$
+'skip$
+{ "\abtype{4}{" number * "}" * *
+volume empty$
+{ "there's a number but no volume in " cite$ * warning$ }
+'skip$
+if$
+}
+if$
+pages empty$
+'skip$
+{ duplicate$ empty$
+{ pop$ format.pages }
+{ ", " * pages n.dashify * }
+if$
+}
+if$
+}
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+'format.pages
+{ type empty$
+{ "\abphrase{15}" }
+{ type "l" change.case$ }
+if$
+chapter tie.or.space.connect
+pages empty$
+'skip$
+{ ", " * format.pages * }
+if$
+}
+if$
+}
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+{ "" }
+{ editor empty$
+{ "\abphrase{7}" booktitle quote * }
+{ "\abphrase{7}" format.editors * ", " * booktitle quote * }
+if$
+}
+if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+month empty$ year empty$ note empty$
+and and and and and
+key empty$ not and
+{ "all relevant fields are empty in " cite$ * warning$ }
+'skip$
+if$
+}
+FUNCTION {format.thesis.type}
+{ type empty$
+'skip$
+{ pop$
+type "t" change.case$
+}
+if$
+}
+FUNCTION {format.tr.number}
+{ type empty$
+{ "\abphrase{16}" }
+'type
+if$
+number empty$
+{ "t" change.case$ }
+{ number tie.or.space.connect }
+if$
+}
+FUNCTION {format.article.crossref}
+{ key empty$
+{ journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+warning$
+""
+}
+{ "\abphrase{7}" journal emphasize * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+editor num.names$ duplicate$
+#2 >
+{ pop$ "\abphrase{2}" * }
+{ #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * editor #2 "{vv~}{ll}" format.name$ * }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+"\abphrase{7}"
+}
+{ "\abphrase{9}" volume tie.or.space.connect
+"\abphrase{5}" *
+}
+if$
+editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ series empty$
+{ "need editor, key, or series for " cite$ * " to crossref " *
+crossref * warning$
+"" *
+}
+{ series quote * }
+if$
+}
+{ key * }
+if$
+}
+{ format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ booktitle empty$
+{ "need editor, key, or booktitle for " cite$ * " to crossref " *
+crossref * warning$
+""
+}
+{ "\abphrase{7}" booktitle quote * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+}
+{ "\abphrase{7}" format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {article}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+crossref missing$
+{ journal emphasize "journal" output.check
+format.vol.num.pages output
+format.date "year" output.check
+}
+{ format.article.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+crossref missing$
+{ new.clause
+format.bvolume output
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+format.authors output
+new.block
+format.title "title" output.check
+howpublished address new.block.checkb
+howpublished output
+address new.clause.checka
+address output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {inbook}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+new.clause
+crossref missing$
+{ format.bvolume output
+new.clause
+format.chapter.pages "chapter and pages" output.check
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ format.chapter.pages "chapter and pages" output.check
+new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {incollection}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+chapter empty$ pages empty$ and
+{
+format.title "title" output.check
+new.block
+}
+'skip$
+if$
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+new.clause
+format.bvolume output
+new.clause
+format.number.series output
+new.clause
+format.chapter.pages output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.chapter.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+pages empty$
+{
+format.title "title" output.check
+new.block
+}
+'skip$
+if$
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+pages new.clause.checka
+format.pages output
+address empty$
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+organization output
+new.clause
+publisher output
+}
+if$
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+author empty$
+{ organization empty$
+'skip$
+{ organization output.nonnull
+new.clause
+address output
+}
+if$
+}
+{ format.authors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+author empty$
+{ organization empty$
+{ address new.block.checka
+address output
+}
+'skip$
+if$
+}
+{ organization address new.block.checkb
+organization output
+address new.clause.checka
+address output
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {mastersthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+"\abphrase{17}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {misc}
+{ output.bibitem
+format.authors output
+title howpublished new.block.checkb
+format.title output
+howpublished new.block.checka
+howpublished output
+format.date output
+new.block
+note output
+fin.entry
+empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.btitle "title" output.check
+new.block
+"\abphrase{18}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {proceedings}
+{ output.bibitem
+editor empty$
+{ organization output }
+{ format.editors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+address empty$
+{ editor empty$
+{ publisher new.sentence.checka }
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+}
+if$
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+editor empty$
+'skip$
+{ organization output
+new.clause
+}
+if$
+publisher output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {techreport}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+number empty$
+{
+format.title "title" output.check
+new.block
+}
+'skip$
+if$
+format.tr.number output.nonnull
+new.clause
+institution "institution" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {unpublished}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+note "note" output.check
+format.date output
+fin.entry
+}
+FUNCTION {default.type} { misc }
+MACRO {jan} {"\abmonth{1}"}
+MACRO {feb} {"\abmonth{2}"}
+MACRO {mar} {"\abmonth{3}"}
+MACRO {apr} {"\abmonth{4}"}
+MACRO {may} {"\abmonth{5}"}
+MACRO {jun} {"\abmonth{6}"}
+MACRO {jul} {"\abmonth{7}"}
+MACRO {aug} {"\abmonth{8}"}
+MACRO {sep} {"\abmonth{9}"}
+MACRO {oct} {"\abmonth{10}"}
+MACRO {nov} {"\abmonth{11}"}
+MACRO {dec} {"\abmonth{12}"}
+MACRO {first} {"\abedition{1}"}
+MACRO {second} {"\abedition{2}"}
+MACRO {third} {"\abedition{3}"}
+MACRO {fourth} {"\abedition{4}"}
+MACRO {fifth} {"\abedition{5}"}
+MACRO {sixth} {"\abedition{6}"}
+MACRO {seventh} {"\abedition{7}"}
+MACRO {eighth} {"\abedition{8}"}
+MACRO {ninth} {"\abedition{9}"}
+MACRO {tenth} {"\abedition{10}"}
+MACRO {section} {"\abchapter{0}"}
+MACRO {paragraph} {"\abchapter{1}"}
+MACRO {appendix} {"\abchapter{2}"}
+MACRO {part} {"\abchapter{3}"}
+READ
+FUNCTION {sortify}
+{ purify$
+"l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+'len :=
+s #1 len substring$ =
+{ s len #1 + global.max$ substring$ }
+'s
+if$
+}
+FUNCTION {sort.format.names}
+{ 's :=
+#1 'nameptr :=
+""
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ nameptr #1 >
+{ " " * }
+'skip$
+if$
+s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+nameptr numnames = t "others" = and
+{ "et al" * }
+{ t sortify * }
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {sort.format.title}
+{ 't :=
+"A " #2
+"An " #3
+"The " #4 t chop.word
+chop.word
+chop.word
+sortify
+#1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+{ key empty$
+{ "to sort, need author or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+{ editor empty$
+{ key empty$
+{ "to sort, need author, editor, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ editor sort.format.names }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+{ organization empty$
+{ key empty$
+{ "to sort, need author, organization, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ "The " #4 organization chop.word sortify }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+{ organization empty$
+{ key empty$
+{ "to sort, need editor, organization, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ "The " #4 organization chop.word sortify }
+if$
+}
+{ editor sort.format.names }
+if$
+}
+FUNCTION {presort}
+{ type$ "book" =
+type$ "inbook" =
+or
+'author.editor.sort
+{ type$ "proceedings" =
+'editor.organization.sort
+{ type$ "manual" =
+'author.organization.sort
+'author.sort
+if$
+}
+if$
+}
+if$
+" "
+*
+year field.or.null sortify
+*
+" "
+*
+title field.or.null
+sort.format.title
+*
+#1 entry.max$ substring$
+'sort.key$ :=
+}
+ITERATE {presort}
+SORT
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+#1 'number.label :=
+#0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+number.label #1 + 'number.label :=
+label width$ longest.label.width >
+{ label 'longest.label :=
+label width$ 'longest.label.width :=
+}
+'skip$
+if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{
+"\newif\ifabfull\abfullfalse" write$ newline$
+"\input apreambl" write$ newline$
+preamble$ empty$
+'skip$
+{ preamble$ write$ newline$ }
+if$
+"\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+"\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/abstyles/aplain.bst b/Master/texmf-dist/bibtex/bst/abstyles/aplain.bst
new file mode 100644
index 00000000000..f9ac9f4a0af
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/abstyles/aplain.bst
@@ -0,0 +1,1062 @@
+% BibTeX bibliography style `APLAIN'
+ENTRY
+{ address
+author
+booktitle
+chapter
+edition
+editor
+howpublished
+institution
+journal
+key
+month
+note
+number
+organization
+pages
+publisher
+school
+series
+title
+type
+volume
+year
+}
+{}
+{ label }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+continue.sentence }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+#1 'mid.sentence :=
+#2 'after.sentence :=
+#3 'after.block :=
+#4 'continue.sentence :=
+}
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+output.state continue.sentence =
+{ " " * write$ }
+{ output.state mid.sentence =
+{ ", " * write$ }
+{ output.state after.block =
+{ add.period$ write$
+newline$
+"\newblock " write$
+}
+{ output.state before.all =
+'write$
+{ add.period$ " " * write$ }
+if$
+}
+if$
+}
+if$
+continue.sentence 'output.state :=
+}
+if$
+s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+'pop$
+'output.nonnull
+if$
+}
+FUNCTION {output.check}
+{ 't :=
+duplicate$ empty$
+{ pop$ "empty " t * " in " * cite$ * warning$ }
+'output.nonnull
+if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+"\bibitem{" write$
+cite$ write$
+"}" write$
+newline$
+""
+before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ add.period$
+write$
+newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+'skip$
+{ after.block 'output.state := }
+if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ after.sentence 'output.state := }
+if$
+}
+if$
+}
+FUNCTION {new.clause}
+{ output.state after.sentence =
+'skip$
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ mid.sentence 'output.state := }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {not}
+{ { #0 }
+{ #1 }
+if$
+}
+FUNCTION {and}
+{ 'skip$
+{ pop$ #0 }
+if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+'skip$
+if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.clause.checka}
+{ empty$
+'skip$
+'new.clause
+if$
+}
+FUNCTION {new.clause.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.clause
+if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+{ pop$ "" }
+'skip$
+if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{2}{" swap$ * "}" * }
+if$
+}
+FUNCTION {capitalize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{0}{" swap$ * "}" * }
+if$
+}
+FUNCTION {boldface}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{3}{" swap$ * "}" * }
+if$
+}
+FUNCTION {quote}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{1}{" swap$ * "}" * }
+if$
+}
+FUNCTION {parentheses}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{5}{" swap$ * "}" * }
+if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+#1 'nameptr :=
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+nameptr #1 >
+{ namesleft #1 >
+{ ", " * t * }
+{ numnames #2 >
+{ "\abphrase{1}" * }
+'skip$
+if$
+t "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * t * }
+if$
+}
+if$
+}
+'t
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {format.authors}
+{ author empty$
+{ "" }
+{ author format.names capitalize }
+if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+{ "" }
+{ editor format.names capitalize
+editor num.names$ #1 >
+{ "\abphrase{3}" * }
+{ "\abphrase{4}" * }
+if$
+}
+if$
+}
+FUNCTION {format.title}
+{ title empty$
+{ "" }
+{ title "t" change.case$ }
+if$
+}
+FUNCTION {n.dashify}
+{ 't :=
+""
+{ t empty$ not }
+{ t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+{ "--" *
+t #2 global.max$ substring$ 't :=
+}
+{ { t #1 #1 substring$ "-" = }
+{ "-" *
+t #2 global.max$ substring$ 't :=
+}
+while$
+}
+if$
+}
+{ t #1 #1 substring$ *
+t #2 global.max$ substring$ 't :=
+}
+if$
+}
+while$
+}
+FUNCTION {format.date}
+{ year empty$
+{ month empty$
+{ "" }
+{ "there's a month but no year in " cite$ * warning$
+month parentheses
+}
+if$
+}
+{ month empty$
+{ year parentheses }
+{ month " " * year * parentheses }
+if$
+}
+if$
+}
+FUNCTION {format.btitle}
+{ title quote
+}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+{ "~" }
+{ " " }
+if$
+swap$ * *
+}
+FUNCTION {either.or.check}
+{ empty$
+'pop$
+{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
+if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+{ "" }
+{ "\abphrase{8}" volume tie.or.space.connect
+series empty$
+'skip$
+{ "\abphrase{5}" * series quote * }
+if$
+"volume and number" number either.or.check
+}
+if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+{ number empty$
+{ series field.or.null }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ "\abphrase{10}" }
+{ "\abphrase{11}" }
+if$
+number tie.or.space.connect
+series empty$
+{ "there's a number but no series in " cite$ * warning$ }
+{ "\abphrase{6}" * series * }
+if$
+}
+if$
+}
+{ "" }
+if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+{ "" }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ edition "l" change.case$ "\abphrase{12}" * }
+{ edition "t" change.case$ "\abphrase{12}" * }
+if$
+}
+if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+#0 'multiresult :=
+{ multiresult not
+t empty$ not
+and
+}
+{ t #1 #1 substring$
+duplicate$ "-" =
+swap$ duplicate$ "," =
+swap$ "+" =
+or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+if$
+}
+while$
+multiresult
+}
+FUNCTION {format.pages}
+{ pages empty$
+{ "" }
+{ pages multi.page.check
+{ "\abphrase{13}" pages n.dashify tie.or.space.connect }
+{ "\abphrase{14}" pages tie.or.space.connect }
+if$
+}
+if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null boldface
+number empty$
+'skip$
+{ "\abtype{4}{" number * "}" * *
+volume empty$
+{ "there's a number but no volume in " cite$ * warning$ }
+'skip$
+if$
+}
+if$
+pages empty$
+'skip$
+{ duplicate$ empty$
+{ pop$ format.pages }
+{ ", " * pages n.dashify * }
+if$
+}
+if$
+}
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+'format.pages
+{ type empty$
+{ "\abphrase{15}" }
+{ type "l" change.case$ }
+if$
+chapter tie.or.space.connect
+pages empty$
+'skip$
+{ ", " * format.pages * }
+if$
+}
+if$
+}
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+{ "" }
+{ editor empty$
+{ "\abphrase{7}" booktitle quote * }
+{ "\abphrase{7}" format.editors * ", " * booktitle quote * }
+if$
+}
+if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+month empty$ year empty$ note empty$
+and and and and and
+key empty$ not and
+{ "all relevant fields are empty in " cite$ * warning$ }
+'skip$
+if$
+}
+FUNCTION {format.thesis.type}
+{ type empty$
+'skip$
+{ pop$
+type "t" change.case$
+}
+if$
+}
+FUNCTION {format.tr.number}
+{ type empty$
+{ "\abphrase{16}" }
+'type
+if$
+number empty$
+{ "t" change.case$ }
+{ number tie.or.space.connect }
+if$
+}
+FUNCTION {format.article.crossref}
+{ key empty$
+{ journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+warning$
+""
+}
+{ "\abphrase{7}" journal emphasize * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+editor num.names$ duplicate$
+#2 >
+{ pop$ "\abphrase{2}" * }
+{ #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * editor #2 "{vv~}{ll}" format.name$ * }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+"\abphrase{7}"
+}
+{ "\abphrase{9}" volume tie.or.space.connect
+"\abphrase{5}" *
+}
+if$
+editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ series empty$
+{ "need editor, key, or series for " cite$ * " to crossref " *
+crossref * warning$
+"" *
+}
+{ series quote * }
+if$
+}
+{ key * }
+if$
+}
+{ format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ booktitle empty$
+{ "need editor, key, or booktitle for " cite$ * " to crossref " *
+crossref * warning$
+""
+}
+{ "\abphrase{7}" booktitle quote * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+}
+{ "\abphrase{7}" format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {article}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ journal emphasize "journal" output.check
+format.vol.num.pages output
+format.date "year" output.check
+}
+{ format.article.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+crossref missing$
+{ new.clause
+format.bvolume output
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+format.authors output
+new.block
+format.title "title" output.check
+howpublished address new.block.checkb
+howpublished output
+address new.clause.checka
+address output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {inbook}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+new.clause
+crossref missing$
+{ format.bvolume output
+new.clause
+format.chapter.pages "chapter and pages" output.check
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ format.chapter.pages "chapter and pages" output.check
+new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {incollection}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+new.clause
+format.bvolume output
+new.clause
+format.number.series output
+new.clause
+format.chapter.pages output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.chapter.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+pages new.clause.checka
+format.pages output
+address empty$
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+organization output
+new.clause
+publisher output
+}
+if$
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+author empty$
+{ organization empty$
+'skip$
+{ organization output.nonnull
+new.clause
+address output
+}
+if$
+}
+{ format.authors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+author empty$
+{ organization empty$
+{ address new.block.checka
+address output
+}
+'skip$
+if$
+}
+{ organization address new.block.checkb
+organization output
+address new.clause.checka
+address output
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {mastersthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+"\abphrase{17}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {misc}
+{ output.bibitem
+format.authors output
+title howpublished new.block.checkb
+format.title output
+howpublished new.block.checka
+howpublished output
+format.date output
+new.block
+note output
+fin.entry
+empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.btitle "title" output.check
+new.block
+"\abphrase{18}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {proceedings}
+{ output.bibitem
+editor empty$
+{ organization output }
+{ format.editors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+address empty$
+{ editor empty$
+{ publisher new.sentence.checka }
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+}
+if$
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+editor empty$
+'skip$
+{ organization output
+new.clause
+}
+if$
+publisher output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {techreport}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+format.tr.number output.nonnull
+new.clause
+institution "institution" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {unpublished}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+note "note" output.check
+format.date output
+fin.entry
+}
+FUNCTION {default.type} { misc }
+MACRO {jan} {"\abmonth{1}"}
+MACRO {feb} {"\abmonth{2}"}
+MACRO {mar} {"\abmonth{3}"}
+MACRO {apr} {"\abmonth{4}"}
+MACRO {may} {"\abmonth{5}"}
+MACRO {jun} {"\abmonth{6}"}
+MACRO {jul} {"\abmonth{7}"}
+MACRO {aug} {"\abmonth{8}"}
+MACRO {sep} {"\abmonth{9}"}
+MACRO {oct} {"\abmonth{10}"}
+MACRO {nov} {"\abmonth{11}"}
+MACRO {dec} {"\abmonth{12}"}
+MACRO {first} {"\abedition{1}"}
+MACRO {second} {"\abedition{2}"}
+MACRO {third} {"\abedition{3}"}
+MACRO {fourth} {"\abedition{4}"}
+MACRO {fifth} {"\abedition{5}"}
+MACRO {sixth} {"\abedition{6}"}
+MACRO {seventh} {"\abedition{7}"}
+MACRO {eighth} {"\abedition{8}"}
+MACRO {ninth} {"\abedition{9}"}
+MACRO {tenth} {"\abedition{10}"}
+MACRO {section} {"\abchapter{0}"}
+MACRO {paragraph} {"\abchapter{1}"}
+MACRO {appendix} {"\abchapter{2}"}
+MACRO {part} {"\abchapter{3}"}
+READ
+FUNCTION {sortify}
+{ purify$
+"l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+'len :=
+s #1 len substring$ =
+{ s len #1 + global.max$ substring$ }
+'s
+if$
+}
+FUNCTION {sort.format.names}
+{ 's :=
+#1 'nameptr :=
+""
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ nameptr #1 >
+{ " " * }
+'skip$
+if$
+s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+nameptr numnames = t "others" = and
+{ "et al" * }
+{ t sortify * }
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {sort.format.title}
+{ 't :=
+"A " #2
+"An " #3
+"The " #4 t chop.word
+chop.word
+chop.word
+sortify
+#1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+{ key empty$
+{ "to sort, need author or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+{ editor empty$
+{ key empty$
+{ "to sort, need author, editor, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ editor sort.format.names }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+{ organization empty$
+{ key empty$
+{ "to sort, need author, organization, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ "The " #4 organization chop.word sortify }
+if$
+}
+{ author sort.format.names }
+if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+{ organization empty$
+{ key empty$
+{ "to sort, need editor, organization, or key in " cite$ * warning$
+""
+}
+{ key sortify }
+if$
+}
+{ "The " #4 organization chop.word sortify }
+if$
+}
+{ editor sort.format.names }
+if$
+}
+FUNCTION {presort}
+{ type$ "book" =
+type$ "inbook" =
+or
+'author.editor.sort
+{ type$ "proceedings" =
+'editor.organization.sort
+{ type$ "manual" =
+'author.organization.sort
+'author.sort
+if$
+}
+if$
+}
+if$
+" "
+*
+year field.or.null sortify
+*
+" "
+*
+title field.or.null
+sort.format.title
+*
+#1 entry.max$ substring$
+'sort.key$ :=
+}
+ITERATE {presort}
+SORT
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+#1 'number.label :=
+#0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+number.label #1 + 'number.label :=
+label width$ longest.label.width >
+{ label 'longest.label :=
+label width$ 'longest.label.width :=
+}
+'skip$
+if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{
+"\newif\ifabfull\abfulltrue" write$ newline$
+"\input apreambl" write$ newline$
+preamble$ empty$
+'skip$
+{ preamble$ write$ newline$ }
+if$
+"\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+"\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/abstyles/aunsnot.bst b/Master/texmf-dist/bibtex/bst/abstyles/aunsnot.bst
new file mode 100644
index 00000000000..6a918d201e5
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/abstyles/aunsnot.bst
@@ -0,0 +1,941 @@
+% BibTeX bibliography style `AUNSNOT'
+ENTRY
+{ address
+author
+booktitle
+chapter
+edition
+editor
+howpublished
+institution
+journal
+key
+month
+note
+number
+organization
+pages
+publisher
+school
+series
+title
+type
+volume
+year
+}
+{}
+{ label }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+continue.sentence }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+#1 'mid.sentence :=
+#2 'after.sentence :=
+#3 'after.block :=
+#4 'continue.sentence :=
+}
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+output.state continue.sentence =
+{ " " * write$ }
+{ output.state mid.sentence =
+{ ", " * write$ }
+{ output.state after.block =
+{ add.period$ write$
+newline$
+"\newblock " write$
+}
+{ output.state before.all =
+'write$
+{ add.period$ " " * write$ }
+if$
+}
+if$
+}
+if$
+continue.sentence 'output.state :=
+}
+if$
+s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+'pop$
+'output.nonnull
+if$
+}
+FUNCTION {output.check}
+{ 't :=
+duplicate$ empty$
+{ pop$ "empty " t * " in " * cite$ * warning$ }
+'output.nonnull
+if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+"\bibitem{" write$
+cite$ write$
+"}" write$
+newline$
+""
+before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ add.period$
+write$
+newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+'skip$
+{ after.block 'output.state := }
+if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ after.sentence 'output.state := }
+if$
+}
+if$
+}
+FUNCTION {new.clause}
+{ output.state after.sentence =
+'skip$
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ mid.sentence 'output.state := }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {not}
+{ { #0 }
+{ #1 }
+if$
+}
+FUNCTION {and}
+{ 'skip$
+{ pop$ #0 }
+if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+'skip$
+if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.clause.checka}
+{ empty$
+'skip$
+'new.clause
+if$
+}
+FUNCTION {new.clause.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.clause
+if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+{ pop$ "" }
+'skip$
+if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{2}{" swap$ * "}" * }
+if$
+}
+FUNCTION {capitalize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{0}{" swap$ * "}" * }
+if$
+}
+FUNCTION {boldface}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{3}{" swap$ * "}" * }
+if$
+}
+FUNCTION {quote}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{1}{" swap$ * "}" * }
+if$
+}
+FUNCTION {parentheses}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{5}{" swap$ * "}" * }
+if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+#1 'nameptr :=
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+nameptr #1 >
+{ namesleft #1 >
+{ ", " * t * }
+{ numnames #2 >
+{ "\abphrase{1}" * }
+'skip$
+if$
+t "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * t * }
+if$
+}
+if$
+}
+'t
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {format.authors}
+{ author empty$
+{ "" }
+{ author format.names capitalize }
+if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+{ "" }
+{ editor format.names capitalize
+editor num.names$ #1 >
+{ "\abphrase{3}" * }
+{ "\abphrase{4}" * }
+if$
+}
+if$
+}
+FUNCTION {format.title}
+{ title empty$
+{ "" }
+{ title "t" change.case$ }
+if$
+}
+FUNCTION {n.dashify}
+{ 't :=
+""
+{ t empty$ not }
+{ t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+{ "--" *
+t #2 global.max$ substring$ 't :=
+}
+{ { t #1 #1 substring$ "-" = }
+{ "-" *
+t #2 global.max$ substring$ 't :=
+}
+while$
+}
+if$
+}
+{ t #1 #1 substring$ *
+t #2 global.max$ substring$ 't :=
+}
+if$
+}
+while$
+}
+FUNCTION {format.date}
+{ year empty$
+{ month empty$
+{ "" }
+{ "there's a month but no year in " cite$ * warning$
+month parentheses
+}
+if$
+}
+{ month empty$
+{ year parentheses }
+{ month " " * year * parentheses }
+if$
+}
+if$
+}
+FUNCTION {format.btitle}
+{ title quote
+}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+{ "~" }
+{ " " }
+if$
+swap$ * *
+}
+FUNCTION {either.or.check}
+{ empty$
+'pop$
+{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
+if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+{ "" }
+{ "\abphrase{8}" volume tie.or.space.connect
+series empty$
+'skip$
+{ "\abphrase{5}" * series quote * }
+if$
+"volume and number" number either.or.check
+}
+if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+{ number empty$
+{ series field.or.null }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ "\abphrase{10}" }
+{ "\abphrase{11}" }
+if$
+number tie.or.space.connect
+series empty$
+{ "there's a number but no series in " cite$ * warning$ }
+{ "\abphrase{6}" * series * }
+if$
+}
+if$
+}
+{ "" }
+if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+{ "" }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ edition "l" change.case$ "\abphrase{12}" * }
+{ edition "t" change.case$ "\abphrase{12}" * }
+if$
+}
+if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+#0 'multiresult :=
+{ multiresult not
+t empty$ not
+and
+}
+{ t #1 #1 substring$
+duplicate$ "-" =
+swap$ duplicate$ "," =
+swap$ "+" =
+or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+if$
+}
+while$
+multiresult
+}
+FUNCTION {format.pages}
+{ pages empty$
+{ "" }
+{ pages multi.page.check
+{ "\abphrase{13}" pages n.dashify tie.or.space.connect }
+{ "\abphrase{14}" pages tie.or.space.connect }
+if$
+}
+if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null boldface
+number empty$
+'skip$
+{ "\abtype{4}{" number * "}" * *
+volume empty$
+{ "there's a number but no volume in " cite$ * warning$ }
+'skip$
+if$
+}
+if$
+pages empty$
+'skip$
+{ duplicate$ empty$
+{ pop$ format.pages }
+{ ", " * pages n.dashify * }
+if$
+}
+if$
+}
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+'format.pages
+{ type empty$
+{ "\abphrase{15}" }
+{ type "l" change.case$ }
+if$
+chapter tie.or.space.connect
+pages empty$
+'skip$
+{ ", " * format.pages * }
+if$
+}
+if$
+}
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+{ "" }
+{ editor empty$
+{ "\abphrase{7}" booktitle quote * }
+{ "\abphrase{7}" format.editors * ", " * booktitle quote * }
+if$
+}
+if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+month empty$ year empty$ note empty$
+and and and and and
+{ "all relevant fields are empty in " cite$ * warning$ }
+'skip$
+if$
+}
+FUNCTION {format.thesis.type}
+{ type empty$
+'skip$
+{ pop$
+type "t" change.case$
+}
+if$
+}
+FUNCTION {format.tr.number}
+{ type empty$
+{ "\abphrase{16}" }
+'type
+if$
+number empty$
+{ "t" change.case$ }
+{ number tie.or.space.connect }
+if$
+}
+FUNCTION {format.article.crossref}
+{ key empty$
+{ journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+warning$
+""
+}
+{ "\abphrase{7}" journal emphasize * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+editor num.names$ duplicate$
+#2 >
+{ pop$ "\abphrase{2}" * }
+{ #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * editor #2 "{vv~}{ll}" format.name$ * }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+"\abphrase{7}"
+}
+{ "\abphrase{9}" volume tie.or.space.connect
+"\abphrase{5}" *
+}
+if$
+editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ series empty$
+{ "need editor, key, or series for " cite$ * " to crossref " *
+crossref * warning$
+"" *
+}
+{ series quote * }
+if$
+}
+{ key * }
+if$
+}
+{ format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ booktitle empty$
+{ "need editor, key, or booktitle for " cite$ * " to crossref " *
+crossref * warning$
+""
+}
+{ "\abphrase{7}" booktitle quote * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+}
+{ "\abphrase{7}" format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {article}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+crossref missing$
+{ journal emphasize "journal" output.check
+format.vol.num.pages output
+format.date "year" output.check
+}
+{ format.article.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+crossref missing$
+{ new.clause
+format.bvolume output
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+format.authors output
+new.block
+format.title "title" output.check
+howpublished address new.block.checkb
+howpublished output
+address new.clause.checka
+address output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {inbook}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+new.clause
+crossref missing$
+{ format.bvolume output
+new.clause
+format.chapter.pages "chapter and pages" output.check
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ format.chapter.pages "chapter and pages" output.check
+new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {incollection}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+chapter empty$ pages empty$ and
+{
+format.title "title" output.check
+new.block
+}
+'skip$
+if$
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+new.clause
+format.bvolume output
+new.clause
+format.number.series output
+new.clause
+format.chapter.pages output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.chapter.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+pages empty$
+{
+format.title "title" output.check
+new.block
+}
+'skip$
+if$
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+pages new.clause.checka
+format.pages output
+address empty$
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+organization output
+new.clause
+publisher output
+}
+if$
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+author empty$
+{ organization empty$
+'skip$
+{ organization output.nonnull
+new.clause
+address output
+}
+if$
+}
+{ format.authors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+author empty$
+{ organization empty$
+{ address new.block.checka
+address output
+}
+'skip$
+if$
+}
+{ organization address new.block.checkb
+organization output
+address new.clause.checka
+address output
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {mastersthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+"\abphrase{17}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {misc}
+{ output.bibitem
+format.authors output
+title howpublished new.block.checkb
+format.title output
+howpublished new.block.checka
+howpublished output
+format.date output
+new.block
+note output
+fin.entry
+empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.btitle "title" output.check
+new.block
+"\abphrase{18}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {proceedings}
+{ output.bibitem
+editor empty$
+{ organization output }
+{ format.editors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+address empty$
+{ editor empty$
+{ publisher new.sentence.checka }
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+}
+if$
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+editor empty$
+'skip$
+{ organization output
+new.clause
+}
+if$
+publisher output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {techreport}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+number empty$
+{
+format.title "title" output.check
+new.block
+}
+'skip$
+if$
+format.tr.number output.nonnull
+new.clause
+institution "institution" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {unpublished}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+note "note" output.check
+format.date output
+fin.entry
+}
+FUNCTION {default.type} { misc }
+MACRO {jan} {"\abmonth{1}"}
+MACRO {feb} {"\abmonth{2}"}
+MACRO {mar} {"\abmonth{3}"}
+MACRO {apr} {"\abmonth{4}"}
+MACRO {may} {"\abmonth{5}"}
+MACRO {jun} {"\abmonth{6}"}
+MACRO {jul} {"\abmonth{7}"}
+MACRO {aug} {"\abmonth{8}"}
+MACRO {sep} {"\abmonth{9}"}
+MACRO {oct} {"\abmonth{10}"}
+MACRO {nov} {"\abmonth{11}"}
+MACRO {dec} {"\abmonth{12}"}
+MACRO {first} {"\abedition{1}"}
+MACRO {second} {"\abedition{2}"}
+MACRO {third} {"\abedition{3}"}
+MACRO {fourth} {"\abedition{4}"}
+MACRO {fifth} {"\abedition{5}"}
+MACRO {sixth} {"\abedition{6}"}
+MACRO {seventh} {"\abedition{7}"}
+MACRO {eighth} {"\abedition{8}"}
+MACRO {ninth} {"\abedition{9}"}
+MACRO {tenth} {"\abedition{10}"}
+MACRO {section} {"\abchapter{0}"}
+MACRO {paragraph} {"\abchapter{1}"}
+MACRO {appendix} {"\abchapter{2}"}
+MACRO {part} {"\abchapter{3}"}
+READ
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+#1 'number.label :=
+#0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+number.label #1 + 'number.label :=
+label width$ longest.label.width >
+{ label 'longest.label :=
+label width$ 'longest.label.width :=
+}
+'skip$
+if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{
+"\newif\ifabfull\abfullfalse" write$ newline$
+"\input apreambl" write$ newline$
+preamble$ empty$
+'skip$
+{ preamble$ write$ newline$ }
+if$
+"\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+"\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/abstyles/aunsrt.bst b/Master/texmf-dist/bibtex/bst/abstyles/aunsrt.bst
new file mode 100644
index 00000000000..a610403e428
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/abstyles/aunsrt.bst
@@ -0,0 +1,928 @@
+% BibTeX bibliography style `AUNSRT'
+ENTRY
+{ address
+author
+booktitle
+chapter
+edition
+editor
+howpublished
+institution
+journal
+key
+month
+note
+number
+organization
+pages
+publisher
+school
+series
+title
+type
+volume
+year
+}
+{}
+{ label }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+continue.sentence }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+#1 'mid.sentence :=
+#2 'after.sentence :=
+#3 'after.block :=
+#4 'continue.sentence :=
+}
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+output.state continue.sentence =
+{ " " * write$ }
+{ output.state mid.sentence =
+{ ", " * write$ }
+{ output.state after.block =
+{ add.period$ write$
+newline$
+"\newblock " write$
+}
+{ output.state before.all =
+'write$
+{ add.period$ " " * write$ }
+if$
+}
+if$
+}
+if$
+continue.sentence 'output.state :=
+}
+if$
+s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+'pop$
+'output.nonnull
+if$
+}
+FUNCTION {output.check}
+{ 't :=
+duplicate$ empty$
+{ pop$ "empty " t * " in " * cite$ * warning$ }
+'output.nonnull
+if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+"\bibitem{" write$
+cite$ write$
+"}" write$
+newline$
+""
+before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ add.period$
+write$
+newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+'skip$
+{ after.block 'output.state := }
+if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ after.sentence 'output.state := }
+if$
+}
+if$
+}
+FUNCTION {new.clause}
+{ output.state after.sentence =
+'skip$
+{ output.state after.block =
+'skip$
+{ output.state before.all =
+'skip$
+{ mid.sentence 'output.state := }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {not}
+{ { #0 }
+{ #1 }
+if$
+}
+FUNCTION {and}
+{ 'skip$
+{ pop$ #0 }
+if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+'skip$
+if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.block
+if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.sentence
+if$
+}
+FUNCTION {new.clause.checka}
+{ empty$
+'skip$
+'new.clause
+if$
+}
+FUNCTION {new.clause.checkb}
+{ empty$
+swap$ empty$
+and
+'skip$
+'new.clause
+if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+{ pop$ "" }
+'skip$
+if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{2}{" swap$ * "}" * }
+if$
+}
+FUNCTION {capitalize}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{0}{" swap$ * "}" * }
+if$
+}
+FUNCTION {boldface}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{3}{" swap$ * "}" * }
+if$
+}
+FUNCTION {quote}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{1}{" swap$ * "}" * }
+if$
+}
+FUNCTION {parentheses}
+{ duplicate$ empty$
+{ pop$ "" }
+{ "\abtype{5}{" swap$ * "}" * }
+if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+#1 'nameptr :=
+s num.names$ 'numnames :=
+numnames 'namesleft :=
+{ namesleft #0 > }
+{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+nameptr #1 >
+{ namesleft #1 >
+{ ", " * t * }
+{ numnames #2 >
+{ "\abphrase{1}" * }
+'skip$
+if$
+t "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * t * }
+if$
+}
+if$
+}
+'t
+if$
+nameptr #1 + 'nameptr :=
+namesleft #1 - 'namesleft :=
+}
+while$
+}
+FUNCTION {format.authors}
+{ author empty$
+{ "" }
+{ author format.names capitalize }
+if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+{ "" }
+{ editor format.names capitalize
+editor num.names$ #1 >
+{ "\abphrase{3}" * }
+{ "\abphrase{4}" * }
+if$
+}
+if$
+}
+FUNCTION {format.title}
+{ title empty$
+{ "" }
+{ title "t" change.case$ }
+if$
+}
+FUNCTION {n.dashify}
+{ 't :=
+""
+{ t empty$ not }
+{ t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+{ "--" *
+t #2 global.max$ substring$ 't :=
+}
+{ { t #1 #1 substring$ "-" = }
+{ "-" *
+t #2 global.max$ substring$ 't :=
+}
+while$
+}
+if$
+}
+{ t #1 #1 substring$ *
+t #2 global.max$ substring$ 't :=
+}
+if$
+}
+while$
+}
+FUNCTION {format.date}
+{ year empty$
+{ month empty$
+{ "" }
+{ "there's a month but no year in " cite$ * warning$
+month parentheses
+}
+if$
+}
+{ month empty$
+{ year parentheses }
+{ month " " * year * parentheses }
+if$
+}
+if$
+}
+FUNCTION {format.btitle}
+{ title quote
+}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+{ "~" }
+{ " " }
+if$
+swap$ * *
+}
+FUNCTION {either.or.check}
+{ empty$
+'pop$
+{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
+if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+{ "" }
+{ "\abphrase{8}" volume tie.or.space.connect
+series empty$
+'skip$
+{ "\abphrase{5}" * series quote * }
+if$
+"volume and number" number either.or.check
+}
+if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+{ number empty$
+{ series field.or.null }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ "\abphrase{10}" }
+{ "\abphrase{11}" }
+if$
+number tie.or.space.connect
+series empty$
+{ "there's a number but no series in " cite$ * warning$ }
+{ "\abphrase{6}" * series * }
+if$
+}
+if$
+}
+{ "" }
+if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+{ "" }
+{ output.state mid.sentence = output.state continue.sentence = or
+{ edition "l" change.case$ "\abphrase{12}" * }
+{ edition "t" change.case$ "\abphrase{12}" * }
+if$
+}
+if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+#0 'multiresult :=
+{ multiresult not
+t empty$ not
+and
+}
+{ t #1 #1 substring$
+duplicate$ "-" =
+swap$ duplicate$ "," =
+swap$ "+" =
+or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+if$
+}
+while$
+multiresult
+}
+FUNCTION {format.pages}
+{ pages empty$
+{ "" }
+{ pages multi.page.check
+{ "\abphrase{13}" pages n.dashify tie.or.space.connect }
+{ "\abphrase{14}" pages tie.or.space.connect }
+if$
+}
+if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null boldface
+number empty$
+'skip$
+{ "\abtype{4}{" number * "}" * *
+volume empty$
+{ "there's a number but no volume in " cite$ * warning$ }
+'skip$
+if$
+}
+if$
+pages empty$
+'skip$
+{ duplicate$ empty$
+{ pop$ format.pages }
+{ ", " * pages n.dashify * }
+if$
+}
+if$
+}
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+'format.pages
+{ type empty$
+{ "\abphrase{15}" }
+{ type "l" change.case$ }
+if$
+chapter tie.or.space.connect
+pages empty$
+'skip$
+{ ", " * format.pages * }
+if$
+}
+if$
+}
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+{ "" }
+{ editor empty$
+{ "\abphrase{7}" booktitle quote * }
+{ "\abphrase{7}" format.editors * ", " * booktitle quote * }
+if$
+}
+if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+month empty$ year empty$ note empty$
+and and and and and
+{ "all relevant fields are empty in " cite$ * warning$ }
+'skip$
+if$
+}
+FUNCTION {format.thesis.type}
+{ type empty$
+'skip$
+{ pop$
+type "t" change.case$
+}
+if$
+}
+FUNCTION {format.tr.number}
+{ type empty$
+{ "\abphrase{16}" }
+'type
+if$
+number empty$
+{ "t" change.case$ }
+{ number tie.or.space.connect }
+if$
+}
+FUNCTION {format.article.crossref}
+{ key empty$
+{ journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+warning$
+""
+}
+{ "\abphrase{7}" journal emphasize * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+editor num.names$ duplicate$
+#2 >
+{ pop$ "\abphrase{2}" * }
+{ #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+{ "\abphrase{2}" * }
+{ "\abphrase{0}" * editor #2 "{vv~}{ll}" format.name$ * }
+if$
+}
+if$
+}
+if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+"\abphrase{7}"
+}
+{ "\abphrase{9}" volume tie.or.space.connect
+"\abphrase{5}" *
+}
+if$
+editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ series empty$
+{ "need editor, key, or series for " cite$ * " to crossref " *
+crossref * warning$
+"" *
+}
+{ series quote * }
+if$
+}
+{ key * }
+if$
+}
+{ format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+editor field.or.null author field.or.null =
+or
+{ key empty$
+{ booktitle empty$
+{ "need editor, key, or booktitle for " cite$ * " to crossref " *
+crossref * warning$
+""
+}
+{ "\abphrase{7}" booktitle quote * }
+if$
+}
+{ "\abphrase{7}" key * }
+if$
+}
+{ "\abphrase{7}" format.crossref.editor * }
+if$
+" \cite{" * crossref * "}" *
+}
+FUNCTION {article}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ journal emphasize "journal" output.check
+format.vol.num.pages output
+format.date "year" output.check
+}
+{ format.article.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+crossref missing$
+{ new.clause
+format.bvolume output
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+format.authors output
+new.block
+format.title "title" output.check
+howpublished address new.block.checkb
+howpublished output
+address new.clause.checka
+address output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {inbook}
+{ output.bibitem
+author empty$
+{ format.editors "author and editor" output.check }
+{ format.authors output.nonnull
+crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+if$
+}
+if$
+new.block
+format.btitle "title" output.check
+new.clause
+crossref missing$
+{ format.bvolume output
+new.clause
+format.chapter.pages "chapter and pages" output.check
+new.block
+format.number.series output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+}
+{ format.chapter.pages "chapter and pages" output.check
+new.block
+format.book.crossref output.nonnull
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {incollection}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+new.clause
+format.bvolume output
+new.clause
+format.number.series output
+new.clause
+format.chapter.pages output
+new.sentence
+publisher "publisher" output.check
+address new.clause.checka
+address output
+edition new.clause.checka
+format.edition output
+format.date "year" output.check
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.chapter.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+crossref missing$
+{ format.in.ed.booktitle "booktitle" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+pages new.clause.checka
+format.pages output
+address empty$
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+organization output
+new.clause
+publisher output
+}
+if$
+}
+{ format.incoll.inproc.crossref output.nonnull
+new.clause
+format.pages output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+author empty$
+{ organization empty$
+'skip$
+{ organization output.nonnull
+new.clause
+address output
+}
+if$
+}
+{ format.authors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+author empty$
+{ organization empty$
+{ address new.block.checka
+address output
+}
+'skip$
+if$
+}
+{ organization address new.block.checkb
+organization output
+address new.clause.checka
+address output
+}
+if$
+edition new.clause.checka
+format.edition output
+format.date output
+new.block
+note output
+fin.entry
+}
+FUNCTION {mastersthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+"\abphrase{17}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {misc}
+{ output.bibitem
+format.authors output
+title howpublished new.block.checkb
+format.title output
+howpublished new.block.checka
+howpublished output
+format.date output
+new.block
+note output
+fin.entry
+empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.btitle "title" output.check
+new.block
+"\abphrase{18}" format.thesis.type output.nonnull
+new.clause
+school "school" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {proceedings}
+{ output.bibitem
+editor empty$
+{ organization output }
+{ format.editors output.nonnull }
+if$
+new.block
+format.btitle "title" output.check
+volume new.clause.checka
+format.bvolume output
+number series new.clause.checkb
+format.number.series output
+address empty$
+{ editor empty$
+{ publisher new.sentence.checka }
+{ organization publisher new.sentence.checkb
+organization output
+publisher new.clause.checka
+}
+if$
+publisher output
+format.date "year" output.check
+}
+{ new.clause
+address output.nonnull
+format.date "year" output.check
+new.sentence
+editor empty$
+'skip$
+{ organization output
+new.clause
+}
+if$
+publisher output
+}
+if$
+new.block
+note output
+fin.entry
+}
+FUNCTION {techreport}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+format.tr.number output.nonnull
+new.clause
+institution "institution" output.check
+address new.clause.checka
+address output
+format.date "year" output.check
+new.block
+note output
+fin.entry
+}
+FUNCTION {unpublished}
+{ output.bibitem
+format.authors "author" output.check
+new.block
+format.title "title" output.check
+new.block
+note "note" output.check
+format.date output
+fin.entry
+}
+FUNCTION {default.type} { misc }
+MACRO {jan} {"\abmonth{1}"}
+MACRO {feb} {"\abmonth{2}"}
+MACRO {mar} {"\abmonth{3}"}
+MACRO {apr} {"\abmonth{4}"}
+MACRO {may} {"\abmonth{5}"}
+MACRO {jun} {"\abmonth{6}"}
+MACRO {jul} {"\abmonth{7}"}
+MACRO {aug} {"\abmonth{8}"}
+MACRO {sep} {"\abmonth{9}"}
+MACRO {oct} {"\abmonth{10}"}
+MACRO {nov} {"\abmonth{11}"}
+MACRO {dec} {"\abmonth{12}"}
+MACRO {first} {"\abedition{1}"}
+MACRO {second} {"\abedition{2}"}
+MACRO {third} {"\abedition{3}"}
+MACRO {fourth} {"\abedition{4}"}
+MACRO {fifth} {"\abedition{5}"}
+MACRO {sixth} {"\abedition{6}"}
+MACRO {seventh} {"\abedition{7}"}
+MACRO {eighth} {"\abedition{8}"}
+MACRO {ninth} {"\abedition{9}"}
+MACRO {tenth} {"\abedition{10}"}
+MACRO {section} {"\abchapter{0}"}
+MACRO {paragraph} {"\abchapter{1}"}
+MACRO {appendix} {"\abchapter{2}"}
+MACRO {part} {"\abchapter{3}"}
+READ
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+#1 'number.label :=
+#0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+number.label #1 + 'number.label :=
+label width$ longest.label.width >
+{ label 'longest.label :=
+label width$ 'longest.label.width :=
+}
+'skip$
+if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{
+"\newif\ifabfull\abfulltrue" write$ newline$
+"\input apreambl" write$ newline$
+preamble$ empty$
+'skip$
+{ preamble$ write$ newline$ }
+if$
+"\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+"\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemso.bst b/Master/texmf-dist/bibtex/bst/achemso/achemso.bst
new file mode 100644
index 00000000000..fa59deec2ac
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemso.bst
@@ -0,0 +1,943 @@
+%%
+%% This is file `achemso.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% achemso.dtx (with options: `huvudkod')
+%%
+%% Copyright (c) 1995-97 by Mats Dahlgren <matsd@homenet.se>.
+%% All rights reserved. See the file `achemso.ins' for information
+%% on how you may (re-)distribute the `achemso' package files.
+%%
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ annotate
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { ", " * write$
+ newline$
+ "\newblock " write$
+}
+{ output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+}
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasizec}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * ",}" * }
+ if$
+}
+
+FUNCTION {emphasizesc}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * ";}" * }
+ if$
+}
+
+FUNCTION {slantc}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textsl{" swap$ * ",}" * }
+ if$
+}
+
+FUNCTION {emboldenc}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * ",}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+INTEGERS { etal }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames #15 >
+ s numnames "{ll}" format.name$ "others" = numnames #1 > and
+ or 'etal :=
+ etal
+ { #1 #1 + 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
+ nameptr #1 >
+{ namesleft #1 >
+ { ";\ \ " * t * }
+ { nameptr #2 >
+{ "" * }
+'skip$
+ if$
+ t "others" =
+ etal or
+{ " \textit{et al.}\ " * }
+{ ";\ \ " * t * }
+ if$
+ }
+ if$
+}
+'t
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+{ ",\ \ Eds.; " * }
+{ ",\ \ Ed.; " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+{ "-" *
+ t #2 global.max$ substring$ 't :=
+}
+ while$
+ }
+ if$
+}
+{ t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+}
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { "" }
+ 'year
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+'skip$
+{ " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+{ series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series " " * number * "; " * }
+ if$
+}
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition " ed.;" * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+{ "pages" pages n.dashify tie.or.space.connect }
+{ "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "page" pages tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.yr.vol.pages}
+{ year field.or.null emboldenc
+ " " swap$ * *
+ volume field.or.null slantc
+ " " swap$ * *
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+{ pop$ format.pages.a }
+{ " " * pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+{ "Chapter" }
+{ type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+'skip$
+{ ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis}
+{ type empty$
+ {"Thesis,"}
+ {type " thesis," * }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+}
+{ "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+{ series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\textit{" * series * "}" * }
+ if$
+}
+{ key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+{ booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In \textit{" booktitle * ",}" * }
+ if$
+}
+{ "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {in.book}
+ { "In " output
+ booktitle emphasize
+ volume empty$
+ {skip$}
+ {", Vol.~" * volume *}
+ if$
+ edition empty$
+ {";" * output}
+ {"," * output
+ edition " ed.;\" * output}
+ if$
+ editor missing$
+ { skip$ }
+ { format.editors output }
+ if$
+ format.number.series output
+ new.sentence
+ publisher ":" * "publisher" output.check
+ address "," * "address" output.check
+}
+
+FUNCTION {book.vol.ed}
+{ "" volume empty$
+ {skip$}
+ {" Vol.~" * volume *}
+ if$
+ edition empty$
+ {";" * output}
+ {"," * output
+ edition " ed.;\" * output}
+ if$
+}
+
+FUNCTION {thesis.affilation}
+{ school "," * "school" output.check
+ institution empty$
+ 'skip$
+ {institution "," * output}
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ crossref missing$
+ { journal field.or.null emphasize
+ format.yr.vol.pages
+ output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {submitted}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ "submitted for publication in" output
+ note empty$
+ { journal emphasize "journal" output.check }
+ { journal emphasizec "journal" output.check
+ note output }
+ if$
+ fin.entry
+}
+
+FUNCTION {inpress}
+{ output.bibitem
+ format.authors "author" output.check
+ journal emphasizec "journal" output.check
+ "in press" output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+ if$
+ }
+ if$
+ booktitle empty$
+ { title emphasizesc output }
+ { booktitle emphasizesc output }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher ":" * "publisher" output.check
+ address "," * "address" output.check
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors "author" output.check
+ " ``" title * "'', " * "title" output.check
+ howpublished empty$
+ { skip$ }
+ { howpublished "," * output}
+ if$
+ address empty$
+ { skip$ }
+ { address "," * output}
+ if$
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ format.authors "author" output.check
+ " " title * ". " * "title" output.check
+ in.book
+ chapter empty$
+ {format.date "year" output.check}
+ {year empty$
+ { "empty year field in " * cite$ * warning$ }
+ { year "; " * output
+ format.chapter.pages output }
+ if$
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ " " title * ". " * "title" output.check
+ in.book
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings} { inbook }
+
+FUNCTION {conference} { inbook }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+'skip$
+{ organization ", " * address * output
+}
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ "``" title * "'', " * "title" output.check
+ author empty$
+ { organization empty$
+{ address empty$
+ 'skip$
+ { address "," * output }
+ if$
+}
+'skip$
+ if$
+ }
+ { organization empty$
+ 'skip$
+ { organization "," * output
+ address empty$
+ 'skip$
+ { address "," * output }
+ if$
+ }
+ if$
+ }
+ if$
+ format.edition output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ "``" title * "'', " * "title" output.check
+ "Master's thesis, " output
+ thesis.affilation
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title empty$
+ 'skip$
+ { "``" title * "'', " * output }
+ if$
+ howpublished empty$
+ 'skip$
+ {howpublished "," * output }
+ if$
+ format.date output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ title emphasizec "title" output.check
+ format.thesis output.nonnull
+ thesis.affilation
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ booktitle empty$
+ { title emphasizec output }
+ { booktitle emphasizec output }
+ if$
+ book.vol.ed
+ format.number.series output
+ publisher empty$
+ { address empty$
+ { format.date "year" output.check }
+ { address "," * output
+ format.date "year" output.check }
+ if$
+ }
+ { address empty$
+ { publisher "," * output
+ format.date "year" output.check }
+ { publisher ": " * address * "," * output
+ format.date "year" output.check }
+ if$
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ "``" title * "'', " * "title" output.check
+ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { ", " * }
+ { " " * number * "," * }
+ if$
+ output.nonnull
+ institution "," * "institution" output.check
+ address empty$
+ { skip$ }
+ { address "," * output }
+ if$
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ note empty$
+ { "Unpublished data" output }
+ { year empty$
+ { note output }
+ { note ", " * year * output }
+ if$ }
+ if$
+ fin.entry
+}
+
+FUNCTION {remark}
+{ output.bibitem
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+MACRO {acchemr} {"Acc.\ Chem.\ Res."}
+MACRO {aacsa} {"Adv.\ {ACS} Abstr."}
+MACRO {anchem} {"Anal.\ Chem."}
+MACRO {bioch} {"Biochemistry"}
+MACRO {bicoc} {"Bioconj.\ Chem."} % ***
+MACRO {bitech} {"Biotechnol.\ Progr."} % ***
+MACRO {chemeng} {"Chem.\ Eng.\ News"}
+MACRO {chs} {"Chem.\ Health Safety"} % ***
+MACRO {crt} {"Chem.\ Res.\ Tox."} % ***
+MACRO {chemrev} {"Chem.\ Rev."} % ***
+MACRO {cmat} {"Chem.\ Mat."} % ***
+MACRO {chemtech} {"{CHEMTECH}"} % ***
+MACRO {enfu} {"Energy \&{} Fuels"} % ***
+MACRO {envst} {"Environ.\ Sci.\ Technol."}
+MACRO {iecf} {"Ind.\ Eng.\ Chem.\ Fundam."}
+MACRO {iecpdd} {"Ind.\ Eng.\ Chem.\ Proc.\ Des.\ Dev."}
+MACRO {iecprd} {"Ind.\ Eng.\ Chem.\ Prod.\ Res.\ Dev."}
+MACRO {iecr} {"Ind.\ Eng.\ Chem.\ Res."} % ***
+MACRO {inor} {"Inorg.\ Chem."}
+MACRO {jafc} {"J.~Agric.\ Food Chem."}
+MACRO {jacs} {"J.~Am.\ Chem.\ Soc."}
+MACRO {jced} {"J.~Chem.\ Eng.\ Data"}
+MACRO {jcics} {"J.~Chem.\ Inf.\ Comput.\ Sci."}
+MACRO {jmc} {"J.~Med.\ Chem."}
+MACRO {joc} {"J.~Org.\ Chem."}
+MACRO {jps} {"J.~Pharm.\ Sci."}
+MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % ***
+MACRO {jpc} {"J.~Phys.\ Chem."}
+MACRO {lang} {"Langmuir"}
+MACRO {macro} {"Macromolecules"}
+MACRO {orgmet} {"Organometallics"}
+
+MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."}
+MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans. 1"}
+MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans. 2"}
+MACRO {tfs} {"Trans.\ Faraday Soc."}
+MACRO {jcis} {"J.~Colloid Interface Sci."}
+MACRO {acis} {"Adv.~Colloid Interface Sci."}
+MACRO {cs} {"Colloids Surf."}
+MACRO {csa} {"Colloids Surf.\ A:\ Physicochem.\ Eng.\ Apects"}
+MACRO {csb} {"Colloids Surf.\ B:\ Biointerfaces"}
+MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."}
+MACRO {jmr} {"J.~Magn.\ Reson."}
+MACRO {jmra} {"J.~Magn.\ Reson.\ A"}
+MACRO {jmrb} {"J.~Magn.\ Reson.\ B"}
+MACRO {sci} {"Science"}
+MACRO {nat} {"Nature (London)"}
+MACRO {jcch} {"J.~Comput.\ Chem."}
+MACRO {cca} {"Croat.\ Chem.\ Acta"}
+
+MACRO {poly} {"Polymer"}
+MACRO {ajp} {"Am.\ J.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Instrum."}
+MACRO {jcp} {"J.~Chem.\ Phys."}
+MACRO {cpl} {"Chem.\ Phys.\ Lett."}
+MACRO {molph} {"Mol.\ Phys."}
+MACRO {pac} {"Pure Appl.\ Chem."}
+MACRO {jbc} {"J.~Biol.\ Chem."}
+MACRO {tl} {"Tetrahedron Lett.\"}
+MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."}
+MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter"}
+MACRO {jap} {"J.~Appl.\ Phys."}
+MACRO {pnac} {"Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A. "}
+MACRO {bba} {"Biochim.\ Biophys.\ Acta"}
+MACRO {nar} {"Nucleic.\ Acid Res."}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\providecommand{\refin}[1]{\\ \textbf{Referenced in:} #1}"
+ write$ newline$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%%
+%% End of file `achemso.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst b/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst
new file mode 100644
index 00000000000..76dd071dd1c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst
@@ -0,0 +1,966 @@
+%%
+%% This is file `achemsol.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% achemso.dtx (with options: `listhuvudkod')
+%%
+%% Copyright (c) 1995-97 by Mats Dahlgren <matsd@homenet.se>.
+%% All rights reserved. See the file `achemso.ins' for information
+%% on how you may (re-)distribute the `achemso' package files.
+%%
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ annotate
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { ", " * write$
+ newline$
+ "\newblock " write$
+}
+{ output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+}
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasizec}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * ",}" * }
+ if$
+}
+
+FUNCTION {emphasizesc}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * ";}" * }
+ if$
+}
+
+FUNCTION {slantc}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textsl{" swap$ * ",}" * }
+ if$
+}
+
+FUNCTION {emboldenc}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * ",}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+INTEGERS { etal }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames #15 >
+ s numnames "{ll}" format.name$ "others" = numnames #1 > and
+ or 'etal :=
+ etal
+ { #1 #1 + 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
+ nameptr #1 >
+{ namesleft #1 >
+ { ";\ \ " * t * }
+ { nameptr #2 >
+{ "" * }
+'skip$
+ if$
+ t "others" =
+ etal or
+{ " \textit{et al.}\ " * }
+{ ";\ \ " * t * }
+ if$
+ }
+ if$
+}
+'t
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+{ ",\ \ Eds.; " * }
+{ ",\ \ Ed.; " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+{ "-" *
+ t #2 global.max$ substring$ 't :=
+}
+ while$
+ }
+ if$
+}
+{ t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+}
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { "" }
+ 'year
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+'skip$
+{ " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+{ series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series " " * number * "; " * }
+ if$
+}
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition " ed.;" * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+{ "pages" pages n.dashify tie.or.space.connect }
+{ "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "page" pages tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.yr.vol.pages}
+{ year field.or.null emboldenc
+ " " swap$ * *
+ volume field.or.null slantc
+ " " swap$ * *
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+{ pop$ format.pages.a }
+{ " " * pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+{ "Chapter" }
+{ type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+'skip$
+{ ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis}
+{ type empty$
+ {"Thesis,"}
+ {type " thesis," * }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+}
+{ "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+{ series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\textit{" * series * "}" * }
+ if$
+}
+{ key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+{ booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In \textit{" booktitle * ",}" * }
+ if$
+}
+{ "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {in.book}
+ { "In " output
+ booktitle emphasize
+ volume empty$
+ {skip$}
+ {", Vol.~" * volume *}
+ if$
+ edition empty$
+ {";" * output}
+ {"," * output
+ edition " ed.;\" * output}
+ if$
+ editor missing$
+ { skip$ }
+ { format.editors output }
+ if$
+ format.number.series output
+ new.sentence
+ publisher ":" * "publisher" output.check
+ address "," * "address" output.check
+}
+
+FUNCTION {book.vol.ed}
+{ "" volume empty$
+ {skip$}
+ {" Vol.~" * volume *}
+ if$
+ edition empty$
+ {";" * output}
+ {"," * output
+ edition " ed.;\" * output}
+ if$
+}
+
+FUNCTION {thesis.affilation}
+{ school "," * "school" output.check
+ institution empty$
+ 'skip$
+ {institution "," * output}
+ if$
+}
+
+FUNCTION {add.note}
+{ annotate empty$
+ 'skip$
+ { new.block
+ "{\footnotesize " annotate * "}" * output }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ crossref missing$
+ { journal field.or.null emphasize
+ format.yr.vol.pages
+ output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {submitted}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ "submitted for publication in" output
+ note empty$
+ { journal emphasize "journal" output.check }
+ { journal emphasizec "journal" output.check
+ note output }
+ if$
+ add.note
+ fin.entry
+}
+
+FUNCTION {inpress}
+{ output.bibitem
+ format.authors "author" output.check
+ journal emphasizec "journal" output.check
+ "in press" output
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+ if$
+ }
+ if$
+ booktitle empty$
+ { title emphasizesc output }
+ { booktitle emphasizesc output }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher ":" * "publisher" output.check
+ address "," * "address" output.check
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors "author" output.check
+ " ``" title * "'', " * "title" output.check
+ howpublished empty$
+ { skip$ }
+ { howpublished "," * output}
+ if$
+ address empty$
+ { skip$ }
+ { address "," * output}
+ if$
+ format.date "year" output.check
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ format.authors "author" output.check
+ " " title * ". " * "title" output.check
+ in.book
+ chapter empty$
+ {format.date "year" output.check}
+ {year empty$
+ { "empty year field in " * cite$ * warning$ }
+ { year "; " * output
+ format.chapter.pages output }
+ if$
+ }
+ if$
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ " " title * ". " * "title" output.check
+ in.book
+ format.date "year" output.check
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {inproceedings} { inbook }
+
+FUNCTION {conference} { inbook }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+'skip$
+{ organization ", " * address * output
+}
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ "``" title * "'', " * "title" output.check
+ author empty$
+ { organization empty$
+{ address empty$
+ 'skip$
+ { address "," * output }
+ if$
+}
+'skip$
+ if$
+ }
+ { organization empty$
+ 'skip$
+ { organization "," * output
+ address empty$
+ 'skip$
+ { address "," * output }
+ if$
+ }
+ if$
+ }
+ if$
+ format.edition output
+ format.date output
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ "``" title * "'', " * "title" output.check
+ "Master's thesis, " output
+ thesis.affilation
+ format.date "year" output.check
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title empty$
+ 'skip$
+ { "``" title * "'', " * output }
+ if$
+ howpublished empty$
+ 'skip$
+ {howpublished "," * output }
+ if$
+ format.date output
+ note output
+ add.note
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ title emphasizec "title" output.check
+ format.thesis output.nonnull
+ thesis.affilation
+ format.date "year" output.check
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ booktitle empty$
+ { title emphasizec output }
+ { booktitle emphasizec output }
+ if$
+ book.vol.ed
+ format.number.series output
+ publisher empty$
+ { address empty$
+ { format.date "year" output.check }
+ { address "," * output
+ format.date "year" output.check }
+ if$
+ }
+ { address empty$
+ { publisher "," * output
+ format.date "year" output.check }
+ { publisher ": " * address * "," * output
+ format.date "year" output.check }
+ if$
+ }
+ if$
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ "``" title * "'', " * "title" output.check
+ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { ", " * }
+ { " " * number * "," * }
+ if$
+ output.nonnull
+ institution "," * "institution" output.check
+ address empty$
+ { skip$ }
+ { address "," * output }
+ if$
+ format.date "year" output.check
+ note output
+ add.note
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ note empty$
+ { "Unpublished data" output }
+ { year empty$
+ { note output }
+ { note ", " * year * output }
+ if$ }
+ if$
+ add.note
+ fin.entry
+}
+
+FUNCTION {remark}
+{ output.bibitem
+ note "note" output.check
+ add.note
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+MACRO {acchemr} {"Acc.\ Chem.\ Res."}
+MACRO {aacsa} {"Adv.\ {ACS} Abstr."}
+MACRO {anchem} {"Anal.\ Chem."}
+MACRO {bioch} {"Biochemistry"}
+MACRO {bicoc} {"Bioconj.\ Chem."} % ***
+MACRO {bitech} {"Biotechnol.\ Progr."} % ***
+MACRO {chemeng} {"Chem.\ Eng.\ News"}
+MACRO {chs} {"Chem.\ Health Safety"} % ***
+MACRO {crt} {"Chem.\ Res.\ Tox."} % ***
+MACRO {chemrev} {"Chem.\ Rev."} % ***
+MACRO {cmat} {"Chem.\ Mat."} % ***
+MACRO {chemtech} {"{CHEMTECH}"} % ***
+MACRO {enfu} {"Energy \&{} Fuels"} % ***
+MACRO {envst} {"Environ.\ Sci.\ Technol."}
+MACRO {iecf} {"Ind.\ Eng.\ Chem.\ Fundam."}
+MACRO {iecpdd} {"Ind.\ Eng.\ Chem.\ Proc.\ Des.\ Dev."}
+MACRO {iecprd} {"Ind.\ Eng.\ Chem.\ Prod.\ Res.\ Dev."}
+MACRO {iecr} {"Ind.\ Eng.\ Chem.\ Res."} % ***
+MACRO {inor} {"Inorg.\ Chem."}
+MACRO {jafc} {"J.~Agric.\ Food Chem."}
+MACRO {jacs} {"J.~Am.\ Chem.\ Soc."}
+MACRO {jced} {"J.~Chem.\ Eng.\ Data"}
+MACRO {jcics} {"J.~Chem.\ Inf.\ Comput.\ Sci."}
+MACRO {jmc} {"J.~Med.\ Chem."}
+MACRO {joc} {"J.~Org.\ Chem."}
+MACRO {jps} {"J.~Pharm.\ Sci."}
+MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % ***
+MACRO {jpc} {"J.~Phys.\ Chem."}
+MACRO {lang} {"Langmuir"}
+MACRO {macro} {"Macromolecules"}
+MACRO {orgmet} {"Organometallics"}
+
+MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."}
+MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans. 1"}
+MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans. 2"}
+MACRO {tfs} {"Trans.\ Faraday Soc."}
+MACRO {jcis} {"J.~Colloid Interface Sci."}
+MACRO {acis} {"Adv.~Colloid Interface Sci."}
+MACRO {cs} {"Colloids Surf."}
+MACRO {csa} {"Colloids Surf.\ A:\ Physicochem.\ Eng.\ Apects"}
+MACRO {csb} {"Colloids Surf.\ B:\ Biointerfaces"}
+MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."}
+MACRO {jmr} {"J.~Magn.\ Reson."}
+MACRO {jmra} {"J.~Magn.\ Reson.\ A"}
+MACRO {jmrb} {"J.~Magn.\ Reson.\ B"}
+MACRO {sci} {"Science"}
+MACRO {nat} {"Nature (London)"}
+MACRO {jcch} {"J.~Comput.\ Chem."}
+MACRO {cca} {"Croat.\ Chem.\ Acta"}
+
+MACRO {poly} {"Polymer"}
+MACRO {ajp} {"Am.\ J.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Instrum."}
+MACRO {jcp} {"J.~Chem.\ Phys."}
+MACRO {cpl} {"Chem.\ Phys.\ Lett."}
+MACRO {molph} {"Mol.\ Phys."}
+MACRO {pac} {"Pure Appl.\ Chem."}
+MACRO {jbc} {"J.~Biol.\ Chem."}
+MACRO {tl} {"Tetrahedron Lett.\"}
+MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."}
+MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter"}
+MACRO {jap} {"J.~Appl.\ Phys."}
+MACRO {pnac} {"Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A. "}
+MACRO {bba} {"Biochim.\ Biophys.\ Acta"}
+MACRO {nar} {"Nucleic.\ Acid Res."}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\providecommand{\refin}[1]{\\ \textbf{Referenced in:} #1}"
+ write$ newline$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%%
+%% End of file `achemsol.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/acmtrans/acmtrans.bst b/Master/texmf-dist/bibtex/bst/acmtrans/acmtrans.bst
new file mode 100644
index 00000000000..f9720fd4a94
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/acmtrans/acmtrans.bst
@@ -0,0 +1,1768 @@
+% "ACM Transactions" BibTeX style, acmtrans.bst
+% for BibTeX version 0.99c, LaTeX version 3.141
+% Revised 28-MARCH-1996
+% Revised 30-JUNE-1995
+% Revised 15-JAN-1996
+% $Header: acmtrans.bst,v 1.2 96/01/17 09:05:38 boyland Exp $
+%
+% Hacked by John T. Boyland at University of California, Berkeley
+% (with assistance by John R. Hauser)
+% Hacked by Andrew W. Appel and Rebecca L. Davies at Princeton University,
+% based on a "chicago.bst" by Glenn Paulley at U. Waterloo,
+% which was based on "newapa.bst" found at ymir.claremont.edu.
+%
+% Citation format: [author-last-name year]
+% [author-last-name and author-last-name year]
+% [author-last-name, author-last-name, and author-last-name year]
+% [author-last-name et al. year]
+% [author-last-name]
+% author-last-name [year]
+% [author-last-name and author-last-name]
+% [author-last-name et al.]
+% [year] or [year,year]
+% year or year,year
+%
+% Reference list ordering: alphabetical by author or whatever passes
+% for author in the absence of one.
+%
+% This BibTeX style has support for abbreviated author lists and for
+% year-only citations. This is done by having the citations
+% actually look like
+%
+% \citeauthoryear{full-author-info}{abbrev-author-info}{year}
+%
+% The LaTeX style has to have the following (or similar)
+%
+% \let\@internalcite\cite
+% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite}
+% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite}
+% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite}
+% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite}
+% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite}
+%
+% These TeX macro definitions are found in acmtrans.sty. Additional
+% commands to manipulate different components of a citation can be defined
+% so that, for example, you can list author's names without parentheses
+% if using a citation as a noun or object in a sentence.
+%
+% Features of acmtrans.bst:
+% ========================
+%
+% - all authors appear last name first.
+% - all pages are listed xx-xx, (no pp.) and are at the end of the reference
+% - publishers are identified as publisher, address
+% - conferences papers (inproceedings) may give city of conference,
+% date of conference, and journal that the proceedings appear in.
+% - months abbreviated to max four letters (eg. Mar.)
+% - volume of a series indicated after the title of the series
+% - editors appear after edited title and are identified by a trailing "Eds."
+% not in parentheses. Editor names are not given in small caps.
+% (unless there is no author line)
+% - names terminated with a period even if there is no first name.
+% - editions are indicated trailing after the work, not in parentheses.
+% - "et al." citations have a protected period to avoid bad spacing (jrh)
+% - "address" required when publisher given
+% - series (roman) and volume are in a sentence separate from (book-)title
+%
+%
+% Features of chicago.bst:
+% =======================
+%
+% - full names used in citations, but abbreviated citations are available
+% (see above)
+% - if an entry has a "month", then the month and year are also printed
+% as part of that bibitem.
+% - all conjunctions use "and" instead of "\&"
+% - major modification from Chicago Manual of Style (13th ed.) is that
+% only the first author in a reference appears last name first-
+% additional authors appear as J. Q. Public.
+% - pages are listed as "pp. xx-xx" in all entry types except
+% article entries.
+% - book, inbook, and manual use "location: publisher" (or organization)
+% for address and publisher. All other types list publishers separately.
+% - "pp." are used to identify page numbers for all entry types except
+% articles.
+% - organization is used as a citation label if neither author nor editor
+% is present (for manuals).
+% - "et al." is used for long author and editor lists, or when "others"
+% is used.
+%
+% Modifications and bug fixes from newapa.bst:
+% ===========================================
+%
+% - added month, year to bib entries if month is present
+% - fixed bug with In proceedings, added necessary comma after title
+% - all conjunctions changed to "and" from "\&"
+% - fixed bug with author labels in my.full.label: "et al." now is
+% generated when "others" is an author name
+% - major modification from Chicago Manual of Style (13th ed.) is that
+% only the first author in a reference appears last name first-
+% additional authors appear as J. Q. Public.
+% - pages are listed as "pp. xx-xx" in all entry types except
+% article entries. Unnecessary (IMHO) "()" around page numbers
+% were removed, and page numbers now don't end with a period.
+% - created chicago.sty for use with this bibstyle (required).
+% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume,
+% number, and /or pages. Renamed to format.jour.vol.
+% - fixed bug in formatting booktitles: additional period an error if
+% book has a volume.
+% - fixed bug: editors usually given redundant period before next clause
+% (format.editors.dot) removed.
+% - added label support for organizations, if both author and editor
+% are missing (from alpha.bst). If organization is too long, then
+% the key field is used for abbreviated citations.
+% - In proceedings or books of several volumes, no comma was written
+% between the "Volume x" and the page numbers (this was intentional
+% in newapa.bst). Fixed.
+% - Some journals may not have volumes/numbers, only month/year (eg.
+% IEEE Computer). Fixed bug in article style that assumed volume/number
+% was always present.
+%
+% Original documentation for newapa.sty:
+% =====================================
+%
+% This version was made by modifying the master file made by
+% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX
+% style of Peter F. Patel-Schneider.
+%
+% Copyright (C) 1985, all rights reserved.
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than 'newapa.bst'.
+% There are undoubtably bugs in this style. If you make bug fixes,
+% improvements, etc. please let me know. My e-mail address is:
+% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com
+%
+% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst',
+% with lots of tweaking to make it look like APA style, along with tips
+% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ city % jtb: added
+ date % jtb: added
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label.year extra.label sort.year sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t u }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% Use a colon to separate output. Used only for address/publisher
+% combination in book/inbook types, address/institution for manuals,
+% and organization:publisher for proceedings (inproceedings).
+%
+FUNCTION {output.nonnull.colon}
+{ 's :=
+ output.state mid.sentence =
+ { ": " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.colon}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull.colon
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.colon}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.colon
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " " year * extra.label *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+%
+% Emphasize the top string on the stack.
+%
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+%
+% Emphasize the top string on the stack, but add a trailing space.
+%
+FUNCTION {emphasize.space}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+%
+% Emphasize the top string on stack, add a trailing comma and space.
+%
+FUNCTION {emphasize.comma}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * ",\/}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+%
+% Format bibliographical entries with the first author last name first,
+% and subsequent authors with initials followed by last name.
+% All names are formatted in this routine.
+%
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { nameptr #1 =
+ {"{\sc " s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ * "}" * 't := }
+ {"{\sc " s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ * "}" * 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "{\sc others}" =
+ { " {\sc et~al\mbox{.}}" * } % jrh: avoid spacing problems
+ { " {\sc and} " * t * } % from Chicago Manual of Style
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {my.full.label}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al\mbox{.}" * } % jrh: avoid spacing problems
+ { " and " * t * } % from Chicago Manual of Style
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+
+}
+
+FUNCTION {format.names.fml}
+%
+% Format names in "familiar" format, with first initial followed by
+% last name. Like format.names, ALL names are formatted.
+% jtb: The names are NOT put in small caps
+%
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { "{" s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ * "}" * 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "{others}" =
+ { " {et~al\mbox{.}}" * }
+ { " {and} " * t * }
+% { " {\&} " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names add.period$} % jtb: add period if none before
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+%
+% Format editor names for use in the "in" types: inbook, incollection,
+% inproceedings: first initial, then last names. When editors are the
+% LABEL for an entry, then format.editor is used which lists editors
+% by last name first.
+%
+FUNCTION {format.editors.fml}
+{ editor empty$
+ { "" }
+ { editor format.names.fml
+ editor num.names$ #1 >
+ { ", Eds." * } % jtb: removed parentheses
+ { ", Ed." * } % jtb: removed parentheses
+ if$
+ }
+ if$
+}
+
+%
+% Format editor names for use in labels, last names first.
+%
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", Eds." * } % jtb: removed parentheses
+ { ", Ed." * } % jtb: removed parentheses
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+% Note that the APA style requres case changes
+% in article titles. The following does not
+% change cases. If you perfer it, uncomment the
+% following and comment out the above.
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title }
+% if$
+%}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ edition empty$
+ { title emphasize }
+ { title empty$
+ { title emphasize } % jtb: what is this supposed to do ?!?
+ { "{\em " title * "\/}, " * edition * " ed." * } % jtb: no parens for ed.
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.emphasize.booktitle}
+{ edition empty$
+ { booktitle emphasize }
+ { booktitle empty$
+ { booktitle emphasize } % jtb: what is this supposed to do ?!?
+ { "{\em " booktitle * "\/}, " * edition * " ed." * } % jtb: no ()s for ed.
+ if$
+ }
+ if$
+ }
+
+% jtb: if the preceding string (the title of the conference) is non-empty,
+% jtb: append the location, otherwise leave empty (so as to trigger the
+% jtb: error message in output.check
+FUNCTION {format.city}
+{ duplicate$ empty$
+ { }
+ { city empty$
+ { date empty$
+ { }
+ { " (" * date * ")" * }
+ if$
+ }
+ { date empty$
+ { " (" * city * ")" * }
+ { " (" * city * ", " * date * ")" * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+% jtb: If there is a series, this is added and the volume trails after it.
+% jtb: Otherwise, "Vol" is Capitalized.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { series empty$
+ { "Vol." volume tie.or.space.connect}
+ { series ", " * "vol." volume tie.or.space.connect *}
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "Number" } % gnp - changed to mixed case always
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { pages n.dashify } % gnp - removed () % jtb: removed pp.
+ { pages }
+ if$
+ }
+ if$
+}
+
+% By Young (and Spencer)
+% GNP - fixed bugs with missing volume, number, and/or pages
+%
+% Format journal, volume, number, pages for article types.
+%
+FUNCTION {format.jour.vol}
+{ journal empty$
+ { "no journal in " cite$ * warning$
+ "" }
+ { journal emphasize.space }
+ if$
+ number empty$
+ { volume empty$
+ { "no number and no volume in " cite$ * warning$
+ "" * }
+ { "~{\em " * Volume * "}" * }
+ if$
+ }
+ { volume empty$
+ {"no volume for " cite$ * warning$
+ "~" * number * }
+ { "~" *
+ volume emphasize.comma
+ "~" * number * * }
+ if$
+ month empty$
+ {}
+ {" (" * month * ")" *}
+ if$
+ }
+ if$
+ pages empty$
+ {"page numbers missing in " cite$ * warning$
+ "" * } % gnp - place a null string on the stack for output
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * } % gnp - removed pp. for articles
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "Chapter" } % gnp - changed to mixed case
+ { type "t" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ {"page numbers missing in " cite$ * warning$} % gnp - added check
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+% jtb: format for collections or proceedings not appearing in a journal
+FUNCTION {format.in.emphasize.booktitle}
+{ booktitle empty$
+ { "" }
+ { "In " format.emphasize.booktitle * }
+ if$
+}
+
+% jtb: format for proceedings appearing in a journal
+FUNCTION {format.in.booktitle}
+{ booktitle empty$
+ { "" }
+ { "In " booktitle * }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " format.emphasize.booktitle * }
+ % jtb: swapped editor location
+ { "In " format.emphasize.booktitle * ", " * format.editors.fml * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+% {pop$
+ {{ "" }
+ type "t" change.case$}
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "See"
+ "\citeN{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al\mbox{.}" * } % jrh: avoid spacing problems
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al\mbox{.}" * } % jrh: avoid spacing problems
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect % gnp - changed to mixed case
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \citeN{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "See"
+ " \citeN{" * crossref * "}" *
+}
+
+% format.lab.names:
+%
+% determines "short" names for the abbreviated author information.
+% "Long" labels are created in calc.label, using the routine my.full.label
+% to format author and editor fields.
+%
+% There are 4 cases for labels. (n=3 in the example)
+% a) one author Foo
+% b) one to n Foo, Bar and Baz
+% c) use of "and others" Foo, Bar et al.
+% d) more than n Foo et al.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #2 > % change number to number of others allowed before
+ % forcing "et al".
+ { s #1 "{vv~}{ll}" format.name$ " et~al\mbox{.}" * } % jrh: \mbox{} added
+ {
+ numnames #1 - 'namesleft :=
+ #2 'nameptr :=
+ s #1 "{vv~}{ll}" format.name$
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al\mbox{.}" * } % jrh: avoid spacing problems
+ { " and " * s nameptr "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ { ", " * s nameptr "{vv~}{ll}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { "no key, author in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { "no key, editor in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+%
+% added - gnp. Provide label formatting by organization if author is null.
+%
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "no key, author or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { organization }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+%
+% added - gnp. Provide label formatting by organization if editor is null.
+%
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "no key, editor or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { organization }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "no key, author, or editor in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+%
+% Changed - GNP. See also author.organization.sort, editor.organization.sort
+% Form label for BibTeX entry. The classification of which fields are used
+% for which type of entry (book, inbook, etc.) are taken from alpha.bst.
+% The change here from newapa is to also include organization as a
+% citation label if author or editor is missing.
+%
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+
+ author empty$ % generate the full label citation information.
+ { editor empty$
+ { organization empty$
+ { "no author, editor, or organization in " cite$ * warning$
+ "??" }
+ { organization }
+ if$
+ }
+ { editor my.full.label }
+ if$
+ }
+ { author my.full.label }
+ if$
+
+% leave label on the stack, to be popped when required.
+
+ "}{" * swap$ * "}{" *
+% year field.or.null purify$ #-1 #4 substring$ *
+%
+% save the year for sort processing afterwards (adding a, b, c, etc.)
+%
+ year field.or.null purify$ #-1 #4 substring$
+ 'label.year :=
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[\protect\citeauthoryear{" write$
+ calc.label write$
+ sort.year write$
+ "}]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.jour.vol output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors
+ "author and editor" output.check }
+ { format.authors
+ output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { new.sentence % jtb: start a new sentence for series/volume
+ format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address "address" output.check % jtb: require address
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors
+ "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { new.sentence % jtb: start a new sentence for series/volume
+ format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address "address" output.check % jtb: require address
+ format.chapter.pages
+ "chapter and pages" output.check % jtb: moved from before publisher
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle
+ "booktitle" output.check
+ new.sentence % jtb: start a new sentence for series/volume
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address "address" output.check % jtb: require address
+ format.chapter.pages output % gnp - was special.output.nonnull
+% left out comma before page numbers
+ % jtb: moved from before publisher
+ }
+ { format.incoll.inproc.crossref
+ output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { journal missing$ % jtb: proceedings appearing in journals
+ { format.in.emphasize.booktitle format.city "booktitle" output.check
+ format.editors.fml output
+ new.sentence % jtb: start a new sentence for series/volume
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ organization output
+ publisher "publisher" output.check % jtb: require publisher (?)
+ address "address" output.check % jtb: require address
+ format.pages output % jtb: moved from before publisher
+ }
+ % jtb: new:
+ { format.in.booktitle format.city "booktitle" output.check
+ format.editors.fml output
+ new.sentence
+ format.jour.vol output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { organization "organization" output.check
+ organization format.key output } % if all else fails, use key
+ { format.editors "author and editor" output.check }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ organization address new.block.checkb
+ % jtb: back to normal style: organization, address
+ organization "organization" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ "M.S.\ thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ title howpublished new.block.checkb
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.thesis.type "Ph.D. thesis" output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output
+ organization format.key output } % gnp - changed from author format.key
+ { format.editors output.nonnull }
+ if$
+% author format.key output % gnp - removed (should be either
+% editor or organization
+ output.year.check % added (newapa)
+ new.block
+ format.btitle format.city "title" output.check % jtb: added city
+ new.sentence
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ organization output
+ % jtb: normal order: publisher, address
+ publisher output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output % jtb: moved month ...
+ institution "institution" output.check
+ address output
+ new.sentence
+ month output % jtb: ... to here (no parens)
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."} % jtb: corrected: was "March"
+
+MACRO {apr} {"Apr."} % jtb: corrected: was "April"
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acmlett} {"ACM Lett. Program. Lang. Syst."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {ai} {"Artificial Intelligence"}
+
+MACRO {al} {"Ada Lett."}
+
+MACRO {acr} {"Adv. Comput. Res."}
+
+MACRO {bit} {"Bit"}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {cj} {"Comput. J."}
+
+MACRO {cn} {"Comput. Netw."}
+
+MACRO {cl} {"Comput. Lang."}
+
+MACRO {ibmjrd} {"IBM J. Res. and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ict} {"Inf. Contr."}
+
+MACRO {ieebcs} {"IEE/BCS Softw. Eng. J."}
+
+MACRO {ieees} {"IEEE Softw."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ieeetpds} {"IEEE Trans. Parall. Distrib. Syst."}
+
+MACRO {ieeetit} {"IEEE Trans. Inf. Theory"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {icp} {"Inf. Comput."}
+
+MACRO {ist} {"Inf. Softw. Tech."}
+
+MACRO {ijsa} {"Int. J. Supercomput. Appl."}
+
+MACRO {ijpp} {"Int. J. Parallel Program."}
+
+MACRO {jlp} {"J. Logic Program."}
+
+MACRO {jfp} {"J. Funct. Program."}
+
+MACRO {jcss} {"J. Comput. Syst. Sci."}
+
+MACRO {jsmrp} {"J. Softw. Maint. Res. Pract."}
+
+MACRO {jss} {"J. Syst. Softw."}
+
+MACRO {jlc} {"J. Logic and Comput."}
+
+MACRO {jlsc} {"J. Lisp Symb. Comput."}
+
+MACRO {lpls} {"Lett. Program. Lang. Syst."}
+
+MACRO {mor} {"Math. Oper. Res."}
+
+MACRO {mscs} {"Math. Struct. Comput. Sci."}
+
+MACRO {mst} {"Math. Syst. Theor."} % jtb: was Math. Syst. Theory
+ % jtb: (if you ask me, I prefer the old way)
+MACRO {ngc} {"New Gen. Comput."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {spe} {"Softw. Pract. Exper."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphics"}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Program. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."} % jtb: was Theor. Comp. Sci.
+
+MACRO {tr} {"Tech. Rep."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { " et~al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ "" }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { "missing author in " cite$ * warning$
+ editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+%
+% added - GNP. Stack author or organization for sorting (from alpha.bst).
+% Unlike alpha.bst, we need entire names, not abbreviations
+%
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+%
+% added - GNP. Stack editor or organization for sorting (from alpha.bst).
+% Unlike alpha.bst, we need entire names, not abbreviations
+%
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+%
+% Presort creates the bibentry's label via a call to calc.label, and then
+% sorts the entries based on entry type. Chicago.bst adds support for
+% including organizations as the sort key; the following is stolen from
+% alpha.bst.
+%
+{ calc.label sortify % recalculate bibitem label
+ year field.or.null purify$ #-1 #4 substring$ * % add year
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % added for newapa
+ 'sort.label := % added for newapa
+ sort.label % added for newapa
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, year, author/editor, title
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+%
+% Pass through all entries, comparing current entry to last one.
+% Need to concatenate year to the stack (done by calc.label) to determine
+% if two entries are the same (see presort)
+%
+{ last.label
+ calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ #1 entry.max$ substring$ = % are they equal?
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ #1 entry.max$ substring$ 'last.label := % assign to last.label
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label.year extra.label * 'sort.year :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title --- giving final bib. order.
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Master/texmf-dist/bibtex/bst/adrconv/adrconv.bst b/Master/texmf-dist/bibtex/bst/adrconv/adrconv.bst
new file mode 100644
index 00000000000..2535490a3ea
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/adrconv/adrconv.bst
@@ -0,0 +1,151 @@
+%%
+%% This is file `adrconv.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% adrconv.dtx (with options: `bst,conv')
+%% Copyright (c) 2001 Axel Kielhorn
+%%
+%% This file will generate fast loadable files from adrconv.dtx when
+%% run through LaTeX or TeX.
+%%
+%% This file is part of the adrconv bundle.
+%%
+%% This file can be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 of the license
+%% or (at you option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-procejt.org/lppl.txt
+%% and version 1.2 or later ist part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The adrconv bundle consists at least of the files adrconv.dtx,
+%% adrconv.ins and adrguide.tex.
+%%
+%% You are NOT ALLOWED to change this file.
+%%
+%% You are NOT ALLOWED to distribute this file without adrconv.dtx,
+%% adrconv.ins or adrguide.tex.
+ENTRY
+ { name
+ title
+ organization
+ city
+ zip
+ country
+ street
+ phone
+ mobile
+ fax
+ url
+ email
+ note
+ key
+ birthday
+ nbirthday
+ }
+ {}
+ { adr.char }
+INTEGERS { cur.adr.char }
+FUNCTION {get.names}
+{ name empty$
+ { organization empty$
+ { "{}{}" }
+ { organization "{}" * }
+ if$
+ }
+ { "{" name #1 "{ll}" format.name$ "}" * *
+ "{" name #1 "{ff}{ vv}" format.name$ "}" * * *
+ }
+ if$
+}
+FUNCTION {print.adrchr}
+{ adr.char chr.to.int$ cur.adr.char >
+ { newline$ "\adrchar{" adr.char "}" * * write$ newline$
+ adr.char chr.to.int$ 'cur.adr.char :=
+ }
+ 'skip$
+ if$
+}
+FUNCTION{format.phone.and.mobile}
+{ phone empty$
+ {
+ mobile empty$
+ { "" }
+ { mobile }
+ if$
+ }{
+ mobile empty$
+ { phone }
+ { phone "\\" mobile * * }
+ if$
+ }
+ if$
+}
+FUNCTION{address}
+{
+ print.adrchr
+ "\adrentry" write$
+ get.names write$ newline$
+ "{"
+ street empty$
+ { "" }
+ { street " \\ " *}
+ if$
+ *
+ zip empty$
+ { "" }
+ { zip }
+ if$
+ " " * *
+ city empty$
+ { "" }
+ { city }
+ if$
+ "}{" * *
+ format.phone.and.mobile
+ "}{}{}{}{" * *
+ key empty$
+ { "" }
+ { key }
+ if$
+ "}" * * write$ newline$
+}
+FUNCTION{presort}
+{
+ name empty$
+ { organization empty$
+ { key empty$
+ { "No name, organization, or key to sort " cite$ * warning$
+ "???"
+ }
+ { key }
+ if$
+ }
+ { organization }
+ if$
+ }
+ { name #1 "{ll},{f }{v }{, j}" format.name$ }
+ if$
+ duplicate$
+ 'sort.key$ :=
+ #1 #1 substring$
+ 'adr.char :=
+}
+READ
+ITERATE {presort}
+SORT
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ #0 'cur.adr.char :=
+}
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$ }
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/adrconv/adrfax.bst b/Master/texmf-dist/bibtex/bst/adrconv/adrfax.bst
new file mode 100644
index 00000000000..b4f0f9f7c93
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/adrconv/adrfax.bst
@@ -0,0 +1,150 @@
+%%
+%% This is file `adrfax.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% adrconv.dtx (with options: `bst,fax')
+%% Copyright (c) 2001 Axel Kielhorn
+%%
+%% This file will generate fast loadable files from adrconv.dtx when
+%% run through LaTeX or TeX.
+%%
+%% This file is part of the adrconv bundle.
+%%
+%% This file can be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 of the license
+%% or (at you option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-procejt.org/lppl.txt
+%% and version 1.2 or later ist part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The adrconv bundle consists at least of the files adrconv.dtx,
+%% adrconv.ins and adrguide.tex.
+%%
+%% You are NOT ALLOWED to change this file.
+%%
+%% You are NOT ALLOWED to distribute this file without adrconv.dtx,
+%% adrconv.ins or adrguide.tex.
+ENTRY
+ { name
+ title
+ organization
+ city
+ zip
+ country
+ street
+ phone
+ mobile
+ fax
+ url
+ email
+ note
+ key
+ birthday
+ nbirthday
+ }
+ {}
+ { adr.char }
+INTEGERS { cur.adr.char }
+FUNCTION {get.names}
+{ name empty$
+ { organization empty$
+ { "{}{}" }
+ { organization "{}" * }
+ if$
+ }
+ { "{" name #1 "{ll}" format.name$ "}" * *
+ "{" name #1 "{ff}{ vv}" format.name$ "}" * * *
+ }
+ if$
+}
+FUNCTION {print.adrchr}
+{ adr.char chr.to.int$ cur.adr.char >
+ { newline$ "\adrchar{" adr.char "}" * * write$ newline$
+ adr.char chr.to.int$ 'cur.adr.char :=
+ }
+ 'skip$
+ if$
+}
+FUNCTION{format.phone.and.fax}
+{ phone empty$
+ { "" }
+ { phone }
+ if$
+ fax empty$
+ 'skip$
+ { phone empty$
+ { fax * }
+ { "\\Fax:\\" fax * * }
+ if$
+ }
+ if$
+}
+FUNCTION{address}
+{
+ print.adrchr
+ "\adrentry" write$
+ get.names write$ newline$
+ "{"
+ street empty$
+ { "" }
+ { street " \\ " *}
+ if$
+ *
+ zip empty$
+ { "" }
+ { zip }
+ if$
+ " " * *
+ city empty$
+ { "" }
+ { city }
+ if$
+ "}{" * *
+ format.phone.and.fax
+ "}{}{}{}{" * *
+ key empty$
+ { "" }
+ { key }
+ if$
+ "}" * * write$ newline$
+}
+FUNCTION{presort}
+{
+ name empty$
+ { organization empty$
+ { key empty$
+ { "No name, organization, or key to sort " cite$ * warning$
+ "???"
+ }
+ { key }
+ if$
+ }
+ { organization }
+ if$
+ }
+ { name #1 "{ll},{f }{v }{, j}" format.name$ }
+ if$
+ duplicate$
+ 'sort.key$ :=
+ #1 #1 substring$
+ 'adr.char :=
+}
+READ
+ITERATE {presort}
+SORT
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ #0 'cur.adr.char :=
+}
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$ }
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/adrconv/birthday.bst b/Master/texmf-dist/bibtex/bst/adrconv/birthday.bst
new file mode 100644
index 00000000000..9fe2a9029bb
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/adrconv/birthday.bst
@@ -0,0 +1,158 @@
+%%
+%% This is file `birthday.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% adrconv.dtx (with options: `bst,birthday')
+%% Copyright (c) 2001 Axel Kielhorn
+%%
+%% This file will generate fast loadable files from adrconv.dtx when
+%% run through LaTeX or TeX.
+%%
+%% This file is part of the adrconv bundle.
+%%
+%% This file can be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 of the license
+%% or (at you option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-procejt.org/lppl.txt
+%% and version 1.2 or later ist part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The adrconv bundle consists at least of the files adrconv.dtx,
+%% adrconv.ins and adrguide.tex.
+%%
+%% You are NOT ALLOWED to change this file.
+%%
+%% You are NOT ALLOWED to distribute this file without adrconv.dtx,
+%% adrconv.ins or adrguide.tex.
+ENTRY
+ { name
+ title
+ organization
+ city
+ zip
+ country
+ street
+ phone
+ mobile
+ fax
+ url
+ email
+ note
+ key
+ birthday
+ nbirthday
+ }
+ {}
+ { b.month }
+STRINGS { cur.month num.index alpha.index }
+FUNCTION {get.names}
+{ name empty$
+ { organization empty$
+ { "{}{}" }
+ { organization "{}" * }
+ if$
+ }
+ { "{" name #1 "{ll}" format.name$ "}" * *
+ "{" name #1 "{ff}{ vv}" format.name$ "}" * * *
+ }
+ if$
+}
+FUNCTION {print.adrchr}
+{ b.month cur.month =
+ 'skip$
+ { newline$ "\adrchar{\convdate{" b.month "}}" * * write$ newline$
+ b.month 'cur.month :=
+ }
+ if$
+}
+FUNCTION{format.phone.and.mobile}
+{ phone empty$
+ {
+ mobile empty$
+ { "" }
+ { mobile }
+ if$
+ }{
+ mobile empty$
+ { phone }
+ { phone "\\" mobile * * }
+ if$
+ }
+ if$
+}
+FUNCTION{address}
+{
+ nbirthday empty$
+ 'skip$
+ {
+ print.adrchr
+ "\adrentry" write$
+ get.names write$ newline$
+ "{"
+ street empty$
+ { "" }
+ { street " \\ " *}
+ if$
+ *
+ zip empty$
+ { "" }
+ { zip }
+ if$
+ " " * *
+ city empty$
+ { "" }
+ { city }
+ if$
+ "}{" * *
+ format.phone.and.mobile
+ "}{}{}{}{" * *
+ birthday empty$
+ { "" }
+ { birthday }
+ if$
+ "}{" * *
+ key empty$
+ { "" }
+ { "" }
+ if$
+ "}" * * write$ newline$
+ }
+ if$
+}
+FUNCTION{presort}
+{ nbirthday empty$
+ { "" }
+ { nbirthday }
+ if$
+ duplicate$
+ 'sort.key$ :=
+ #1 #2 substring$
+ 'b.month :=
+}
+READ
+ITERATE {presort}
+SORT
+FUNCTION {begin.bib}
+{
+ "\def\convdate#1{\ifcase#1 \or 1 \or 2 \or 3 \or 4 \or 5 "
+ "\or 6 \or 7 \or 8 \or 9 \or 10 \or 11 \or 12 \fi}" * 'num.index :=
+ "\def\convdate#1{\ifcase#1 \or Januar \or Februar \or "
+ " M{^^b a}rz \or April \or Mai \or Juni \or Juli "
+ "\or August \or September \or Oktober \or November \or Dezember \fi}"
+ * * 'alpha.index :=
+ alpha.index write$
+ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "00" 'cur.month :=
+}
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$ }
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/adrconv/email.bst b/Master/texmf-dist/bibtex/bst/adrconv/email.bst
new file mode 100644
index 00000000000..47cc1fe4ba6
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/adrconv/email.bst
@@ -0,0 +1,141 @@
+%%
+%% This is file `email.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% adrconv.dtx (with options: `bst,email')
+%% Copyright (c) 2001 Axel Kielhorn
+%%
+%% This file will generate fast loadable files from adrconv.dtx when
+%% run through LaTeX or TeX.
+%%
+%% This file is part of the adrconv bundle.
+%%
+%% This file can be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 of the license
+%% or (at you option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-procejt.org/lppl.txt
+%% and version 1.2 or later ist part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The adrconv bundle consists at least of the files adrconv.dtx,
+%% adrconv.ins and adrguide.tex.
+%%
+%% You are NOT ALLOWED to change this file.
+%%
+%% You are NOT ALLOWED to distribute this file without adrconv.dtx,
+%% adrconv.ins or adrguide.tex.
+ENTRY
+ { name
+ title
+ organization
+ city
+ zip
+ country
+ street
+ phone
+ mobile
+ fax
+ url
+ email
+ note
+ key
+ birthday
+ nbirthday
+ }
+ {}
+ { adr.char }
+INTEGERS { cur.adr.char }
+FUNCTION {get.names}
+{ name empty$
+ { organization empty$
+ { "{}{}" }
+ { organization "{}" * }
+ if$
+ }
+ { "{" name #1 "{ll}" format.name$ "}" * *
+ "{" name #1 "{ff}{ vv}" format.name$ "}" * * *
+ }
+ if$
+}
+FUNCTION {print.adrchr}
+{ adr.char chr.to.int$ cur.adr.char >
+ { newline$ "\adrchar{" adr.char "}" * * write$ newline$
+ adr.char chr.to.int$ 'cur.adr.char :=
+ }
+ 'skip$
+ if$
+}
+FUNCTION{address}
+{
+ print.adrchr
+ "\adrentry" write$
+ get.names write$ newline$
+ "{"
+ street empty$
+ { "" }
+ { street " \\ " *}
+ if$
+ *
+ zip empty$
+ { "" }
+ { zip }
+ if$
+ " " * *
+ city empty$
+ { "" }
+ { city }
+ if$
+ "}{" * *
+ email empty$
+ { "" }
+ { email }
+ if$
+ "}{}{}{}{" * *
+ key empty$
+ { "" }
+ { key }
+ if$
+ "}" * * write$ newline$
+}
+FUNCTION{presort}
+{
+ name empty$
+ { organization empty$
+ { key empty$
+ { "No name, organization, or key to sort " cite$ * warning$
+ "???"
+ }
+ { key }
+ if$
+ }
+ { organization }
+ if$
+ }
+ { name #1 "{ll},{f }{v }{, j}" format.name$ }
+ if$
+ duplicate$
+ 'sort.key$ :=
+ #1 #1 substring$
+ 'adr.char :=
+}
+READ
+ITERATE {presort}
+SORT
+FUNCTION {begin.bib}
+{
+ "\def\sbscrpt{\_} \catcode`\_=\active \let_=\sbscrpt"
+ write$ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ #0 'cur.adr.char :=
+}
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$ }
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/aguplus/agu.bst b/Master/texmf-dist/bibtex/bst/aguplus/agu.bst
new file mode 100644
index 00000000000..58c1cf94722
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/aguplus/agu.bst
@@ -0,0 +1,1714 @@
+%%
+%% This is file `agu.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,ay,nat,seq-key,nm-rev1,nmlm,x9,m1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
+%% physjour.mbs (with options: `ay,nat,seq-key,nm-rev1,nmlm,x9,m1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
+%% geojour.mbs (with options: `ay,nat,seq-key,nm-rev1,nmlm,x9,m1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
+%% merlin.mbs (with options: `tail,ay,nat,seq-key,nm-rev1,nmlm,x9,m1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
+%% ----------------------------------------
+%% *** For journals of the American Geophysical Union ***
+%% *** NOTE: this version limits number of authors in ref list to
+%% *** maximum of 9; if more there, only First et al are listed
+%% *** Use agufull.bst instead for complete list
+%% ***
+%% *** Version 2.1d from 1999/05/20
+%% *** Book editors done right as P. James (Ed.),
+%% *** Missing italics with some authors fixed
+%% ***
+%% *** Version 2.1c from 1999/02/11
+%% *** This version does not crash older BibTeX installations with
+%% *** more than 3000 wiz-functions
+%% ***
+%% *** Version 2.1b from 1997/11/18
+%% *** (page numbers over 9999 are broken with commas, as 12,345)
+%% ***
+%% *** Version 2.1a from 1997/05/26
+%% *** (contains improvements from copy editor comments,
+%% *** notes added with first word lowercase (bug in 2.1 fixed)
+%% *** and journal `number' never output
+%% *** abbreviation for grl corrected)
+%% ***
+%%
+%% Copyright 1994-1999 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[1999/05/20 3.89 (PWD)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\it " swap$ * "\/}" * }
+ if$
+}
+
+
+FUNCTION {cite.name.font}
+{ emphasize }
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "ed." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{physjour.mbs}[1999/02/24 2.0d (PWD)]
+MACRO {aa}{"Astron. \& Astrophys."}
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+MACRO {aph} {"Acta Phys."}
+MACRO {advp} {"Adv. Phys."}
+MACRO {ajp} {"Amer. J. Phys."}
+MACRO {ajm} {"Amer. J. Math."}
+MACRO {amsci} {"Amer. Sci."}
+MACRO {anofd} {"Ann. Fluid Dyn."}
+MACRO {am} {"Ann. Math."}
+MACRO {ap} {"Ann. Phys. (NY)"}
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+MACRO {ao} {"Appl. Opt."}
+MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {app} {"Astroparticle Phys."}
+MACRO {apj} {"Astrophys. J."}
+MACRO {apjsup} {"Astrophys. J. Suppl. Ser."}
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+MACRO {cmp} {"Comm. Math. Phys."}
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+MACRO {cpc} {"Comp. Phys. Comm."}
+MACRO {cqg} {"Class. Quant. Grav."}
+MACRO {cra} {"C. R. Acad. Sci. A"}
+MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {ft} {"Fusion Tech."}
+MACRO {grg} {"Gen. Relativ. Gravit."}
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {ip} {"Infrared Phys."}
+MACRO {irp} {"Infrared Phys."}
+MACRO {jap} {"J. Appl. Phys."}
+MACRO {jasa} {"J. Acoust. Soc. America"}
+MACRO {jcp} {"J. Comp. Phys."}
+MACRO {jetp} {"Sov. Phys.--JETP"}
+MACRO {jfe} {"J. Fusion Energy"}
+MACRO {jfm} {"J. Fluid Mech."}
+MACRO {jmp} {"J. Math. Phys."}
+MACRO {jne} {"J. Nucl. Energy"}
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+MACRO {jnm} {"J. Nucl. Mat."}
+MACRO {jpc} {"J. Phys. Chem."}
+MACRO {jpp} {"J. Plasma Phys."}
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+MACRO {jsi} {"J. Sci. Instrum."}
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+MACRO {nf} {"Nucl. Fusion"}
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+MACRO {np} {"Nucl. Phys."}
+MACRO {npb} {"Nucl. Phys. B"}
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {inc} {"Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {pf} {"Phys. Fluids"}
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys. Lett."}
+MACRO {pla} {"Phys. Lett. A"}
+MACRO {plb} {"Phys. Lett. B"}
+MACRO {prep} {"Phys. Rep."}
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+MACRO {pp} {"Phys. Plasmas"}
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+MACRO {prl} {"Phys. Rev. Lett."}
+MACRO {pr} {"Phys. Rev."}
+MACRO {physrev} {"Phys. Rev."}
+MACRO {pra} {"Phys. Rev. A"}
+MACRO {prb} {"Phys. Rev. B"}
+MACRO {prc} {"Phys. Rev. C"}
+MACRO {prd} {"Phys. Rev. D"}
+MACRO {pre} {"Phys. Rev. E"}
+MACRO {ps} {"Phys. Scripta"}
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+MACRO {rmp} {"Rev. Mod. Phys."}
+MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {science} {"Science"}
+MACRO {sciam} {"Sci. Am."}
+MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+MACRO {spd} {"Sov. Phys.--Doklady"}
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+ % End module: physjour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[1999/02/24 2.0e (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. d. Phys."}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos.-Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agric. Res."}
+MACRO {aumet} {"Aust. Meteor. Mag."}
+MACRO {blmet} {"Bound.-Layer Meteor."}
+MACRO {bams} {"Bull. Amer. Meteor. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Climate Dyn."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dyn. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antennas Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sensing"}
+MACRO {jam} {"J. Appl. Meteor."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteor. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Met. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Wea. Rev."}
+MACRO {nwd} {"Natl. Wea. Dig."}
+MACRO {nzjmfr} {"N. Z. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteor."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Physics and Chemistry of the Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteor. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteor."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Wea. Forecasting"}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteor."}
+ % End module: geojour.mbs
+%% Copyright 1994-1999 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ }
+ { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ }
+ if$
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #9
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ { bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ " (" *
+ editor num.names$ #1 >
+ 'bbl.editors
+ 'bbl.editor
+ if$
+ capitalize
+ * ")" *
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #9
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+ extra.label *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ bbl.in space.word * series *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " " * bbl.edition * }
+ { edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ {
+ ", " *
+ pages n.dashify *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ emphasize
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize *
+ ", " *
+ bbl.edby
+ * " " *
+ format.in.editors *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$
+ ""
+ }
+ { publisher }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { organization }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title "title" output.check
+ howpublished output
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ format.publisher.address output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.btitle "title" output.check
+ organization output
+ address output
+ format.edition output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title output
+ howpublished output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ format.tr.number emphasize output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ format.date "year" output.check
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #9
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { numnames #2 > nameptr #2 = and
+ { "zz" * year field.or.null * " " * }
+ 'skip$
+ if$
+ t sortify *
+ }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `agu.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/aguplus/agufull.bst b/Master/texmf-dist/bibtex/bst/aguplus/agufull.bst
new file mode 100644
index 00000000000..4fa3b80e582
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/aguplus/agufull.bst
@@ -0,0 +1,1689 @@
+%%
+%% This is file `agufull.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,ay,nat,seq-key,nm-rev1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
+%% physjour.mbs (with options: `ay,nat,seq-key,nm-rev1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
+%% geojour.mbs (with options: `ay,nat,seq-key,nm-rev1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
+%% merlin.mbs (with options: `tail,ay,nat,seq-key,nm-rev1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
+%% ----------------------------------------
+%% *** For journals of the American Geophysical Union ***
+%% *** NOTE: this version does not limit the number of authors in ref list.
+%% *** Use agu.bst to limit authors to maximum 9.
+%% ***
+%% *** Version 2.1d from 1999/05/20
+%% *** Book editors done right as P. James (Ed.),
+%% *** Missing italics with some authors fixed
+%% ***
+%% *** Version 2.1c from 1999/02/11
+%% *** This version does not crash older BibTeX installations with
+%% *** more than 3000 wiz-functions
+%% ***
+%% *** Version 2.1b from 1997/11/18
+%% *** (page numbers over 9999 are broken with commas, as 12,345)
+%% ***
+%% *** Version 2.1a from 1997/05/26
+%% *** (contains improvements from copy editor comments,
+%% *** notes added with first word lowercase (bug in 2.1 fixed)
+%% *** and journal `number' never output
+%% *** abbreviation for grl corrected)
+%% ***
+%%
+%% Copyright 1994-1999 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[1999/05/20 3.89 (PWD)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\it " swap$ * "\/}" * }
+ if$
+}
+
+
+FUNCTION {cite.name.font}
+{ emphasize }
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "ed." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{physjour.mbs}[1999/02/24 2.0d (PWD)]
+MACRO {aa}{"Astron. \& Astrophys."}
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+MACRO {aph} {"Acta Phys."}
+MACRO {advp} {"Adv. Phys."}
+MACRO {ajp} {"Amer. J. Phys."}
+MACRO {ajm} {"Amer. J. Math."}
+MACRO {amsci} {"Amer. Sci."}
+MACRO {anofd} {"Ann. Fluid Dyn."}
+MACRO {am} {"Ann. Math."}
+MACRO {ap} {"Ann. Phys. (NY)"}
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+MACRO {ao} {"Appl. Opt."}
+MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {app} {"Astroparticle Phys."}
+MACRO {apj} {"Astrophys. J."}
+MACRO {apjsup} {"Astrophys. J. Suppl. Ser."}
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+MACRO {cmp} {"Comm. Math. Phys."}
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+MACRO {cpc} {"Comp. Phys. Comm."}
+MACRO {cqg} {"Class. Quant. Grav."}
+MACRO {cra} {"C. R. Acad. Sci. A"}
+MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {ft} {"Fusion Tech."}
+MACRO {grg} {"Gen. Relativ. Gravit."}
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {ip} {"Infrared Phys."}
+MACRO {irp} {"Infrared Phys."}
+MACRO {jap} {"J. Appl. Phys."}
+MACRO {jasa} {"J. Acoust. Soc. America"}
+MACRO {jcp} {"J. Comp. Phys."}
+MACRO {jetp} {"Sov. Phys.--JETP"}
+MACRO {jfe} {"J. Fusion Energy"}
+MACRO {jfm} {"J. Fluid Mech."}
+MACRO {jmp} {"J. Math. Phys."}
+MACRO {jne} {"J. Nucl. Energy"}
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+MACRO {jnm} {"J. Nucl. Mat."}
+MACRO {jpc} {"J. Phys. Chem."}
+MACRO {jpp} {"J. Plasma Phys."}
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+MACRO {jsi} {"J. Sci. Instrum."}
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+MACRO {nf} {"Nucl. Fusion"}
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+MACRO {np} {"Nucl. Phys."}
+MACRO {npb} {"Nucl. Phys. B"}
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {inc} {"Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {pf} {"Phys. Fluids"}
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys. Lett."}
+MACRO {pla} {"Phys. Lett. A"}
+MACRO {plb} {"Phys. Lett. B"}
+MACRO {prep} {"Phys. Rep."}
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+MACRO {pp} {"Phys. Plasmas"}
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+MACRO {prl} {"Phys. Rev. Lett."}
+MACRO {pr} {"Phys. Rev."}
+MACRO {physrev} {"Phys. Rev."}
+MACRO {pra} {"Phys. Rev. A"}
+MACRO {prb} {"Phys. Rev. B"}
+MACRO {prc} {"Phys. Rev. C"}
+MACRO {prd} {"Phys. Rev. D"}
+MACRO {pre} {"Phys. Rev. E"}
+MACRO {ps} {"Phys. Scripta"}
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+MACRO {rmp} {"Rev. Mod. Phys."}
+MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {science} {"Science"}
+MACRO {sciam} {"Sci. Am."}
+MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+MACRO {spd} {"Sov. Phys.--Doklady"}
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+ % End module: physjour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[1999/02/24 2.0e (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. d. Phys."}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos.-Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agric. Res."}
+MACRO {aumet} {"Aust. Meteor. Mag."}
+MACRO {blmet} {"Bound.-Layer Meteor."}
+MACRO {bams} {"Bull. Amer. Meteor. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Climate Dyn."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dyn. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antennas Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sensing"}
+MACRO {jam} {"J. Appl. Meteor."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteor. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Met. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Wea. Rev."}
+MACRO {nwd} {"Natl. Wea. Dig."}
+MACRO {nzjmfr} {"N. Z. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteor."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Physics and Chemistry of the Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteor. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteor."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Wea. Forecasting"}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteor."}
+ % End module: geojour.mbs
+%% Copyright 1994-1999 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ }
+ { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ }
+ if$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ { bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ " (" *
+ editor num.names$ #1 >
+ 'bbl.editors
+ 'bbl.editor
+ if$
+ capitalize
+ * ")" *
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+ extra.label *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ bbl.in space.word * series *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " " * bbl.edition * }
+ { edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ {
+ ", " *
+ pages n.dashify *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ emphasize
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize *
+ ", " *
+ bbl.edby
+ * " " *
+ format.in.editors *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$
+ ""
+ }
+ { publisher }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { organization }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title "title" output.check
+ howpublished output
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ format.publisher.address output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.btitle "title" output.check
+ organization output
+ address output
+ format.edition output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title output
+ howpublished output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ format.tr.number emphasize output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ format.date "year" output.check
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { numnames #2 > nameptr #2 = and
+ { "zz" * year field.or.null * " " * }
+ 'skip$
+ if$
+ t sortify *
+ }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `agufull.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/aiaa/aiaa.bst b/Master/texmf-dist/bibtex/bst/aiaa/aiaa.bst
new file mode 100644
index 00000000000..9468497536d
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/aiaa/aiaa.bst
@@ -0,0 +1,1255 @@
+%%
+%% This is file `aiaa.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% aiaa.dtx (with options: `bibstyle')
+%%
+%% Welcome to the AIAA LaTeX package.
+%%
+%% For further details and support, read the Users Manual, aiaa.pdf.
+%%
+%% This software is released under the terms of the LaTeX Project Public
+%% License. Copyright (C) 2004 by Bil Kleb, Bill Wood, and Erich Knausenberger.
+%%
+%% Description: LaTeX package for AIAA technical conference papers.
+%% Keywords: LaTeX, class, AIAA, BibTeX, bibliographic-style
+%% Author: Bil Kleb, Bill Wood, Erich Knausenberger
+%% Maintainer: same
+%% Version: 3.6 <23 May 2004>
+%%
+%% Run (PDF)LaTeX on `aiaa.dtx' to obtain a Users Manual and code
+%% documentation. Note: to get detailed code documentation you need to
+%% comment out the \OnlyDescription line in `aiaa.dtx'.
+%%
+%% See `aiaa.ins' and the Users Manual for installation instructions.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.editors}
+{ "editors" }
+
+FUNCTION {bbl.editor}
+{ "editor" }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "ed." }
+
+FUNCTION {bbl.volume}
+{ "Vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "No." }
+
+FUNCTION {bbl.nr}
+{ "No." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {jan-feb} {"Jan.-Feb."}
+
+MACRO {mar-apr} {"Mar.-Apr."}
+
+MACRO {may-jun} {"May-Jun."}
+
+MACRO {jul-aug} {"Jul.-Aug."}
+
+MACRO {sep-oct} {"Sep.-Oct."}
+
+MACRO {nov-dec} {"Nov.-Dec."}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {jsr} {"Journal of Spacecraft and Rockets"}
+
+MACRO {aa} {"Aerospace America"}
+
+MACRO {Sb} {"Space News"}
+
+MACRO {awst} {"Aviation Week \& Space Technology"}
+
+MACRO {jcp} {"Journal of Computational Physics"}
+
+MACRO {ijcfd} {"International Journal of Computational Fluid Dynamics"}
+
+MACRO {ijnme} {"International Journal for Numerical Methods in Engineering"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ {
+ author format.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ {
+ editor format.names
+ editor num.names$ #1 >
+ { ", " * bbl.editors * }
+ { ", " * bbl.editor * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ "\enquote{" swap$ *
+ non.stop
+ { ",} " * }
+ { "} " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+ 'skip$
+ { before.all 'output.state := }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ "" }
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * bbl.pages "~" * * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ volume empty$
+ 'skip$
+ { bbl.volume "~" * swap$ * }
+ if$
+ number empty$
+ 'skip$
+ {
+ ", " bbl.nr * number tie.or.space.connect *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ { "" }
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize *
+ ", " *
+ bbl.edby
+ *
+ " " *
+ format.in.editors *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { word.in journal emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { word.in booktitle emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.publisher}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$ }
+ 'skip$
+ if$
+ ""
+ address empty$ publisher empty$ and
+ 'skip$
+ {
+ publisher empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { publisher *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ }
+ if$
+ output
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.journal.pages
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.publisher
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ end.quote.title
+ howpublished output
+ address output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.publisher
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.pages "pages" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.publisher
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { organization output
+ address output
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ end.quote.title
+ howpublished output
+ format.date output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ end.quote.title
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\newcommand{\enquote}[1]{``#1''}"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `aiaa.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/amslatex/amsalpha.bst b/Master/texmf-dist/bibtex/bst/amslatex/amsalpha.bst
new file mode 100644
index 00000000000..af9f6b43876
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/amslatex/amsalpha.bst
@@ -0,0 +1,1404 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% filename = "amsalpha.bst",
+%%% version = "2.0",
+%%% date = "2000/03/27",
+%%% time = "13:49:36 EST",
+%%% checksum = "00166 1404 4124 29978",
+%%% author = "American Mathematical Society",
+%%% address = "American Mathematical Society,
+%%% Technical Support,
+%%% Electronic Products and Services,
+%%% P. O. Box 6248,
+%%% Providence, RI 02940,
+%%% USA",
+%%% telephone = "401-455-4080 or (in the USA and Canada)
+%%% 800-321-4AMS (321-4267)",
+%%% FAX = "401-331-3842",
+%%% email = "tech-support@ams.org (Internet)",
+%%% copyright = "Copyright 1995 American Mathematical Society,
+%%% all rights reserved. Copying of this file is
+%%% authorized only if either:
+%%% (1) you make absolutely no changes to your copy,
+%%% including name; OR
+%%% (2) if you do make changes, you first rename it
+%%% to some other name.",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "bibtex, bibliography, amslatex, ams-latex",
+%%% supported = "yes",
+%%% abstract = "BibTeX bibliography style `amsalpha' for BibTeX
+%%% versions 0.99a or later and LaTeX version 2e.
+%%% Produces alphabetic-label bibliography items in
+%%% a form typical for American Mathematical Society
+%%% publications.",
+%%% docstring = "The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+
+% See the file btxbst.doc for extra documentation other than
+% what is included here. And see btxhak.tex for a description
+% of the BibTeX language and how to use it.
+
+% This defines the types of fields that can occur in a database entry
+% for this particular bibliography style. Except for `language',
+% this is the standard list from alpha.bst.
+
+%% Types of entries currently allowed in a BibTeX file:
+%%
+%% ARTICLE -- An article from a journal or magazine.
+%%
+%% BOOK -- A book with an explicit publisher.
+%%
+%% BOOKLET -- A work that is printed and bound,
+%% but without a named publisher or sponsoring institution.
+%%
+%% CONFERENCE -- The same as INPROCEEDINGS,
+%% included for Scribe compatibility.
+%%
+%% INBOOK -- A part of a book,
+%% which may be a chapter (or section or whatever) and/or a range of pages.
+%%
+%% INCOLLECTION -- A part of a book having its own title.
+%%
+%% INPROCEEDINGS -- An article in a conference proceedings.
+%%
+%% MANUAL -- Technical documentation.
+%%
+%% MASTERSTHESIS -- A Master's thesis.
+%%
+%% MISC -- Use this type when nothing else fits.
+%%
+%% PHDTHESIS -- A PhD thesis.
+%%
+%% PROCEEDINGS -- The proceedings of a conference.
+%%
+%% TECHREPORT -- A report published by a school or other institution,
+%% usually numbered within a series.
+%%
+%% UNPUBLISHED -- A document having an author and title, but not formally
+%% published.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ mrnumber
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label bysame }
+
+% Removed after.sentence, after.block---not needed.
+
+INTEGERS { output.state before.all mid.sentence }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+}
+
+% Scratch variables:
+
+STRINGS { s t }
+
+% Utility functions
+
+FUNCTION {shows}
+{ duplicate$ ":::: `" swap$ * "'" * top$
+}
+
+FUNCTION {showstack}
+{"STACK====================================================================="
+top$
+stack$
+"ENDSTACK=================================================================="
+top$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+% n.dashify is used to make sure page ranges get the TeX code
+% (two hyphens) for en-dashes.
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+% tie.or.space.connect connects two items with a ~ if the
+% second item is less than 3 letters long, otherwise it just puts an
+% ordinary space.
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {add.space.if.necessary}
+{ duplicate$ "" =
+ 'skip$
+ { " " * }
+ if$
+}
+
+% either.or.check gives a warning if two mutually exclusive fields
+% were used in the database.
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+% output.nonnull is called by output.
+
+FUNCTION {output.nonnull}
+% remove the top item from the stack because it's in the way.
+{ 's :=
+ output.state mid.sentence =
+% If we're in mid-sentence, add a comma to the new top item and write it
+ { ", " * write$ }
+% Otherwise, if we're at the beginning of a bibitem,
+ { output.state before.all =
+% just write out the top item from the stack;
+ 'write$
+% and the last alternative is that we're at the end of the current
+% bibitem, so we add a period to the top stack item and write it out.
+ { add.period$ " " * write$ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+% Put the top item back on the stack that we removed earlier.
+ s
+}
+
+% Output checks to see if the stack top is empty; if not, it
+% calls output.nonnull to write it out.
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+% Standard warning message for a missing or empty field. For the user
+% we call any such field `missing' without respect to the distinction
+% made by BibTeX between missing and empty.
+
+FUNCTION {missing.warning}
+{ "missing " swap$ * " in " * cite$ * warning$ }
+
+% Output.check is like output except that it gives a warning on-screen
+% if the given field in the database entry is empty. t is the field
+% name.
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ t missing.warning }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+% This empty string is the first thing that will be written
+% the next time write$ is called. Done this way because each
+% item is saved on the stack until we find out what punctuation
+% should be added after it. Therefore we need an empty first item.
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.nonempty.mrnumber}
+{ duplicate$ missing$
+ { pop$ "" }
+ 'skip$
+ if$
+ duplicate$ empty$
+ 'pop$
+ { " \MR{" swap$ * "}" * write$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ mrnumber output.nonempty.mrnumber
+ newline$
+}
+
+% Removed new.block, new.block.checka, new.block.checkb, new.sentence,
+% new.sentence.checka, and new.sentence.checkb functions here, since they
+% don't seem to be needed in the AMS style. Also moved some real
+% basic functions like `and' and 'or' earlier in the file.
+
+INTEGERS { nameptr namesleft numnames }
+
+% The extra section to write out a language field was added
+% for AMSPLAIN.BST. Not present in plain.bst.
+
+FUNCTION {format.language}
+{ language empty$
+ { "" }
+ { " (" language * ")" * }
+ if$
+}
+
+% This version of format.names puts names in the format
+%
+% First von Last, Jr.
+%
+% (i.e., first name first, no abbreviating to initials).
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { bysame "\bysame" =
+ { bysame }
+ { author format.names }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.nonauthor.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {format.journal.vol.year}
+{ journal empty$
+ { "" "journal name" missing.warning }
+ { journal
+ volume empty$
+ 'skip$
+ { " \textbf{" * volume * "}" * }
+ if$
+ year empty$
+ { "year" missing.warning }
+ { " (" * year * ")" * }
+ if$
+ }
+ if$
+}
+
+% For formatting the issue number for a journal article.
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "no.~" number * }
+ if$
+}
+
+% For formatting miscellaneous dates
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+%% The volume, series and number information is sort of tricky.
+%% This code handles it as follows:
+%% If the series is present, and the volume, but not the number,
+%% then we do "\emph{Book title}, Series Name, vol. 000"
+%% If the series is present, and the number, but not the volume,
+%% then we do "\emph{Book title}, Series Name, no. 000"
+%% If the series is present, and both number and volume,
+%% then we do "\emph{Book title}, vol. XX, Series Name, no. 000"
+%% Finally, if the series is absent,
+%% then we do "\emph{Book title}, vol. XX"
+%% or "\emph{Book title}, no. 000"
+%% and if both volume and number are present, give a warning message.
+
+FUNCTION {format.bookvolume.series.number}
+{ volume empty$
+ { "" % Push the empty string as a placeholder in case everything else
+ % is empty too.
+ series empty$
+ 'skip$
+ { pop$ series } % if series is not empty put in stack
+ if$
+ number empty$
+ 'skip$
+ { duplicate$ empty$ % if no preceding material,
+ 'skip$ % do nothing, otherwise
+ { ", " * } % add a comma and space to separate.
+ if$
+ "no." number tie.or.space.connect * % add the number information
+ }
+ if$
+ }
+%% If the volume is NOT EMPTY:
+ { "vol." volume tie.or.space.connect % vol. XX
+ number empty$
+ { series empty$
+ 'skip$
+ { series ", " * swap$ *} % Series Name, vol. XX
+ if$
+ }
+ { series empty$
+ { "can't use both volume and number if series info is missing"
+ warning$
+ "in BibTeX entry type `" type$ * "'" * top$
+ }
+ { ", " * series * ", no." * number tie.or.space.connect }
+ if$
+ }
+ if$
+ }
+ if$
+
+} % end of format.bookvolume.series.number
+
+%% format.inproc.title.where.editors is used by inproceedings entry types
+
+%% No case changing or emphasizing for the title. We want initial
+%% caps, roman.
+%% We add parentheses around the address (place where conference
+%% was held).
+%% Likewise we add parentheses around the editors' names.
+
+FUNCTION {format.inproc.title.address.editors}
+{ booktitle empty$
+ { "" }
+ { booktitle
+ address empty$
+ 'skip$
+ { add.space.if.necessary "(" * address * ")" * }
+ if$
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+ }
+ if$
+}
+
+%% format.incoll.title.editors is similar to format.inproc... but
+%% omits the address. For collections that are not proceedings volumes.
+
+FUNCTION {format.incoll.title.editors}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle }
+ { booktitle
+ add.space.if.necessary "(" * format.nonauthor.editors * ")" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages n.dashify }
+ if$
+}
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.book.pages
+ { type empty$
+ { "ch.~" }
+ { type "l" change.case$ " " * }
+ if$
+ chapter *
+ pages empty$
+ 'skip$
+ { ", " * format.book.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+% The format.crossref functions haven't been paid much attention
+% at the present time (June 1990) and could probably use some
+% work. MJD
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in \emph{" booktitle * "}" * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% The main functions for each entry type.
+
+% journal, vol and year are formatted together because they are
+% not separated by commas.
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.journal.vol.year "journal, volume, and year" output.check
+ format.number output
+ format.pages "pages" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages "pages" output.check
+ }
+ if$
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.title "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished output
+ address output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.title "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ format.chapter.pages "chapter and pages" output.check
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.incoll.title.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.inproc.title.address.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.title "title" output.check
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished output
+ format.date output
+ note output
+ format.book.pages output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Ph.D. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.title "title" output.check
+ format.bookvolume.series.number output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS {
+ longest.label last.sort.label next.extra prev.author this.author
+}
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+ "abcxyz" 'prev.author :=
+ "" 'this.author :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+ author empty$ { editor empty$ { "" } 'editor if$ } 'author if$
+ 'this.author :=
+ this.author prev.author =
+ { "\bysame" 'bysame := }
+ { "" 'bysame :=
+ this.author "" =
+ { "abcxyz" }
+ 'this.author
+ if$
+ 'prev.author :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\providecommand{\bysame}{\leavevmode\hbox to3em{\hrulefill}\thinspace}"
+ write$ newline$
+ "\providecommand{\MR}{\relax\ifhmode\unskip\space\fi MR }"
+ write$ newline$
+ "% \MRhref is called by the amsart/book/proc definition of \MR."
+ write$ newline$
+ "\providecommand{\MRhref}[2]{%"
+ write$ newline$
+ " \href{http://www.ams.org/mathscinet-getitem?mr=#1}{#2}"
+ write$ newline$
+ "}"
+ write$ newline$
+ "\providecommand{\href}[2]{#2}"
+ write$ newline$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
diff --git a/Master/texmf-dist/bibtex/bst/amslatex/amsplain.bst b/Master/texmf-dist/bibtex/bst/amslatex/amsplain.bst
new file mode 100644
index 00000000000..3098bee32c3
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/amslatex/amsplain.bst
@@ -0,0 +1,1255 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% filename = "amsplain.bst",
+%%% version = "2.0",
+%%% date = "2000/03/27",
+%%% time = "13:49:29 EST",
+%%% checksum = "37449 1255 3734 27098",
+%%% author = "American Mathematical Society",
+%%% address = "American Mathematical Society,
+%%% Technical Support,
+%%% Electronic Products and Services,
+%%% P. O. Box 6248,
+%%% Providence, RI 02940,
+%%% USA",
+%%% telephone = "401-455-4080 or (in the USA and Canada)
+%%% 800-321-4AMS (321-4267)",
+%%% FAX = "401-331-3842",
+%%% email = "tech-support@ams.org (Internet)",
+%%% copyright = "Copyright 1995 American Mathematical Society,
+%%% all rights reserved. Copying of this file is
+%%% authorized only if either:
+%%% (1) you make absolutely no changes to your copy,
+%%% including name; OR
+%%% (2) if you do make changes, you first rename it
+%%% to some other name.",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "bibtex, bibliography, amslatex, ams-latex",
+%%% supported = "yes",
+%%% abstract = "BibTeX bibliography style `amsplain' for BibTeX
+%%% versions 0.99a or later and LaTeX version 2e.
+%%% Produces numeric-label bibliography items in
+%%% a form typical for American Mathematical Society
+%%% publications.",
+%%% docstring = "The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+
+% See the file btxbst.doc for extra documentation other than
+% what is included here. And see btxhak.tex for a description
+% of the BibTeX language and how to use it.
+
+% This defines the types of fields that can occur in a database entry
+% for this particular bibliography style. Except for `language',
+% this is the standard list from plain.bst.
+
+%% Types of entries currently allowed in a BibTeX file:
+%%
+%% ARTICLE -- An article from a journal or magazine.
+%%
+%% BOOK -- A book with an explicit publisher.
+%%
+%% BOOKLET -- A work that is printed and bound,
+%% but without a named publisher or sponsoring institution.
+%%
+%% CONFERENCE -- The same as INPROCEEDINGS,
+%% included for Scribe compatibility.
+%%
+%% INBOOK -- A part of a book,
+%% which may be a chapter (or section or whatever) and/or a range of pages.
+%%
+%% INCOLLECTION -- A part of a book having its own title.
+%%
+%% INPROCEEDINGS -- An article in a conference proceedings.
+%%
+%% MANUAL -- Technical documentation.
+%%
+%% MASTERSTHESIS -- A Master's thesis.
+%%
+%% MISC -- Use this type when nothing else fits.
+%%
+%% PHDTHESIS -- A PhD thesis.
+%%
+%% PROCEEDINGS -- The proceedings of a conference.
+%%
+%% TECHREPORT -- A report published by a school or other institution,
+%% usually numbered within a series.
+%%
+%% UNPUBLISHED -- A document having an author and title, but not formally
+%% published.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ mrnumber
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label bysame }
+
+% Removed after.sentence, after.block---not needed.
+
+INTEGERS { output.state before.all mid.sentence }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+}
+
+% Scratch variables:
+
+STRINGS { s t }
+
+% Utility functions
+
+FUNCTION {shows}
+{ duplicate$ ":::: `" swap$ * "'" * top$
+}
+
+FUNCTION {showstack}
+{"STACK====================================================================="
+top$
+stack$
+"ENDSTACK=================================================================="
+top$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+% n.dashify is used to make sure page ranges get the TeX code
+% (two hyphens) for en-dashes.
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+% tie.or.space.connect connects two items with a ~ if the
+% second item is less than 3 letters long, otherwise it just puts an
+% ordinary space.
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {add.space.if.necessary}
+{ duplicate$ "" =
+ 'skip$
+ { " " * }
+ if$
+}
+
+% either.or.check gives a warning if two mutually exclusive fields
+% were used in the database.
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+% output.nonnull is called by output.
+
+FUNCTION {output.nonnull}
+% remove the top item from the stack because it's in the way.
+{ 's :=
+ output.state mid.sentence =
+% If we're in mid-sentence, add a comma to the new top item and write it
+ { ", " * write$ }
+% Otherwise, if we're at the beginning of a bibitem,
+ { output.state before.all =
+% just write out the top item from the stack;
+ 'write$
+% and the last alternative is that we're at the end of the current
+% bibitem, so we add a period to the top stack item and write it out.
+ { add.period$ " " * write$ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+% Put the top item back on the stack that we removed earlier.
+ s
+}
+
+% Output checks to see if the stack top is empty; if not, it
+% calls output.nonnull to write it out.
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+% Standard warning message for a missing or empty field. For the user
+% we call any such field `missing' without respect to the distinction
+% made by BibTeX between missing and empty.
+
+FUNCTION {missing.warning}
+{ "missing " swap$ * " in " * cite$ * warning$ }
+
+% Output.check is like output except that it gives a warning on-screen
+% if the given field in the database entry is empty. t is the field
+% name.
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ t missing.warning }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+% This empty string is the first thing that will be written
+% the next time write$ is called. Done this way because each
+% item is saved on the stack until we find out what punctuation
+% should be added after it. Therefore we need an empty first item.
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.nonempty.mrnumber}
+{ duplicate$ missing$
+ { pop$ "" }
+ 'skip$
+ if$
+ duplicate$ empty$
+ 'pop$
+ { " \MR{" swap$ * "}" * write$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ mrnumber output.nonempty.mrnumber
+ newline$
+}
+
+% Removed new.block, new.block.checka, new.block.checkb, new.sentence,
+% new.sentence.checka, and new.sentence.checkb functions here, since they
+% don't seem to be needed in the AMS style. Also moved some real
+% basic functions like `and' and 'or' earlier in the file.
+
+INTEGERS { nameptr namesleft numnames }
+
+% The extra section to write out a language field was added
+% for AMSPLAIN.BST. Not present in plain.bst.
+
+FUNCTION {format.language}
+{ language empty$
+ { "" }
+ { " (" language * ")" * }
+ if$
+}
+
+% This version of format.names puts names in the format
+%
+% First von Last, Jr.
+%
+% (i.e., first name first, no abbreviating to initials).
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { bysame "\bysame" =
+ {"\bysame"}
+ { author format.names }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.nonauthor.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {format.journal.vol.year}
+{ journal empty$
+ { "journal name" missing.warning ""}
+ { journal }
+ if$
+ volume empty$
+ 'skip$
+ { " \textbf{" * volume * "}" * }
+ if$
+ year empty$
+ { "year" missing.warning }
+ { " (" * year * ")" * }
+ if$
+}
+
+% For formatting the issue number for a journal article.
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "no.~" number * }
+ if$
+}
+
+% For formatting miscellaneous dates
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+%% The volume, series and number information is sort of tricky.
+%% This code handles it as follows:
+%% If the series is present, and the volume, but not the number,
+%% then we do "\emph{Book title}, Series Name, vol. 000"
+%% If the series is present, and the number, but not the volume,
+%% then we do "\emph{Book title}, Series Name, no. 000"
+%% If the series is present, and both number and volume,
+%% then we do "\emph{Book title}, vol. XX, Series Name, no. 000"
+%% Finally, if the series is absent,
+%% then we do "\emph{Book title}, vol. XX"
+%% or "\emph{Book title}, no. 000"
+%% and if both volume and number are present, give a warning message.
+
+FUNCTION {format.bookvolume.series.number}
+{ volume empty$
+ { "" % Push the empty string as a placeholder in case everything else
+ % is empty too.
+ series empty$
+ 'skip$
+ { pop$ series } % if series is not empty put in stack
+ if$
+ number empty$
+ 'skip$
+ { duplicate$ empty$ % if no preceding material,
+ 'skip$ % do nothing, otherwise
+ { ", " * } % add a comma and space to separate.
+ if$
+ "no." number tie.or.space.connect * % add the number information
+ }
+ if$
+ }
+%% If the volume is NOT EMPTY:
+ { "vol." volume tie.or.space.connect % vol. XX
+ number empty$
+ { series empty$
+ 'skip$
+ { series ", " * swap$ *} % Series Name, vol. XX
+ if$
+ }
+ { series empty$
+ { "can't use both volume and number if series info is missing"
+ warning$
+ "in BibTeX entry type `" type$ * "'" * top$
+ }
+ { ", " * series * ", no." * number tie.or.space.connect }
+ if$
+ }
+ if$
+ }
+ if$
+
+} % end of format.bookvolume.series.number
+
+%% format.inproc.title.where.editors is used by inproceedings entry types
+
+%% No case changing or emphasizing for the title. We want initial
+%% caps, roman.
+%% We add parentheses around the address (place where conference
+%% was held).
+%% Likewise we add parentheses around the editors' names.
+
+FUNCTION {format.inproc.title.address.editors}
+{ booktitle empty$
+ { "" }
+ { booktitle
+ address empty$
+ 'skip$
+ { add.space.if.necessary "(" * address * ")" * }
+ if$
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+ }
+ if$
+}
+
+%% format.incoll.title.editors is similar to format.inproc... but
+%% omits the address. For collections that are not proceedings volumes.
+
+FUNCTION {format.incoll.title.editors}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle }
+ { booktitle
+ add.space.if.necessary "(" * format.nonauthor.editors * ")" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages n.dashify }
+ if$
+}
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.book.pages
+ { type empty$
+ { "ch.~" }
+ { type "l" change.case$ " " * }
+ if$
+ chapter *
+ pages empty$
+ 'skip$
+ { ", " * format.book.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+% The format.crossref functions haven't been paid much attention
+% at the present time (June 1990) and could probably use some
+% work. MJD
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in \emph{" booktitle * "}" * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% The main functions for each entry type.
+
+% journal, vol and year are formatted together because they are
+% not separated by commas.
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.journal.vol.year output
+ format.number output
+ format.pages "pages" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages "pages" output.check
+ }
+ if$
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.title "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished output
+ address output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.title "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ format.chapter.pages "chapter and pages" output.check
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.incoll.title.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.inproc.title.address.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.title "title" output.check
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished output
+ format.date output
+ note output
+ format.book.pages output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Ph.D. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.title "title" output.check
+ format.bookvolume.series.number output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label prev.author this.author }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+ "abcxyz" 'prev.author :=
+ "" 'this.author :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ author empty$
+ { editor empty$
+ { "" }
+ 'editor
+ if$
+ }
+ 'author
+ if$
+ 'this.author :=
+ this.author prev.author =
+ { "\bysame" 'bysame := }
+ { "" 'bysame :=
+ this.author "" =
+ { "abcxyz" }
+ 'this.author
+ if$
+ 'prev.author :=
+ }
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {write.lines}
+{ { duplicate$ "." = NOT }
+ { write$ newline$ }
+ while$
+ pop$
+}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\providecommand{\bysame}{\leavevmode\hbox to3em{\hrulefill}\thinspace}"
+ write$ newline$
+ "\providecommand{\MR}{\relax\ifhmode\unskip\space\fi MR }"
+ write$ newline$
+ "% \MRhref is called by the amsart/book/proc definition of \MR."
+ write$ newline$
+ "\providecommand{\MRhref}[2]{%"
+ write$ newline$
+ " \href{http://www.ams.org/mathscinet-getitem?mr=#1}{#2}"
+ write$ newline$
+ "}"
+ write$ newline$
+ "\providecommand{\href}[2]{#2}"
+ write$ newline$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
diff --git a/Master/texmf-dist/bibtex/bst/amslatex/amsra.bst b/Master/texmf-dist/bibtex/bst/amslatex/amsra.bst
new file mode 100644
index 00000000000..a770f5a0a2c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/amslatex/amsra.bst
@@ -0,0 +1,775 @@
+%%
+%% This is file `amsra.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% amsxport.dtx (with options: `bst,sort,alpha')
+%%
+%%% ====================================================================
+%%% @BibTeX-source-file{
+%%% filename = "amsxport.dtx",
+%%% version = "2.00",
+%%% date = "2004/06/28",
+%%% time = "14:50:12 EDT",
+%%% author = "Michael J Downes",
+%%% address = "American Mathematical Society,
+%%% Publications Technical Group,
+%%% PO Box 6248,
+%%% Providence, RI 02940,
+%%% USA",
+%%% email = "tech-support at ams.org",
+%%% URL = "http://www.ams.org/",
+%%% abstract = "The BibTeX style file amsxport.bst produces .bbl
+%%% entries where most of the database structure is
+%%% retained. This is intended for processing by a smart
+%%% bibliography package such as the amsrefs package.",
+%%% checksum = "40425 1822 6396 51551",
+%%% docstring = "The checksum field, produced by Robert Solovay's
+%%% checksum utility, gives CRC-16 checksum, lines,
+%%% words, and characters.",
+%%% }
+%%% ====================================================================
+ENTRY
+ {
+ address institution number status
+ archive isbn organization subtitle
+ author issn pages title
+ booktitle journal part translator
+ chapter key pii type
+ date language preprint url
+ edition meeting publisher volume
+ editor month review xid
+ eprint mrnumber school year
+ howpublished note series
+ }
+ { }
+ { label }
+MACRO {jan} {"-01"}
+MACRO {feb} {"-02"}
+MACRO {mar} {"-03"}
+MACRO {apr} {"-04"}
+MACRO {may} {"-05"}
+MACRO {jun} {"-06"}
+MACRO {jul} {"-07"}
+MACRO {aug} {"-08"}
+MACRO {sep} {"-09"}
+MACRO {oct} {"-10"}
+MACRO {nov} {"-11"}
+MACRO {dec} {"-12"}
+STRINGS { p s t l }
+INTEGERS { len ptr }
+
+FUNCTION {NOT} { { #0 } { #1 } if$ }
+
+FUNCTION {AND} { 'skip$ { pop$ #0 } if$ }
+
+FUNCTION {OR} { { pop$ #1 } 'skip$ if$ }
+
+FUNCTION {TRUE} { #1 }
+
+FUNCTION {FALSE} { #0 }
+
+FUNCTION {incr.ptr} { ptr #1 + 'ptr := }
+
+FUNCTION {current.char} { ptr #1 substring$ }
+FUNCTION {copy.two.chars} { t * incr.ptr s current.char * incr.ptr }
+
+FUNCTION {is.digit} {
+ chr.to.int$
+ duplicate$
+ "0" chr.to.int$ #1 - >
+ swap$
+ "9" chr.to.int$ #1 + <
+ AND
+}
+
+FUNCTION {is.lowercase.letter} {
+ chr.to.int$ duplicate$
+ "a" chr.to.int$ #1 - >
+ swap$
+ "z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.uppercase.letter} {
+ chr.to.int$ duplicate$
+ "A" chr.to.int$ #1 - >
+ swap$
+ "Z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.letter} {
+ duplicate$
+ is.lowercase.letter
+ { pop$ TRUE }
+ { is.uppercase.letter }
+ if$
+}
+FUNCTION {skip.accent} { pop$ incr.ptr }
+FUNCTION {strip.label} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s ptr #1 substring$ duplicate$ empty$ NOT }
+ { duplicate$ is.letter
+ { * }
+ { duplicate$ "\" =
+ { skip.accent }
+ 'pop$
+ if$
+ }
+ if$
+ incr.ptr
+ }
+ while$
+ pop$
+}
+FUNCTION {sortify} {
+ purify$
+ "l" change.case$
+}
+FUNCTION {rpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ l " " * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {lpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ " " l * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {field.or.null} {
+ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {missing.or.empty} { duplicate$ missing$ swap$ empty$ OR }
+
+FUNCTION {append.ndash.and.skip.hyphens} {
+ "\ndash " *
+ incr.ptr
+ { s current.char "-" = }
+ { incr.ptr }
+ while$
+}
+FUNCTION {n.dashify} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s current.char 't := t "" = NOT }
+ { t "\" =
+ { copy.two.chars }
+ { t "-" =
+ { append.ndash.and.skip.hyphens }
+ { t * incr.ptr }
+ if$
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {missing.warning} {
+ "missing " swap$ * " in " * cite$ * warning$
+}
+
+INTEGERS { string.ptr }
+
+FUNCTION {string.length} {
+ #1 'string.ptr :=
+ { duplicate$ string.ptr #1 substring$ "" = 'FALSE 'TRUE if$ }
+ { string.ptr #1 + 'string.ptr := }
+ while$
+ pop$
+ string.ptr #1 -
+}
+FUNCTION {format.title}{
+ duplicate$
+ missing.or.empty
+ { pop$ "" }
+ { "t" change.case$ }
+ if$
+}
+FUNCTION {start.field} {
+ #12 lpad "={" * write$
+}
+FUNCTION {fin.field} { "}," write$ newline$ }
+
+FUNCTION {write.field} {
+ duplicate$
+ missing$
+ { pop$ missing.warning }
+ { duplicate$ empty$
+ { pop$ missing.warning }
+ { swap$ start.field write$ fin.field }
+ if$
+ }
+ if$
+}
+FUNCTION {optional.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.title.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { format.title swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.pages.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ n.dashify
+ write$ fin.field
+ }
+ if$
+}
+FUNCTION {optional.mr.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ {
+ swap$ start.field
+ "\MR{" swap$ * "}" * write$ fin.field
+ }
+ if$
+}
+FUNCTION {remove.ordinal.suffix} {
+ 's :=
+ s string.length 'len :=
+ #1 'ptr :=
+ { ptr len < s ptr #1 substring$ is.digit AND }
+ 'incr.ptr
+ while$
+ s ptr global.max$ substring$ 'p :=
+ p "st" =
+ { TRUE }
+ { p "nd" =
+ { TRUE }
+ { p "rd" =
+ { TRUE }
+ { p "th" =
+ { TRUE }
+ { FALSE }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ { s #1 ptr #1 - substring$ }
+ { s }
+ if$
+}
+FUNCTION {optional.edition.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ remove.ordinal.suffix
+ write$ fin.field
+ }
+ if$
+}
+INTEGERS { nameptr numnames namesleft }
+STRINGS { namelist fieldname }
+FUNCTION {format.name} { "{vv~}{ll}{, ff}{, jj}" format.name$ }
+
+FUNCTION {optional.name.field}{
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ 'fieldname :=
+ duplicate$ num.names$
+ 'namesleft :=
+ #1 'ptr :=
+ { namesleft #0 > }
+ { fieldname start.field
+ duplicate$ ptr format.name write$
+ fin.field
+ ptr #1 + 'ptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ pop$
+ }
+ if$
+}
+FUNCTION {assemble.date.field}
+{ date missing$
+ { year missing.or.empty
+ { status missing.or.empty
+ { "No year or other date information for "
+ cite$ * warning$ }
+ 'skip$
+ if$
+ "status"
+ }
+ { year month missing$ { "" } { month } if$ * }
+ if$
+ }
+ { date }
+ if$
+ duplicate$ "status" =
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.journal.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ {
+ 's :=
+ start.field
+ #1 'ptr :=
+ s current.char is.lowercase.letter
+ {
+ s "/" * 's :=
+ { s ptr #1 substring$ "/" = NOT }
+ { incr.ptr }
+ while$
+ s ptr #1 + #1 substring$ empty$
+ { s #1 ptr #1 - substring$ }
+ {
+ s #1 ptr #1 - substring$
+ write$
+ fin.field
+ "ISSN" start.field
+ s ptr #1 + #9 substring$
+ }
+ if$
+ }
+ { s }
+ if$
+ write$
+ fin.field
+ }
+ if$
+}
+FUNCTION {optional.type.field}
+{ duplicate$ missing.or.empty
+ { type$ "mastersthesis" = { "Master's Thesis" }
+ { type$ "phdthesis" = { "Ph.D. Thesis" }
+ { "" } if$ } if$
+ swap$ pop$
+ }
+ 'skip$
+ if$
+ duplicate$ empty$
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {url.note.status.review} {
+ "url" url optional.field
+ "note" note optional.field
+ "status" status optional.field
+ "review" review optional.field
+ "review" mrnumber optional.mr.field
+}
+FUNCTION {start.entry} {
+ newline$
+ "\bib{" cite$ * "}{" *
+ type$ "mastersthesis" = type$ "phdthesis" = OR
+ { "thesis" }
+ { type$ }
+ if$
+ * "}{" * write$
+ newline$
+}
+FUNCTION {fin.entry} {
+ "}" write$
+ newline$
+}
+FUNCTION {article} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "ISSN" issn optional.field
+ "journal" journal optional.journal.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "pages" pages optional.pages.field
+ "PII" pii optional.field
+ "archive" archive optional.field
+ "eprint" eprint optional.field
+ "preprint" preprint optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inproceedings} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "xid" xid optional.field
+ "conference" meeting optional.field
+ "booktitle" booktitle optional.title.field
+ "edition" edition optional.edition.field
+ "editor" editor optional.name.field
+ "series" series optional.field
+ "volume" volume optional.field
+ "publisher" publisher optional.field
+ "address" address optional.field
+ "pages" pages optional.pages.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inbook} { inproceedings }
+FUNCTION {incollection} { inproceedings }
+FUNCTION {conference} { inproceedings }
+FUNCTION {book} {
+ start.entry
+ "author" author optional.name.field
+ "editor" editor optional.name.field
+ "translator" translator optional.name.field
+ "title" title missing$ { booktitle } { title } if$
+ format.title write.field
+ "subtitle" subtitle optional.title.field
+ "type" type optional.type.field
+ "language" language optional.field
+ "conference" meeting optional.field
+ "edition" edition optional.edition.field
+ "series" series optional.field
+ "publisher" publisher optional.field
+ organization missing.or.empty
+ { "institution" institution optional.field }
+ { "organization" organization optional.field }
+ if$
+ "address" address optional.field
+ "how" howpublished optional.field
+ "date" year write.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "ISBN" isbn optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {booklet} { book }
+FUNCTION {manual} { book }
+FUNCTION {mastersthesis} { book }
+
+FUNCTION {phdthesis} { book }
+
+FUNCTION {proceedings} { book }
+
+FUNCTION {collection} { book }
+
+FUNCTION {techreport} { book }
+
+FUNCTION {unpublished} { book }
+
+FUNCTION {misc} { book }
+
+FUNCTION {default.type} { misc }
+
+
+READ
+
+FUNCTION {chop.word} {
+ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {sort.format.title} {
+ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {format.lab.names} {
+ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" * }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" * }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+{ cite$ #1 #3 substring$ }
+{ key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+{ key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+}
+{ editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+{ organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+}
+{ key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+{ organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+}
+{ key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}{
+ type$ "book" = type$ "inbook" = OR
+ 'author.editor.key.label
+ { type$ "proceedings" =
+'editor.key.organization.label
+{ type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+}
+ if$
+ }
+ if$
+ strip.label
+ sortify
+ year field.or.null
+ #3 #8 substring$
+ purify$ *
+ 'label :=
+}
+FUNCTION {sort.format.names} {
+ 's :=
+ #1 'ptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { ptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s ptr "{ll}{ ff}{ jj}" format.name$ 't :=
+ ptr numnames = t "others" = AND
+ { "et al" }
+ { t sortify }
+ if$
+ #20 rpad *
+ ptr #1 + 'ptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {sort.warning} {
+ "to sort, need " swap$ * " or key in " * cite$ * warning$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "author" sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "author, editor," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "author, organization," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "editor, organization," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort} {
+ calc.label
+ label #20 rpad
+ type$ "book" = type$ "inbook" = OR type$ "collection" = OR
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ * " " *
+ title field.or.null sort.format.title *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {presort}
+
+SORT
+FUNCTION {write.with.newlines}
+{ 's := #1 'ptr :=
+ { s ptr #2 + #1 substring$ "" = NOT }
+ { s ptr #3 substring$ "^^M" =
+ { s #1 ptr #1 - substring$ write$ newline$
+ ptr #3 + 'ptr :=
+ s ptr global.max$ substring$ 's :=
+ #1 'ptr :=
+ }
+ { incr.ptr }
+ if$
+ }
+ while$
+ s write$ newline$
+}
+FUNCTION {begin.bib} {
+ preamble$ empty$
+ 'skip$
+ { preamble$ write.with.newlines }
+ if$
+ "% \bib, bibdiv, biblist are defined by the amsrefs package."
+ write$ newline$
+ "\begin{bibdiv}" write$ newline$
+ "\begin{biblist}" write$ newline$
+}
+FUNCTION {end.bib} {
+ newline$
+ "\end{biblist}" write$ newline$
+ "\end{bibdiv}" write$ newline$
+}
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `amsra.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/amslatex/amsrn.bst b/Master/texmf-dist/bibtex/bst/amslatex/amsrn.bst
new file mode 100644
index 00000000000..505f15b6d2d
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/amslatex/amsrn.bst
@@ -0,0 +1,660 @@
+%%
+%% This is file `amsrn.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% amsxport.dtx (with options: `bst,sort,plain')
+%%
+%%% ====================================================================
+%%% @BibTeX-source-file{
+%%% filename = "amsxport.dtx",
+%%% version = "2.00",
+%%% date = "2004/06/28",
+%%% time = "14:50:12 EDT",
+%%% author = "Michael J Downes",
+%%% address = "American Mathematical Society,
+%%% Publications Technical Group,
+%%% PO Box 6248,
+%%% Providence, RI 02940,
+%%% USA",
+%%% email = "tech-support at ams.org",
+%%% URL = "http://www.ams.org/",
+%%% abstract = "The BibTeX style file amsxport.bst produces .bbl
+%%% entries where most of the database structure is
+%%% retained. This is intended for processing by a smart
+%%% bibliography package such as the amsrefs package.",
+%%% checksum = "40425 1822 6396 51551",
+%%% docstring = "The checksum field, produced by Robert Solovay's
+%%% checksum utility, gives CRC-16 checksum, lines,
+%%% words, and characters.",
+%%% }
+%%% ====================================================================
+ENTRY
+ {
+ address institution number status
+ archive isbn organization subtitle
+ author issn pages title
+ booktitle journal part translator
+ chapter key pii type
+ date language preprint url
+ edition meeting publisher volume
+ editor month review xid
+ eprint mrnumber school year
+ howpublished note series
+ }
+ { }
+ { label }
+MACRO {jan} {"-01"}
+MACRO {feb} {"-02"}
+MACRO {mar} {"-03"}
+MACRO {apr} {"-04"}
+MACRO {may} {"-05"}
+MACRO {jun} {"-06"}
+MACRO {jul} {"-07"}
+MACRO {aug} {"-08"}
+MACRO {sep} {"-09"}
+MACRO {oct} {"-10"}
+MACRO {nov} {"-11"}
+MACRO {dec} {"-12"}
+STRINGS { p s t l }
+INTEGERS { len ptr }
+
+FUNCTION {NOT} { { #0 } { #1 } if$ }
+
+FUNCTION {AND} { 'skip$ { pop$ #0 } if$ }
+
+FUNCTION {OR} { { pop$ #1 } 'skip$ if$ }
+
+FUNCTION {TRUE} { #1 }
+
+FUNCTION {FALSE} { #0 }
+
+FUNCTION {incr.ptr} { ptr #1 + 'ptr := }
+
+FUNCTION {current.char} { ptr #1 substring$ }
+FUNCTION {copy.two.chars} { t * incr.ptr s current.char * incr.ptr }
+
+FUNCTION {is.digit} {
+ chr.to.int$
+ duplicate$
+ "0" chr.to.int$ #1 - >
+ swap$
+ "9" chr.to.int$ #1 + <
+ AND
+}
+
+FUNCTION {is.lowercase.letter} {
+ chr.to.int$ duplicate$
+ "a" chr.to.int$ #1 - >
+ swap$
+ "z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.uppercase.letter} {
+ chr.to.int$ duplicate$
+ "A" chr.to.int$ #1 - >
+ swap$
+ "Z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.letter} {
+ duplicate$
+ is.lowercase.letter
+ { pop$ TRUE }
+ { is.uppercase.letter }
+ if$
+}
+FUNCTION {skip.accent} { pop$ incr.ptr }
+FUNCTION {strip.label} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s ptr #1 substring$ duplicate$ empty$ NOT }
+ { duplicate$ is.letter
+ { * }
+ { duplicate$ "\" =
+ { skip.accent }
+ 'pop$
+ if$
+ }
+ if$
+ incr.ptr
+ }
+ while$
+ pop$
+}
+FUNCTION {sortify} {
+ purify$
+ "l" change.case$
+}
+FUNCTION {rpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ l " " * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {lpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ " " l * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {field.or.null} {
+ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {missing.or.empty} { duplicate$ missing$ swap$ empty$ OR }
+
+FUNCTION {append.ndash.and.skip.hyphens} {
+ "\ndash " *
+ incr.ptr
+ { s current.char "-" = }
+ { incr.ptr }
+ while$
+}
+FUNCTION {n.dashify} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s current.char 't := t "" = NOT }
+ { t "\" =
+ { copy.two.chars }
+ { t "-" =
+ { append.ndash.and.skip.hyphens }
+ { t * incr.ptr }
+ if$
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {missing.warning} {
+ "missing " swap$ * " in " * cite$ * warning$
+}
+
+INTEGERS { string.ptr }
+
+FUNCTION {string.length} {
+ #1 'string.ptr :=
+ { duplicate$ string.ptr #1 substring$ "" = 'FALSE 'TRUE if$ }
+ { string.ptr #1 + 'string.ptr := }
+ while$
+ pop$
+ string.ptr #1 -
+}
+FUNCTION {format.title}{
+ duplicate$
+ missing.or.empty
+ { pop$ "" }
+ { "t" change.case$ }
+ if$
+}
+FUNCTION {start.field} {
+ #12 lpad "={" * write$
+}
+FUNCTION {fin.field} { "}," write$ newline$ }
+
+FUNCTION {write.field} {
+ duplicate$
+ missing$
+ { pop$ missing.warning }
+ { duplicate$ empty$
+ { pop$ missing.warning }
+ { swap$ start.field write$ fin.field }
+ if$
+ }
+ if$
+}
+FUNCTION {optional.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.title.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { format.title swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.pages.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ n.dashify
+ write$ fin.field
+ }
+ if$
+}
+FUNCTION {optional.mr.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ {
+ swap$ start.field
+ "\MR{" swap$ * "}" * write$ fin.field
+ }
+ if$
+}
+FUNCTION {remove.ordinal.suffix} {
+ 's :=
+ s string.length 'len :=
+ #1 'ptr :=
+ { ptr len < s ptr #1 substring$ is.digit AND }
+ 'incr.ptr
+ while$
+ s ptr global.max$ substring$ 'p :=
+ p "st" =
+ { TRUE }
+ { p "nd" =
+ { TRUE }
+ { p "rd" =
+ { TRUE }
+ { p "th" =
+ { TRUE }
+ { FALSE }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ { s #1 ptr #1 - substring$ }
+ { s }
+ if$
+}
+FUNCTION {optional.edition.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ remove.ordinal.suffix
+ write$ fin.field
+ }
+ if$
+}
+INTEGERS { nameptr numnames namesleft }
+STRINGS { namelist fieldname }
+FUNCTION {format.name} { "{vv~}{ll}{, ff}{, jj}" format.name$ }
+
+FUNCTION {optional.name.field}{
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ 'fieldname :=
+ duplicate$ num.names$
+ 'namesleft :=
+ #1 'ptr :=
+ { namesleft #0 > }
+ { fieldname start.field
+ duplicate$ ptr format.name write$
+ fin.field
+ ptr #1 + 'ptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ pop$
+ }
+ if$
+}
+FUNCTION {assemble.date.field}
+{ date missing$
+ { year missing.or.empty
+ { status missing.or.empty
+ { "No year or other date information for "
+ cite$ * warning$ }
+ 'skip$
+ if$
+ "status"
+ }
+ { year month missing$ { "" } { month } if$ * }
+ if$
+ }
+ { date }
+ if$
+ duplicate$ "status" =
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.journal.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ {
+ 's :=
+ start.field
+ #1 'ptr :=
+ s current.char is.lowercase.letter
+ {
+ s "/" * 's :=
+ { s ptr #1 substring$ "/" = NOT }
+ { incr.ptr }
+ while$
+ s ptr #1 + #1 substring$ empty$
+ { s #1 ptr #1 - substring$ }
+ {
+ s #1 ptr #1 - substring$
+ write$
+ fin.field
+ "ISSN" start.field
+ s ptr #1 + #9 substring$
+ }
+ if$
+ }
+ { s }
+ if$
+ write$
+ fin.field
+ }
+ if$
+}
+FUNCTION {optional.type.field}
+{ duplicate$ missing.or.empty
+ { type$ "mastersthesis" = { "Master's Thesis" }
+ { type$ "phdthesis" = { "Ph.D. Thesis" }
+ { "" } if$ } if$
+ swap$ pop$
+ }
+ 'skip$
+ if$
+ duplicate$ empty$
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {url.note.status.review} {
+ "url" url optional.field
+ "note" note optional.field
+ "status" status optional.field
+ "review" review optional.field
+ "review" mrnumber optional.mr.field
+}
+FUNCTION {start.entry} {
+ newline$
+ "\bib{" cite$ * "}{" *
+ type$ "mastersthesis" = type$ "phdthesis" = OR
+ { "thesis" }
+ { type$ }
+ if$
+ * "}{" * write$
+ newline$
+}
+FUNCTION {fin.entry} {
+ "}" write$
+ newline$
+}
+FUNCTION {article} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "ISSN" issn optional.field
+ "journal" journal optional.journal.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "pages" pages optional.pages.field
+ "PII" pii optional.field
+ "archive" archive optional.field
+ "eprint" eprint optional.field
+ "preprint" preprint optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inproceedings} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "xid" xid optional.field
+ "conference" meeting optional.field
+ "booktitle" booktitle optional.title.field
+ "edition" edition optional.edition.field
+ "editor" editor optional.name.field
+ "series" series optional.field
+ "volume" volume optional.field
+ "publisher" publisher optional.field
+ "address" address optional.field
+ "pages" pages optional.pages.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inbook} { inproceedings }
+FUNCTION {incollection} { inproceedings }
+FUNCTION {conference} { inproceedings }
+FUNCTION {book} {
+ start.entry
+ "author" author optional.name.field
+ "editor" editor optional.name.field
+ "translator" translator optional.name.field
+ "title" title missing$ { booktitle } { title } if$
+ format.title write.field
+ "subtitle" subtitle optional.title.field
+ "type" type optional.type.field
+ "language" language optional.field
+ "conference" meeting optional.field
+ "edition" edition optional.edition.field
+ "series" series optional.field
+ "publisher" publisher optional.field
+ organization missing.or.empty
+ { "institution" institution optional.field }
+ { "organization" organization optional.field }
+ if$
+ "address" address optional.field
+ "how" howpublished optional.field
+ "date" year write.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "ISBN" isbn optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {booklet} { book }
+FUNCTION {manual} { book }
+FUNCTION {mastersthesis} { book }
+
+FUNCTION {phdthesis} { book }
+
+FUNCTION {proceedings} { book }
+
+FUNCTION {collection} { book }
+
+FUNCTION {techreport} { book }
+
+FUNCTION {unpublished} { book }
+
+FUNCTION {misc} { book }
+
+FUNCTION {default.type} { misc }
+
+
+READ
+
+FUNCTION {chop.word} {
+ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {sort.format.title} {
+ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {sort.format.names} {
+ 's :=
+ #1 'ptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { ptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s ptr "{ll}{ ff}{ jj}" format.name$ 't :=
+ ptr numnames = t "others" = AND
+ { "et al" }
+ { t sortify }
+ if$
+ #20 rpad *
+ ptr #1 + 'ptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {sort.warning} {
+ "to sort, need " swap$ * " or key in " * cite$ * warning$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "author" sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "author, editor," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "author, organization," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "editor, organization," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort} {
+ type$ "book" = type$ "inbook" = OR type$ "collection" = OR
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ year field.or.null sortify #12 rpad * " " *
+ title field.or.null sort.format.title *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {presort}
+
+SORT
+FUNCTION {write.with.newlines}
+{ 's := #1 'ptr :=
+ { s ptr #2 + #1 substring$ "" = NOT }
+ { s ptr #3 substring$ "^^M" =
+ { s #1 ptr #1 - substring$ write$ newline$
+ ptr #3 + 'ptr :=
+ s ptr global.max$ substring$ 's :=
+ #1 'ptr :=
+ }
+ { incr.ptr }
+ if$
+ }
+ while$
+ s write$ newline$
+}
+FUNCTION {begin.bib} {
+ preamble$ empty$
+ 'skip$
+ { preamble$ write.with.newlines }
+ if$
+ "% \bib, bibdiv, biblist are defined by the amsrefs package."
+ write$ newline$
+ "\begin{bibdiv}" write$ newline$
+ "\begin{biblist}" write$ newline$
+}
+FUNCTION {end.bib} {
+ newline$
+ "\end{biblist}" write$ newline$
+ "\end{bibdiv}" write$ newline$
+}
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `amsrn.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/amslatex/amsrs.bst b/Master/texmf-dist/bibtex/bst/amslatex/amsrs.bst
new file mode 100644
index 00000000000..4f090f7af73
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/amslatex/amsrs.bst
@@ -0,0 +1,773 @@
+%%
+%% This is file `amsrs.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% amsxport.dtx (with options: `bst,sort,short')
+%%
+%%% ====================================================================
+%%% @BibTeX-source-file{
+%%% filename = "amsxport.dtx",
+%%% version = "2.00",
+%%% date = "2004/06/28",
+%%% time = "14:50:12 EDT",
+%%% author = "Michael J Downes",
+%%% address = "American Mathematical Society,
+%%% Publications Technical Group,
+%%% PO Box 6248,
+%%% Providence, RI 02940,
+%%% USA",
+%%% email = "tech-support at ams.org",
+%%% URL = "http://www.ams.org/",
+%%% abstract = "The BibTeX style file amsxport.bst produces .bbl
+%%% entries where most of the database structure is
+%%% retained. This is intended for processing by a smart
+%%% bibliography package such as the amsrefs package.",
+%%% checksum = "40425 1822 6396 51551",
+%%% docstring = "The checksum field, produced by Robert Solovay's
+%%% checksum utility, gives CRC-16 checksum, lines,
+%%% words, and characters.",
+%%% }
+%%% ====================================================================
+ENTRY
+ {
+ address institution number status
+ archive isbn organization subtitle
+ author issn pages title
+ booktitle journal part translator
+ chapter key pii type
+ date language preprint url
+ edition meeting publisher volume
+ editor month review xid
+ eprint mrnumber school year
+ howpublished note series
+ }
+ { }
+ { label }
+MACRO {jan} {"-01"}
+MACRO {feb} {"-02"}
+MACRO {mar} {"-03"}
+MACRO {apr} {"-04"}
+MACRO {may} {"-05"}
+MACRO {jun} {"-06"}
+MACRO {jul} {"-07"}
+MACRO {aug} {"-08"}
+MACRO {sep} {"-09"}
+MACRO {oct} {"-10"}
+MACRO {nov} {"-11"}
+MACRO {dec} {"-12"}
+STRINGS { p s t l }
+INTEGERS { len ptr }
+
+FUNCTION {NOT} { { #0 } { #1 } if$ }
+
+FUNCTION {AND} { 'skip$ { pop$ #0 } if$ }
+
+FUNCTION {OR} { { pop$ #1 } 'skip$ if$ }
+
+FUNCTION {TRUE} { #1 }
+
+FUNCTION {FALSE} { #0 }
+
+FUNCTION {incr.ptr} { ptr #1 + 'ptr := }
+
+FUNCTION {current.char} { ptr #1 substring$ }
+FUNCTION {copy.two.chars} { t * incr.ptr s current.char * incr.ptr }
+
+FUNCTION {is.digit} {
+ chr.to.int$
+ duplicate$
+ "0" chr.to.int$ #1 - >
+ swap$
+ "9" chr.to.int$ #1 + <
+ AND
+}
+
+FUNCTION {is.lowercase.letter} {
+ chr.to.int$ duplicate$
+ "a" chr.to.int$ #1 - >
+ swap$
+ "z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.uppercase.letter} {
+ chr.to.int$ duplicate$
+ "A" chr.to.int$ #1 - >
+ swap$
+ "Z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.letter} {
+ duplicate$
+ is.lowercase.letter
+ { pop$ TRUE }
+ { is.uppercase.letter }
+ if$
+}
+FUNCTION {skip.accent} { pop$ incr.ptr }
+FUNCTION {strip.label} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s ptr #1 substring$ duplicate$ empty$ NOT }
+ { duplicate$ is.letter
+ { * }
+ { duplicate$ "\" =
+ { skip.accent }
+ 'pop$
+ if$
+ }
+ if$
+ incr.ptr
+ }
+ while$
+ pop$
+}
+FUNCTION {sortify} {
+ purify$
+ "l" change.case$
+}
+FUNCTION {rpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ l " " * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {lpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ " " l * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {field.or.null} {
+ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {missing.or.empty} { duplicate$ missing$ swap$ empty$ OR }
+
+FUNCTION {append.ndash.and.skip.hyphens} {
+ "\ndash " *
+ incr.ptr
+ { s current.char "-" = }
+ { incr.ptr }
+ while$
+}
+FUNCTION {n.dashify} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s current.char 't := t "" = NOT }
+ { t "\" =
+ { copy.two.chars }
+ { t "-" =
+ { append.ndash.and.skip.hyphens }
+ { t * incr.ptr }
+ if$
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {missing.warning} {
+ "missing " swap$ * " in " * cite$ * warning$
+}
+
+INTEGERS { string.ptr }
+
+FUNCTION {string.length} {
+ #1 'string.ptr :=
+ { duplicate$ string.ptr #1 substring$ "" = 'FALSE 'TRUE if$ }
+ { string.ptr #1 + 'string.ptr := }
+ while$
+ pop$
+ string.ptr #1 -
+}
+FUNCTION {format.title}{
+ duplicate$
+ missing.or.empty
+ { pop$ "" }
+ { "t" change.case$ }
+ if$
+}
+FUNCTION {start.field} {
+ #12 lpad "={" * write$
+}
+FUNCTION {fin.field} { "}," write$ newline$ }
+
+FUNCTION {write.field} {
+ duplicate$
+ missing$
+ { pop$ missing.warning }
+ { duplicate$ empty$
+ { pop$ missing.warning }
+ { swap$ start.field write$ fin.field }
+ if$
+ }
+ if$
+}
+FUNCTION {optional.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.title.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { format.title swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.pages.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ n.dashify
+ write$ fin.field
+ }
+ if$
+}
+FUNCTION {optional.mr.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ {
+ swap$ start.field
+ "\MR{" swap$ * "}" * write$ fin.field
+ }
+ if$
+}
+FUNCTION {remove.ordinal.suffix} {
+ 's :=
+ s string.length 'len :=
+ #1 'ptr :=
+ { ptr len < s ptr #1 substring$ is.digit AND }
+ 'incr.ptr
+ while$
+ s ptr global.max$ substring$ 'p :=
+ p "st" =
+ { TRUE }
+ { p "nd" =
+ { TRUE }
+ { p "rd" =
+ { TRUE }
+ { p "th" =
+ { TRUE }
+ { FALSE }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ { s #1 ptr #1 - substring$ }
+ { s }
+ if$
+}
+FUNCTION {optional.edition.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ remove.ordinal.suffix
+ write$ fin.field
+ }
+ if$
+}
+INTEGERS { nameptr numnames namesleft }
+STRINGS { namelist fieldname }
+FUNCTION {format.name} { "{vv~}{ll}{, ff}{, jj}" format.name$ }
+
+FUNCTION {optional.name.field}{
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ 'fieldname :=
+ duplicate$ num.names$
+ 'namesleft :=
+ #1 'ptr :=
+ { namesleft #0 > }
+ { fieldname start.field
+ duplicate$ ptr format.name write$
+ fin.field
+ ptr #1 + 'ptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ pop$
+ }
+ if$
+}
+FUNCTION {assemble.date.field}
+{ date missing$
+ { year missing.or.empty
+ { status missing.or.empty
+ { "No year or other date information for "
+ cite$ * warning$ }
+ 'skip$
+ if$
+ "status"
+ }
+ { year month missing$ { "" } { month } if$ * }
+ if$
+ }
+ { date }
+ if$
+ duplicate$ "status" =
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.journal.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ {
+ 's :=
+ start.field
+ #1 'ptr :=
+ s current.char is.lowercase.letter
+ {
+ s "/" * 's :=
+ { s ptr #1 substring$ "/" = NOT }
+ { incr.ptr }
+ while$
+ s ptr #1 + #1 substring$ empty$
+ { s #1 ptr #1 - substring$ }
+ {
+ s #1 ptr #1 - substring$
+ write$
+ fin.field
+ "ISSN" start.field
+ s ptr #1 + #9 substring$
+ }
+ if$
+ }
+ { s }
+ if$
+ write$
+ fin.field
+ }
+ if$
+}
+FUNCTION {optional.type.field}
+{ duplicate$ missing.or.empty
+ { type$ "mastersthesis" = { "Master's Thesis" }
+ { type$ "phdthesis" = { "Ph.D. Thesis" }
+ { "" } if$ } if$
+ swap$ pop$
+ }
+ 'skip$
+ if$
+ duplicate$ empty$
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {url.note.status.review} {
+ "url" url optional.field
+ "note" note optional.field
+ "status" status optional.field
+ "review" review optional.field
+ "review" mrnumber optional.mr.field
+}
+FUNCTION {start.entry} {
+ newline$
+ "\bib{" cite$ * "}{" *
+ type$ "mastersthesis" = type$ "phdthesis" = OR
+ { "thesis" }
+ { type$ }
+ if$
+ * "}{" * write$
+ newline$
+}
+FUNCTION {fin.entry} {
+ "}" write$
+ newline$
+}
+FUNCTION {article} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "ISSN" issn optional.field
+ "journal" journal optional.journal.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "pages" pages optional.pages.field
+ "PII" pii optional.field
+ "archive" archive optional.field
+ "eprint" eprint optional.field
+ "preprint" preprint optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inproceedings} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "xid" xid optional.field
+ "conference" meeting optional.field
+ "booktitle" booktitle optional.title.field
+ "edition" edition optional.edition.field
+ "editor" editor optional.name.field
+ "series" series optional.field
+ "volume" volume optional.field
+ "publisher" publisher optional.field
+ "address" address optional.field
+ "pages" pages optional.pages.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inbook} { inproceedings }
+FUNCTION {incollection} { inproceedings }
+FUNCTION {conference} { inproceedings }
+FUNCTION {book} {
+ start.entry
+ "author" author optional.name.field
+ "editor" editor optional.name.field
+ "translator" translator optional.name.field
+ "title" title missing$ { booktitle } { title } if$
+ format.title write.field
+ "subtitle" subtitle optional.title.field
+ "type" type optional.type.field
+ "language" language optional.field
+ "conference" meeting optional.field
+ "edition" edition optional.edition.field
+ "series" series optional.field
+ "publisher" publisher optional.field
+ organization missing.or.empty
+ { "institution" institution optional.field }
+ { "organization" organization optional.field }
+ if$
+ "address" address optional.field
+ "how" howpublished optional.field
+ "date" year write.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "ISBN" isbn optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {booklet} { book }
+FUNCTION {manual} { book }
+FUNCTION {mastersthesis} { book }
+
+FUNCTION {phdthesis} { book }
+
+FUNCTION {proceedings} { book }
+
+FUNCTION {collection} { book }
+
+FUNCTION {techreport} { book }
+
+FUNCTION {unpublished} { book }
+
+FUNCTION {misc} { book }
+
+FUNCTION {default.type} { misc }
+
+
+READ
+
+FUNCTION {chop.word} {
+ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {sort.format.title} {
+ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {format.lab.names} {
+ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" * }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" * }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #1 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+{ cite$ #1 #3 substring$ }
+{ key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+{ key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+}
+{ editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+{ organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+}
+{ key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+{ organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+}
+{ key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}{
+ type$ "book" = type$ "inbook" = OR
+ 'author.editor.key.label
+ { type$ "proceedings" =
+'editor.key.organization.label
+{ type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+}
+ if$
+ }
+ if$
+ strip.label
+ sortify
+ 'label :=
+}
+FUNCTION {sort.format.names} {
+ 's :=
+ #1 'ptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { ptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s ptr "{ll}{ ff}{ jj}" format.name$ 't :=
+ ptr numnames = t "others" = AND
+ { "et al" }
+ { t sortify }
+ if$
+ #20 rpad *
+ ptr #1 + 'ptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {sort.warning} {
+ "to sort, need " swap$ * " or key in " * cite$ * warning$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "author" sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "author, editor," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "author, organization," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "editor, organization," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort} {
+ calc.label
+ label #20 rpad
+ type$ "book" = type$ "inbook" = OR type$ "collection" = OR
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ * " " *
+ year field.or.null sortify #12 rpad * " " *
+ title field.or.null sort.format.title *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {presort}
+
+SORT
+FUNCTION {write.with.newlines}
+{ 's := #1 'ptr :=
+ { s ptr #2 + #1 substring$ "" = NOT }
+ { s ptr #3 substring$ "^^M" =
+ { s #1 ptr #1 - substring$ write$ newline$
+ ptr #3 + 'ptr :=
+ s ptr global.max$ substring$ 's :=
+ #1 'ptr :=
+ }
+ { incr.ptr }
+ if$
+ }
+ while$
+ s write$ newline$
+}
+FUNCTION {begin.bib} {
+ preamble$ empty$
+ 'skip$
+ { preamble$ write.with.newlines }
+ if$
+ "% \bib, bibdiv, biblist are defined by the amsrefs package."
+ write$ newline$
+ "\begin{bibdiv}" write$ newline$
+ "\begin{biblist}" write$ newline$
+}
+FUNCTION {end.bib} {
+ newline$
+ "\end{biblist}" write$ newline$
+ "\end{bibdiv}" write$ newline$
+}
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `amsrs.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/amslatex/amsru.bst b/Master/texmf-dist/bibtex/bst/amslatex/amsru.bst
new file mode 100644
index 00000000000..28371381afb
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/amslatex/amsru.bst
@@ -0,0 +1,536 @@
+%%
+%% This is file `amsru.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% amsxport.dtx (with options: `bst,plain')
+%%
+%%% ====================================================================
+%%% @BibTeX-source-file{
+%%% filename = "amsxport.dtx",
+%%% version = "2.00",
+%%% date = "2004/06/28",
+%%% time = "14:50:12 EDT",
+%%% author = "Michael J Downes",
+%%% address = "American Mathematical Society,
+%%% Publications Technical Group,
+%%% PO Box 6248,
+%%% Providence, RI 02940,
+%%% USA",
+%%% email = "tech-support at ams.org",
+%%% URL = "http://www.ams.org/",
+%%% abstract = "The BibTeX style file amsxport.bst produces .bbl
+%%% entries where most of the database structure is
+%%% retained. This is intended for processing by a smart
+%%% bibliography package such as the amsrefs package.",
+%%% checksum = "40425 1822 6396 51551",
+%%% docstring = "The checksum field, produced by Robert Solovay's
+%%% checksum utility, gives CRC-16 checksum, lines,
+%%% words, and characters.",
+%%% }
+%%% ====================================================================
+ENTRY
+ {
+ address institution number status
+ archive isbn organization subtitle
+ author issn pages title
+ booktitle journal part translator
+ chapter key pii type
+ date language preprint url
+ edition meeting publisher volume
+ editor month review xid
+ eprint mrnumber school year
+ howpublished note series
+ }
+ { }
+ { label }
+MACRO {jan} {"-01"}
+MACRO {feb} {"-02"}
+MACRO {mar} {"-03"}
+MACRO {apr} {"-04"}
+MACRO {may} {"-05"}
+MACRO {jun} {"-06"}
+MACRO {jul} {"-07"}
+MACRO {aug} {"-08"}
+MACRO {sep} {"-09"}
+MACRO {oct} {"-10"}
+MACRO {nov} {"-11"}
+MACRO {dec} {"-12"}
+STRINGS { p s t l }
+INTEGERS { len ptr }
+
+FUNCTION {NOT} { { #0 } { #1 } if$ }
+
+FUNCTION {AND} { 'skip$ { pop$ #0 } if$ }
+
+FUNCTION {OR} { { pop$ #1 } 'skip$ if$ }
+
+FUNCTION {TRUE} { #1 }
+
+FUNCTION {FALSE} { #0 }
+
+FUNCTION {incr.ptr} { ptr #1 + 'ptr := }
+
+FUNCTION {current.char} { ptr #1 substring$ }
+FUNCTION {copy.two.chars} { t * incr.ptr s current.char * incr.ptr }
+
+FUNCTION {is.digit} {
+ chr.to.int$
+ duplicate$
+ "0" chr.to.int$ #1 - >
+ swap$
+ "9" chr.to.int$ #1 + <
+ AND
+}
+
+FUNCTION {is.lowercase.letter} {
+ chr.to.int$ duplicate$
+ "a" chr.to.int$ #1 - >
+ swap$
+ "z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.uppercase.letter} {
+ chr.to.int$ duplicate$
+ "A" chr.to.int$ #1 - >
+ swap$
+ "Z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.letter} {
+ duplicate$
+ is.lowercase.letter
+ { pop$ TRUE }
+ { is.uppercase.letter }
+ if$
+}
+FUNCTION {skip.accent} { pop$ incr.ptr }
+FUNCTION {strip.label} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s ptr #1 substring$ duplicate$ empty$ NOT }
+ { duplicate$ is.letter
+ { * }
+ { duplicate$ "\" =
+ { skip.accent }
+ 'pop$
+ if$
+ }
+ if$
+ incr.ptr
+ }
+ while$
+ pop$
+}
+FUNCTION {sortify} {
+ purify$
+ "l" change.case$
+}
+FUNCTION {rpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ l " " * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {lpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ " " l * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {field.or.null} {
+ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {missing.or.empty} { duplicate$ missing$ swap$ empty$ OR }
+
+FUNCTION {append.ndash.and.skip.hyphens} {
+ "\ndash " *
+ incr.ptr
+ { s current.char "-" = }
+ { incr.ptr }
+ while$
+}
+FUNCTION {n.dashify} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s current.char 't := t "" = NOT }
+ { t "\" =
+ { copy.two.chars }
+ { t "-" =
+ { append.ndash.and.skip.hyphens }
+ { t * incr.ptr }
+ if$
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {missing.warning} {
+ "missing " swap$ * " in " * cite$ * warning$
+}
+
+INTEGERS { string.ptr }
+
+FUNCTION {string.length} {
+ #1 'string.ptr :=
+ { duplicate$ string.ptr #1 substring$ "" = 'FALSE 'TRUE if$ }
+ { string.ptr #1 + 'string.ptr := }
+ while$
+ pop$
+ string.ptr #1 -
+}
+FUNCTION {format.title}{
+ duplicate$
+ missing.or.empty
+ { pop$ "" }
+ { "t" change.case$ }
+ if$
+}
+FUNCTION {start.field} {
+ #12 lpad "={" * write$
+}
+FUNCTION {fin.field} { "}," write$ newline$ }
+
+FUNCTION {write.field} {
+ duplicate$
+ missing$
+ { pop$ missing.warning }
+ { duplicate$ empty$
+ { pop$ missing.warning }
+ { swap$ start.field write$ fin.field }
+ if$
+ }
+ if$
+}
+FUNCTION {optional.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.title.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { format.title swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.pages.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ n.dashify
+ write$ fin.field
+ }
+ if$
+}
+FUNCTION {optional.mr.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ {
+ swap$ start.field
+ "\MR{" swap$ * "}" * write$ fin.field
+ }
+ if$
+}
+FUNCTION {remove.ordinal.suffix} {
+ 's :=
+ s string.length 'len :=
+ #1 'ptr :=
+ { ptr len < s ptr #1 substring$ is.digit AND }
+ 'incr.ptr
+ while$
+ s ptr global.max$ substring$ 'p :=
+ p "st" =
+ { TRUE }
+ { p "nd" =
+ { TRUE }
+ { p "rd" =
+ { TRUE }
+ { p "th" =
+ { TRUE }
+ { FALSE }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ { s #1 ptr #1 - substring$ }
+ { s }
+ if$
+}
+FUNCTION {optional.edition.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ remove.ordinal.suffix
+ write$ fin.field
+ }
+ if$
+}
+INTEGERS { nameptr numnames namesleft }
+STRINGS { namelist fieldname }
+FUNCTION {format.name} { "{vv~}{ll}{, ff}{, jj}" format.name$ }
+
+FUNCTION {optional.name.field}{
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ 'fieldname :=
+ duplicate$ num.names$
+ 'namesleft :=
+ #1 'ptr :=
+ { namesleft #0 > }
+ { fieldname start.field
+ duplicate$ ptr format.name write$
+ fin.field
+ ptr #1 + 'ptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ pop$
+ }
+ if$
+}
+FUNCTION {assemble.date.field}
+{ date missing$
+ { year missing.or.empty
+ { status missing.or.empty
+ { "No year or other date information for "
+ cite$ * warning$ }
+ 'skip$
+ if$
+ "status"
+ }
+ { year month missing$ { "" } { month } if$ * }
+ if$
+ }
+ { date }
+ if$
+ duplicate$ "status" =
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.journal.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ {
+ 's :=
+ start.field
+ #1 'ptr :=
+ s current.char is.lowercase.letter
+ {
+ s "/" * 's :=
+ { s ptr #1 substring$ "/" = NOT }
+ { incr.ptr }
+ while$
+ s ptr #1 + #1 substring$ empty$
+ { s #1 ptr #1 - substring$ }
+ {
+ s #1 ptr #1 - substring$
+ write$
+ fin.field
+ "ISSN" start.field
+ s ptr #1 + #9 substring$
+ }
+ if$
+ }
+ { s }
+ if$
+ write$
+ fin.field
+ }
+ if$
+}
+FUNCTION {optional.type.field}
+{ duplicate$ missing.or.empty
+ { type$ "mastersthesis" = { "Master's Thesis" }
+ { type$ "phdthesis" = { "Ph.D. Thesis" }
+ { "" } if$ } if$
+ swap$ pop$
+ }
+ 'skip$
+ if$
+ duplicate$ empty$
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {url.note.status.review} {
+ "url" url optional.field
+ "note" note optional.field
+ "status" status optional.field
+ "review" review optional.field
+ "review" mrnumber optional.mr.field
+}
+FUNCTION {start.entry} {
+ newline$
+ "\bib{" cite$ * "}{" *
+ type$ "mastersthesis" = type$ "phdthesis" = OR
+ { "thesis" }
+ { type$ }
+ if$
+ * "}{" * write$
+ newline$
+}
+FUNCTION {fin.entry} {
+ "}" write$
+ newline$
+}
+FUNCTION {article} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "ISSN" issn optional.field
+ "journal" journal optional.journal.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "pages" pages optional.pages.field
+ "PII" pii optional.field
+ "archive" archive optional.field
+ "eprint" eprint optional.field
+ "preprint" preprint optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inproceedings} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "xid" xid optional.field
+ "conference" meeting optional.field
+ "booktitle" booktitle optional.title.field
+ "edition" edition optional.edition.field
+ "editor" editor optional.name.field
+ "series" series optional.field
+ "volume" volume optional.field
+ "publisher" publisher optional.field
+ "address" address optional.field
+ "pages" pages optional.pages.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inbook} { inproceedings }
+FUNCTION {incollection} { inproceedings }
+FUNCTION {conference} { inproceedings }
+FUNCTION {book} {
+ start.entry
+ "author" author optional.name.field
+ "editor" editor optional.name.field
+ "translator" translator optional.name.field
+ "title" title missing$ { booktitle } { title } if$
+ format.title write.field
+ "subtitle" subtitle optional.title.field
+ "type" type optional.type.field
+ "language" language optional.field
+ "conference" meeting optional.field
+ "edition" edition optional.edition.field
+ "series" series optional.field
+ "publisher" publisher optional.field
+ organization missing.or.empty
+ { "institution" institution optional.field }
+ { "organization" organization optional.field }
+ if$
+ "address" address optional.field
+ "how" howpublished optional.field
+ "date" year write.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "ISBN" isbn optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {booklet} { book }
+FUNCTION {manual} { book }
+FUNCTION {mastersthesis} { book }
+
+FUNCTION {phdthesis} { book }
+
+FUNCTION {proceedings} { book }
+
+FUNCTION {collection} { book }
+
+FUNCTION {techreport} { book }
+
+FUNCTION {unpublished} { book }
+
+FUNCTION {misc} { book }
+
+FUNCTION {default.type} { misc }
+
+
+READ
+
+FUNCTION {write.with.newlines}
+{ 's := #1 'ptr :=
+ { s ptr #2 + #1 substring$ "" = NOT }
+ { s ptr #3 substring$ "^^M" =
+ { s #1 ptr #1 - substring$ write$ newline$
+ ptr #3 + 'ptr :=
+ s ptr global.max$ substring$ 's :=
+ #1 'ptr :=
+ }
+ { incr.ptr }
+ if$
+ }
+ while$
+ s write$ newline$
+}
+FUNCTION {begin.bib} {
+ preamble$ empty$
+ 'skip$
+ { preamble$ write.with.newlines }
+ if$
+ "% \bib, bibdiv, biblist are defined by the amsrefs package."
+ write$ newline$
+ "\begin{bibdiv}" write$ newline$
+ "\begin{biblist}" write$ newline$
+}
+FUNCTION {end.bib} {
+ newline$
+ "\end{biblist}" write$ newline$
+ "\end{bibdiv}" write$ newline$
+}
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `amsru.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/amslatex/amsry.bst b/Master/texmf-dist/bibtex/bst/amslatex/amsry.bst
new file mode 100644
index 00000000000..7e8a03e3035
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/amslatex/amsry.bst
@@ -0,0 +1,774 @@
+%%
+%% This is file `amsry.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% amsxport.dtx (with options: `bst,sort,alpha,y2k')
+%%
+%%% ====================================================================
+%%% @BibTeX-source-file{
+%%% filename = "amsxport.dtx",
+%%% version = "2.00",
+%%% date = "2004/06/28",
+%%% time = "14:50:12 EDT",
+%%% author = "Michael J Downes",
+%%% address = "American Mathematical Society,
+%%% Publications Technical Group,
+%%% PO Box 6248,
+%%% Providence, RI 02940,
+%%% USA",
+%%% email = "tech-support at ams.org",
+%%% URL = "http://www.ams.org/",
+%%% abstract = "The BibTeX style file amsxport.bst produces .bbl
+%%% entries where most of the database structure is
+%%% retained. This is intended for processing by a smart
+%%% bibliography package such as the amsrefs package.",
+%%% checksum = "40425 1822 6396 51551",
+%%% docstring = "The checksum field, produced by Robert Solovay's
+%%% checksum utility, gives CRC-16 checksum, lines,
+%%% words, and characters.",
+%%% }
+%%% ====================================================================
+ENTRY
+ {
+ address institution number status
+ archive isbn organization subtitle
+ author issn pages title
+ booktitle journal part translator
+ chapter key pii type
+ date language preprint url
+ edition meeting publisher volume
+ editor month review xid
+ eprint mrnumber school year
+ howpublished note series
+ }
+ { }
+ { label }
+MACRO {jan} {"-01"}
+MACRO {feb} {"-02"}
+MACRO {mar} {"-03"}
+MACRO {apr} {"-04"}
+MACRO {may} {"-05"}
+MACRO {jun} {"-06"}
+MACRO {jul} {"-07"}
+MACRO {aug} {"-08"}
+MACRO {sep} {"-09"}
+MACRO {oct} {"-10"}
+MACRO {nov} {"-11"}
+MACRO {dec} {"-12"}
+STRINGS { p s t l }
+INTEGERS { len ptr }
+
+FUNCTION {NOT} { { #0 } { #1 } if$ }
+
+FUNCTION {AND} { 'skip$ { pop$ #0 } if$ }
+
+FUNCTION {OR} { { pop$ #1 } 'skip$ if$ }
+
+FUNCTION {TRUE} { #1 }
+
+FUNCTION {FALSE} { #0 }
+
+FUNCTION {incr.ptr} { ptr #1 + 'ptr := }
+
+FUNCTION {current.char} { ptr #1 substring$ }
+FUNCTION {copy.two.chars} { t * incr.ptr s current.char * incr.ptr }
+
+FUNCTION {is.digit} {
+ chr.to.int$
+ duplicate$
+ "0" chr.to.int$ #1 - >
+ swap$
+ "9" chr.to.int$ #1 + <
+ AND
+}
+
+FUNCTION {is.lowercase.letter} {
+ chr.to.int$ duplicate$
+ "a" chr.to.int$ #1 - >
+ swap$
+ "z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.uppercase.letter} {
+ chr.to.int$ duplicate$
+ "A" chr.to.int$ #1 - >
+ swap$
+ "Z" chr.to.int$ #1 + <
+ AND
+}
+FUNCTION {is.letter} {
+ duplicate$
+ is.lowercase.letter
+ { pop$ TRUE }
+ { is.uppercase.letter }
+ if$
+}
+FUNCTION {skip.accent} { pop$ incr.ptr }
+FUNCTION {strip.label} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s ptr #1 substring$ duplicate$ empty$ NOT }
+ { duplicate$ is.letter
+ { * }
+ { duplicate$ "\" =
+ { skip.accent }
+ 'pop$
+ if$
+ }
+ if$
+ incr.ptr
+ }
+ while$
+ pop$
+}
+FUNCTION {sortify} {
+ purify$
+ "l" change.case$
+}
+FUNCTION {rpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ l " " * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {lpad} {
+ swap$
+ 'l :=
+ l text.length$ - 'len :=
+ { len #0 > }
+ {
+ " " l * 'l :=
+ len #1 - 'len :=
+ }
+ while$
+ l
+}
+FUNCTION {field.or.null} {
+ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {missing.or.empty} { duplicate$ missing$ swap$ empty$ OR }
+
+FUNCTION {append.ndash.and.skip.hyphens} {
+ "\ndash " *
+ incr.ptr
+ { s current.char "-" = }
+ { incr.ptr }
+ while$
+}
+FUNCTION {n.dashify} {
+ 's :=
+ #1 'ptr :=
+ ""
+ { s current.char 't := t "" = NOT }
+ { t "\" =
+ { copy.two.chars }
+ { t "-" =
+ { append.ndash.and.skip.hyphens }
+ { t * incr.ptr }
+ if$
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {missing.warning} {
+ "missing " swap$ * " in " * cite$ * warning$
+}
+
+INTEGERS { string.ptr }
+
+FUNCTION {string.length} {
+ #1 'string.ptr :=
+ { duplicate$ string.ptr #1 substring$ "" = 'FALSE 'TRUE if$ }
+ { string.ptr #1 + 'string.ptr := }
+ while$
+ pop$
+ string.ptr #1 -
+}
+FUNCTION {format.title}{
+ duplicate$
+ missing.or.empty
+ { pop$ "" }
+ { "t" change.case$ }
+ if$
+}
+FUNCTION {start.field} {
+ #12 lpad "={" * write$
+}
+FUNCTION {fin.field} { "}," write$ newline$ }
+
+FUNCTION {write.field} {
+ duplicate$
+ missing$
+ { pop$ missing.warning }
+ { duplicate$ empty$
+ { pop$ missing.warning }
+ { swap$ start.field write$ fin.field }
+ if$
+ }
+ if$
+}
+FUNCTION {optional.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.title.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { format.title swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.pages.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ n.dashify
+ write$ fin.field
+ }
+ if$
+}
+FUNCTION {optional.mr.field} {
+ duplicate$
+ missing.or.empty
+ { pop$ pop$ }
+ {
+ swap$ start.field
+ "\MR{" swap$ * "}" * write$ fin.field
+ }
+ if$
+}
+FUNCTION {remove.ordinal.suffix} {
+ 's :=
+ s string.length 'len :=
+ #1 'ptr :=
+ { ptr len < s ptr #1 substring$ is.digit AND }
+ 'incr.ptr
+ while$
+ s ptr global.max$ substring$ 'p :=
+ p "st" =
+ { TRUE }
+ { p "nd" =
+ { TRUE }
+ { p "rd" =
+ { TRUE }
+ { p "th" =
+ { TRUE }
+ { FALSE }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ { s #1 ptr #1 - substring$ }
+ { s }
+ if$
+}
+FUNCTION {optional.edition.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ start.field
+ remove.ordinal.suffix
+ write$ fin.field
+ }
+ if$
+}
+INTEGERS { nameptr numnames namesleft }
+STRINGS { namelist fieldname }
+FUNCTION {format.name} { "{vv~}{ll}{, ff}{, jj}" format.name$ }
+
+FUNCTION {optional.name.field}{
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ { swap$ 'fieldname :=
+ duplicate$ num.names$
+ 'namesleft :=
+ #1 'ptr :=
+ { namesleft #0 > }
+ { fieldname start.field
+ duplicate$ ptr format.name write$
+ fin.field
+ ptr #1 + 'ptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ pop$
+ }
+ if$
+}
+FUNCTION {assemble.date.field}
+{ date missing$
+ { year missing.or.empty
+ { status missing.or.empty
+ { "No year or other date information for "
+ cite$ * warning$ }
+ 'skip$
+ if$
+ "status"
+ }
+ { year month missing$ { "" } { month } if$ * }
+ if$
+ }
+ { date }
+ if$
+ duplicate$ "status" =
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {optional.journal.field} {
+ duplicate$ missing.or.empty
+ { pop$ pop$ }
+ {
+ 's :=
+ start.field
+ #1 'ptr :=
+ s current.char is.lowercase.letter
+ {
+ s "/" * 's :=
+ { s ptr #1 substring$ "/" = NOT }
+ { incr.ptr }
+ while$
+ s ptr #1 + #1 substring$ empty$
+ { s #1 ptr #1 - substring$ }
+ {
+ s #1 ptr #1 - substring$
+ write$
+ fin.field
+ "ISSN" start.field
+ s ptr #1 + #9 substring$
+ }
+ if$
+ }
+ { s }
+ if$
+ write$
+ fin.field
+ }
+ if$
+}
+FUNCTION {optional.type.field}
+{ duplicate$ missing.or.empty
+ { type$ "mastersthesis" = { "Master's Thesis" }
+ { type$ "phdthesis" = { "Ph.D. Thesis" }
+ { "" } if$ } if$
+ swap$ pop$
+ }
+ 'skip$
+ if$
+ duplicate$ empty$
+ { pop$ pop$ }
+ { swap$ start.field write$ fin.field }
+ if$
+}
+FUNCTION {url.note.status.review} {
+ "url" url optional.field
+ "note" note optional.field
+ "status" status optional.field
+ "review" review optional.field
+ "review" mrnumber optional.mr.field
+}
+FUNCTION {start.entry} {
+ newline$
+ "\bib{" cite$ * "}{" *
+ type$ "mastersthesis" = type$ "phdthesis" = OR
+ { "thesis" }
+ { type$ }
+ if$
+ * "}{" * write$
+ newline$
+}
+FUNCTION {fin.entry} {
+ "}" write$
+ newline$
+}
+FUNCTION {article} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "ISSN" issn optional.field
+ "journal" journal optional.journal.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "pages" pages optional.pages.field
+ "PII" pii optional.field
+ "archive" archive optional.field
+ "eprint" eprint optional.field
+ "preprint" preprint optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inproceedings} {
+ start.entry
+ "author" author optional.name.field
+ "translator" translator optional.name.field
+ "title" title format.title write.field
+ "subtitle" subtitle optional.title.field
+ "language" language optional.field
+ "organization" organization optional.field
+ "how" howpublished optional.field
+ "date" assemble.date.field
+ "xid" xid optional.field
+ "conference" meeting optional.field
+ "booktitle" booktitle optional.title.field
+ "edition" edition optional.edition.field
+ "editor" editor optional.name.field
+ "series" series optional.field
+ "volume" volume optional.field
+ "publisher" publisher optional.field
+ "address" address optional.field
+ "pages" pages optional.pages.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {inbook} { inproceedings }
+FUNCTION {incollection} { inproceedings }
+FUNCTION {conference} { inproceedings }
+FUNCTION {book} {
+ start.entry
+ "author" author optional.name.field
+ "editor" editor optional.name.field
+ "translator" translator optional.name.field
+ "title" title missing$ { booktitle } { title } if$
+ format.title write.field
+ "subtitle" subtitle optional.title.field
+ "type" type optional.type.field
+ "language" language optional.field
+ "conference" meeting optional.field
+ "edition" edition optional.edition.field
+ "series" series optional.field
+ "publisher" publisher optional.field
+ organization missing.or.empty
+ { "institution" institution optional.field }
+ { "organization" organization optional.field }
+ if$
+ "address" address optional.field
+ "how" howpublished optional.field
+ "date" year write.field
+ "volume" volume optional.field
+ "number" number optional.field
+ "ISBN" isbn optional.field
+ url.note.status.review
+ fin.entry
+}
+FUNCTION {booklet} { book }
+FUNCTION {manual} { book }
+FUNCTION {mastersthesis} { book }
+
+FUNCTION {phdthesis} { book }
+
+FUNCTION {proceedings} { book }
+
+FUNCTION {collection} { book }
+
+FUNCTION {techreport} { book }
+
+FUNCTION {unpublished} { book }
+
+FUNCTION {misc} { book }
+
+FUNCTION {default.type} { misc }
+
+
+READ
+
+FUNCTION {chop.word} {
+ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {sort.format.title} {
+ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {format.lab.names} {
+ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" * }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" * }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+{ cite$ #1 #3 substring$ }
+{ key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+{ key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+}
+{ editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+{ organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+}
+{ key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+{ organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+}
+{ key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}{
+ type$ "book" = type$ "inbook" = OR
+ 'author.editor.key.label
+ { type$ "proceedings" =
+'editor.key.organization.label
+{ type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+}
+ if$
+ }
+ if$
+ strip.label
+ sortify
+ year field.or.null
+ purify$ *
+ 'label :=
+}
+FUNCTION {sort.format.names} {
+ 's :=
+ #1 'ptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { ptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s ptr "{ll}{ ff}{ jj}" format.name$ 't :=
+ ptr numnames = t "others" = AND
+ { "et al" }
+ { t sortify }
+ if$
+ #20 rpad *
+ ptr #1 + 'ptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {sort.warning} {
+ "to sort, need " swap$ * " or key in " * cite$ * warning$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "author" sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "author, editor," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "author, organization," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "editor, organization," sort.warning
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort} {
+ calc.label
+ label #20 rpad
+ type$ "book" = type$ "inbook" = OR type$ "collection" = OR
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ * " " *
+ title field.or.null sort.format.title *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {presort}
+
+SORT
+FUNCTION {write.with.newlines}
+{ 's := #1 'ptr :=
+ { s ptr #2 + #1 substring$ "" = NOT }
+ { s ptr #3 substring$ "^^M" =
+ { s #1 ptr #1 - substring$ write$ newline$
+ ptr #3 + 'ptr :=
+ s ptr global.max$ substring$ 's :=
+ #1 'ptr :=
+ }
+ { incr.ptr }
+ if$
+ }
+ while$
+ s write$ newline$
+}
+FUNCTION {begin.bib} {
+ preamble$ empty$
+ 'skip$
+ { preamble$ write.with.newlines }
+ if$
+ "% \bib, bibdiv, biblist are defined by the amsrefs package."
+ write$ newline$
+ "\begin{bibdiv}" write$ newline$
+ "\begin{biblist}" write$ newline$
+}
+FUNCTION {end.bib} {
+ newline$
+ "\end{biblist}" write$ newline$
+ "\end{bibdiv}" write$ newline$
+}
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `amsry.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/apacite/apacite.bst b/Master/texmf-dist/bibtex/bst/apacite/apacite.bst
new file mode 100644
index 00000000000..0097506a45e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/apacite/apacite.bst
@@ -0,0 +1,5091 @@
+% \iffalse meta-comment
+%
+% This is file `apacite.bst'.
+%
+% Copyright 1994-2005 Erik Meijer and any individual authors listed
+% elsewhere in this file. All rights reserved.
+%
+% This file is part of the `apacite' package.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% The list of all files belonging to the `apacite' package, with a
+% short description, is given in the file `manifest.txt'.
+%
+% \fi
+
+%% apacite.bst : reference list according to APA manual
+%% Written by Erik Meijer <e.meijer@eco.rug.nl>
+%% This version: [2005/06/08]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DECLARATION OF FIELDS, INTEGERS, AND STRINGS FOR EACH %
+% ENTRY %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ENTRY
+ { address
+ annote % not used
+ author
+ booktitle % for articles in books
+ chair % for lectures
+ chapter % for incollection, esp. internet documents
+ day
+ edition
+ editor
+ englishtitle % english translation of title in other language
+ firstkey % key for first citation
+ howpublished
+ institution % for technical reports
+ journal
+ key % key for second and later citations, or all
+ % citations if firstkey is missing
+ month
+ note
+ number % number of journal or report
+ organization % for unpublished
+ %
+ % for reprints, translations, etc.
+ %
+ originaladdress
+ originalbooktitle
+ originaledition
+ originaleditor
+ originaljournal
+ originalnumber
+ originalpages
+ originalpublisher
+ originalvolume
+ originalyear
+ %
+ % back to normal
+ %
+ pages
+ publisher
+ school % for theses
+ series % not used
+ symposium % for lectures
+ text % for literals
+ title
+ translator % translator of book (or article)
+ type % type of phdthesis (e.g., Doctoral dissertation)
+ % or type of article (e.g., Letter to the editor)
+ % etc.
+ volume
+ year
+ }
+ { title.number % for sorting titles
+ cite.initials % dummy (0-1) indicating whether or not
+ % initials of the 1st author must
+ % be used for citing
+ cite.num.names.full % number of names to be cited for full and
+ cite.num.names.short % short cite
+ add.to.year % For a, b, c, etc. after year
+ % in multiple citations with same author-year
+ }
+ { year.label % For sorting entries by year
+ author.year.sort.label % For sorting entries and checking whether
+ % initials should be added, how many authors
+ % should be cited and whether a, b, etc.
+ % after year is necessary
+ title.sort.label % for sorting titles
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DECLARATION OF GLOBAL INTEGERS AND STRINGS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+INTEGERS { len pos name.max old.number numnames numnames.old
+ nameptr lastname format.num.names cite.initials.old
+ cite.num.names.old add.to.year.old forward
+ multiresult dot
+ }
+
+STRINGS { s t u old.label field
+ aut1f aut1s aut1f.old aut1s.old
+ aut2 aut2.old
+ aut3 aut3.old
+ aut4 aut4.old
+ aut5 aut5.old
+ aut6 aut6.old
+ year.label.old
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% A small function for testing purposes.
+
+FUNCTION {test} { #0 }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% A small function (ideally replaced by a user-definable
+% MACRO) that indicates whether index entries must be
+% generated.
+
+FUNCTION {make.index} { #0 }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% MONTH MACROS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+MACRO {jan} {"{\APACSortNoop{01}}January"}
+
+MACRO {feb} {"{\APACSortNoop{02}}February"}
+
+MACRO {mar} {"{\APACSortNoop{03}}March"}
+
+MACRO {apr} {"{\APACSortNoop{04}}April"}
+
+MACRO {may} {"{\APACSortNoop{05}}May"}
+
+MACRO {jun} {"{\APACSortNoop{06}}June"}
+
+MACRO {jul} {"{\APACSortNoop{07}}July"}
+
+MACRO {aug} {"{\APACSortNoop{08}}August"}
+
+MACRO {sep} {"{\APACSortNoop{09}}September"}
+
+MACRO {oct} {"{\APACSortNoop{10}}October"}
+
+MACRO {nov} {"{\APACSortNoop{11}}November"}
+
+MACRO {dec} {"{\APACSortNoop{12}}December"}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% LOGICAL `NOT', `AND', AND `OR' %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logical 'not':
+% If the first element on the stack is A then this function
+% does the following:
+% push { #0 }
+% push { #1 }
+% So now the first 3 elements of the stack are
+% { #1 } { #0 } A
+% The first 3 are popped and subjected to 'if':
+% If A > 0 then { #0 } is executed, else { #1 } is executed:
+% if A > 0
+% then 0
+% else 1
+% So consider integers as logicals, where 1 = true and 0 = false,
+% then this does
+% (if A then false else true)
+% which is a logical 'not'.
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logical 'and':
+% If the first 2 elements on the stack are A B
+% then this function does the following:
+% push 'skip$
+% push { pop$ #0 }
+% So now first 4 elements are
+% { pop$ #0 } 'skip$ A B
+% The first 3 are popped and subjected to 'if' (B is on top of
+% the stack):
+% If A > 0 then 'skip$ is executed, else { pop$ #0 } is executed:
+% if A > 0
+% then (B stays on top of stack)
+% else (B is popped and #0 is pushed)
+% So consider integers as logicals, where 1 = true and 0 = false,
+% then this does
+% (if A then B else false)
+% which is a logical 'and'.
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logical 'or':
+% If the first 2 elements on the stack are A B
+% then this function does the following:
+% push { pop$ #1 }
+% push 'skip$
+% So now first 4 elements are
+% 'skip$ { pop$ #1 } A B
+% The first 3 are popped and subjected to 'if' (B is on top of
+% the stack):
+% If A > 0 then { pop$ #1 } is executed, else 'skip$ is executed:
+% if A > 0
+% then (B is popped and #1 is pushed)
+% else (B stays on top of stack)
+% So consider integers as logicals, where 1 = true and 0 = false,
+% then this does
+% (if A then true else B)
+% which is a logical 'or'.
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% GENERAL PURPOSE FUNCTIONS FOR FORMATTING %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % issues warning if field is empty
+ % call with
+ % "field" field warning.if.empty
+ % Note that the first field must be between quotes
+ % because it is the fieldname for use in the warning message.
+ %
+FUNCTION {warning.if.empty}
+{ empty$
+ { "No " swap$ * " in " * cite$ * warning$ }
+ { pop$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % issues warning if title, type, and howpublished are empty
+ %
+FUNCTION {check.relevant.fields}
+{ title empty$
+ type empty$
+ howpublished empty$
+ and
+ and
+ { "No title, type, and howpublished in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % delivers 1 if (both editor and translator
+ % not empty and not equal to each other)
+ % 0 if (editor or translator empty) or
+ % (editor = translator)
+ %
+FUNCTION {editor.ne.trans}
+{ translator empty$
+ { #0 }
+ { editor empty$
+ { #0 }
+ { translator editor =
+ { #0 }
+ { #1 }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Convert integer to string, assume that integer < 100,000
+
+FUNCTION {conv.int.to.str}
+{ duplicate$ #10 <
+ { "0000" swap$ int.to.str$ * }
+ { duplicate$ #100 <
+ { "000" swap$ int.to.str$ * }
+ { duplicate$ #1000 <
+ { "00" swap$ int.to.str$ * }
+ { duplicate$ #10000 <
+ { "0" swap$ int.to.str$ * }
+ { int.to.str$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Delivers 1 if possibly editor in author position
+% 2 if editor not in author position
+% 3 if not applicable: use key
+% 0 if unknown type
+
+FUNCTION {ref.type}
+{ type$ "article" =
+ type$ "magazine" =
+ type$ "newspaper" =
+ type$ "book" =
+ type$ "techreport" =
+ type$ "unpublished" =
+ type$ "misc" =
+ type$ "booklet" =
+ type$ "manual" =
+ type$ "proceedings" =
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ { #1 }
+ { type$ "incollection" =
+ type$ "phdthesis" =
+ type$ "mastersthesis" =
+ type$ "lecture" =
+ type$ "inbook" =
+ type$ "inproceedings" =
+ type$ "intechreport" =
+ or
+ or
+ or
+ or
+ or
+ or
+ { #2 }
+ { type$ "literal" =
+ { #3 }
+ { #0 }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Delivers 1 if title is formatted as an "article"-type,
+% 0 otherwise
+
+FUNCTION {is.atype}
+{ type$ "article" =
+ type$ "magazine" =
+ type$ "newspaper" =
+ type$ "incollection" =
+ type$ "inbook" =
+ type$ "inproceedings" =
+ type$ "intechreport" =
+ or
+ or
+ or
+ or
+ or
+ or
+ { #1 }
+ { journal empty$ not
+ %
+ type$ "phdthesis" =
+ type$ "mastersthesis" =
+ or
+ %
+ and
+ { #1 }
+ { type$ "misc" =
+ type empty$ not
+ and
+ { type "\bibmessage" =
+ type "\bibcomputerprogram" =
+ type "\bibcomputerprogrammanual" =
+ type "\bibcomputerprogramandmanual" =
+ type "\bibcomputersoftware" =
+ type "\bibcomputersoftwaremanual" =
+ type "\bibcomputersoftwareandmanual" =
+ type "\bibprogramminglanguage" =
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ { #1 }
+ { #0 }
+ if$
+ }
+ { #0 }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with connect string
+ % if one of them empty, then connect string
+ % is left out
+ %
+ % call with S1 S2 connectstring connect.check
+ %
+FUNCTION {connect.check}
+{ 'u :=
+ %
+ % if S2 = ""
+ %
+ duplicate$ empty$
+ %
+ % then remove S2
+ %
+ { pop$
+ %
+ % S1 is on top of stack.
+ % if it is empty, it is replaced by the empty string ""
+ %
+ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+ }
+ %
+ % else swap S1 and S2 so that S1 can be checked
+ %
+ { swap$
+ %
+ % if S1 is empty, remove S1 so that S2 is left on the
+ % stack and is the result is given
+ %
+ duplicate$ empty$
+ { pop$ }
+ %
+ % now the real work starts:
+ % push the connect string "C"
+ % so that top of stack is "C" "S1" "S2"
+ % concatenate, so that top of stack is
+ % "S1+C" "S2"
+ %
+ { u *
+ %
+ % swap and concatenate
+ %
+ swap$ *
+ }
+ if$
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with space ("\ ")
+ % if length of second is 3 or larger,
+ % connects them with non-breaking space ("tie", "~")
+ % if length of second smaller than 3
+ %
+ % call with S1 S2 tie.or.space.connect
+ % result: "S1\ S2" or "S1~S2"
+ %
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with comma (", ")
+ % if one of them is empty, the comma is left out
+ %
+ % call with S1 S2 connect.with.comma.check
+ % result: "S1, S2"
+ %
+FUNCTION {connect.with.comma.check}
+{ ", " connect.check }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with semicolon ("; ")
+ % if one of them is empty, semicolon is left out
+ %
+ % call with S1 S2 connect.with.semicolon.check
+ % result: "S1; S2"
+ %
+FUNCTION {connect.with.semicolon.check}
+{ "; " connect.check }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with colon (": ")
+ % if one of them is empty, colon is left out
+ %
+ % call with S1 S2 connect.with.colon.check
+ % result: "S1: S2"
+ %
+FUNCTION {connect.with.colon.check}
+{ ": " connect.check }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with space ("\ ")
+ %
+ % call with S1 S2 connect.with.space.check
+ % result: "S1\ S2"
+ %
+FUNCTION {connect.with.space.check}
+{ "\ " connect.check }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % encloses string in pre- and postfix string
+ % call with
+ % prefix postfix S enclose.check
+ % delivers empty string if S empty
+ %
+FUNCTION {enclose.check}
+{ duplicate$ empty$
+ { pop$ pop$ pop$
+ ""
+ }
+ { swap$ * * }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % emphasizes top of stack
+ % call with
+ % "string" emphasize.check
+ %
+FUNCTION {emphasize.check}
+{ "\Bem{" swap$
+ "}" swap$
+ enclose.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % brackets top of stack
+ % call with
+ % "string" bracket
+ %
+FUNCTION {bracket.check}
+{ "[" swap$
+ "]" swap$
+ enclose.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % parenthesizes top of stack
+ % call with
+ % "string" parenthesize
+ %
+FUNCTION {parenthesize.check}
+{ "(" swap$
+ ")" swap$
+ enclose.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % checks whether argument is "multiresult":
+ % whether it contains '-', '+', or ',' characters
+ % used with pages to check whether pp. or p. must be used
+ %
+FUNCTION {multi.result.check}
+{ 't :=
+ #0 'multiresult :=
+ %
+ % while (not multiresult) and (length(t) > 1) do
+ %
+ { multiresult not
+ t text.length$ #1 >
+ and
+ }
+ %
+ % if t(1-2) = "--" or t(1) = "+" or ","
+ % then multiresult = 1
+ % else t = t(2-last)
+ %
+ { t #1 #2 substring$ 's :=
+ "--" s =
+ { #1 'multiresult := }
+ { t #1 #1 substring$ 's :=
+ "+" s =
+ "," s =
+ or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% GENERAL PURPOSE FUNCTIONS FOR SORTING %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Remove non-alphanumeric characters
+% and change to lower case .
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Remove spaces from a string. Used for sorting.
+%
+% Call with
+% string remove.spaces
+%
+% E.g.,
+% "fine old day" remove.spaces
+% gives "fineoldday" .
+
+FUNCTION {remove.spaces}
+{ % Remove spaces from string.
+ % Works best if string only contains alphanumeric characters and spaces.
+ 's := % The original string
+ s text.length$ 'len := % Its length (no. of characters)
+ "" 't := % Initialize the transformed string
+ #0 'pos :=
+ %
+ % while (pos < len) do
+ %
+ { pos len < }
+ { pos #1 + 'pos :=
+ s pos #1 substring$ 'u :=
+ %
+ % u is the pos-th character in s
+ % If it is a space, move to next character,
+ % else copy character to output.
+ %
+ u " " =
+ 'skip$
+ { t u * 't := }
+ if$
+ }
+ while$
+ %
+ % Now push the result back on the stack
+ t
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BASIC OUTPUT FUNCTIONS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % starting new block by writing what's left on the stack,
+ % starting a new line and adding some extra space or
+ % whatever is more defined in \newblock
+ %
+FUNCTION {output.end.block}
+{ write$
+ newline$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % starting new block by writing what's left on the stack,
+ % starting a new line and adding some extra space or
+ % whatever is more defined in \newblock
+ %
+FUNCTION {output.new.block}
+{ output.end.block
+ "\newblock{}" write$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % starting new block by writing what's left on the stack,
+ % starting a new line and adding some extra space or
+ % whatever is more defined in \newblock
+ %
+FUNCTION {output.dot.new.block}
+{ add.period$
+ output.new.block
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Starting new block assuming that stack is empty.
+% Starting a new line and adding some extra space or
+% whatever is more defined in \newblock
+
+FUNCTION {start.new.block}
+{ newline$
+ "\newblock{}" write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % finish current entry
+ % by writing what's left on the stack and starting a new line
+ %
+FUNCTION {fin.entry}
+{ output.end.block
+ test
+ { "\vspace{\baselineskip}" write$ newline$ }
+ 'skip$
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% FUNCTIONS FOR SORTING BY AUTHOR (OR SUBSTITUTE), YEAR, %
+% TITLE %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%MACRO {sort.name.format} { "{ll{}}{ f{}}{ vv{}}{ jj{}}" }
+
+FUNCTION {sort.name.format} { "{ll{}}{ f{}}{ vv{}}{ jj{}}" }
+
+FUNCTION {cite.name.format} { "{ll}" }
+
+FUNCTION {cite.initials.name.format} { "{f. }{vv }{ll}{ jj}" }
+
+FUNCTION {author.name.format} { "{ll}{, f.}{ vv}{, jj}" }
+
+FUNCTION {editor.name.format} { "{f.~}{vv }{ll}{ jj}" }
+
+FUNCTION {index.name.format} { "{ll}{, f.}{ vv}{, jj}" }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (1).
+% Initialization.
+
+FUNCTION {init.initials}
+{ "yyyyy" 'aut1f.old :=
+ "yyyyy" 'aut1s.old :=
+ #0 'cite.initials.old :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (2).
+% Update when author, editor, and key fields are not used.
+%
+% Call with
+% field update.no.initials
+
+FUNCTION {update.no.initials}
+{ 'field :=
+ field 'aut1f.old :=
+ field 'aut1s.old :=
+ #0 'cite.initials.old :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (3).
+
+FUNCTION {check.add.initials.aut}
+{ %
+ % If last name is equal to previous last name
+ % but initials are different, then initials should
+ % be cited. If initials are also the same, initials
+ % should be cited if that is the case for the previous
+ % author .
+ %
+ aut1s aut1s.old =
+ { aut1f aut1f.old =
+ { cite.initials.old 'cite.initials := }
+ { #1 'cite.initials :=
+ aut1f 'aut1f.old :=
+ aut1s 'aut1s.old :=
+ cite.initials 'cite.initials.old :=
+ }
+ if$
+ }
+ { %
+ % Different last name.
+ aut1f 'aut1f.old :=
+ aut1s 'aut1s.old :=
+ cite.initials 'cite.initials.old :=
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (4).
+% Call with
+% field check.add.initials.field
+
+FUNCTION {check.add.initials.field}
+{ 'field :=
+ field #1 cite.initials.name.format format.name$ 'aut1f :=
+ field #1 cite.name.format format.name$ 'aut1s :=
+ %
+ % Now do the actual work
+ %
+ check.add.initials.aut
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (4).
+
+FUNCTION {check.add.initials}
+{ %
+ % Check whether author or editor or other field acts as author.
+ % Initials are only relevant with author or editor.
+ %
+ firstkey empty$ not
+ { key empty$ not
+ { %
+ % Both key and firstkey are nonempty.
+ % Then, key is treated as last name of first author,
+ % and firstkey is treated as last name + initials of
+ % first author .
+ %
+ firstkey sortify remove.spaces 'aut1f :=
+ key sortify remove.spaces 'aut1s :=
+ check.add.initials.aut
+ }
+ { firstkey sortify remove.spaces update.no.initials }
+ if$
+ }
+ { key empty$ not
+ { key sortify remove.spaces update.no.initials }
+ { %
+ % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { %
+ % Format first author with and without initials
+ author empty$
+ { title.sort.label update.no.initials }
+ { author check.add.initials.field }
+ if$
+ }
+ { %
+ % Format first author with and without initials
+ author empty$
+ { editor empty$
+ { title.sort.label update.no.initials }
+ { editor check.add.initials.field }
+ if$
+ }
+ { author check.add.initials.field }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute tentative number of names that must be cited (1).
+% Call with
+% field tentative.cite.num.names.field
+
+FUNCTION {tentative.cite.num.names.field}
+{ 'field :=
+ field num.names$ 'numnames :=
+ numnames #3 <
+ { %
+ % 1 or 2 names: always cite all of them.
+ numnames 'cite.num.names.full :=
+ numnames 'cite.num.names.short :=
+ }
+ { numnames #6 <
+ { %
+ % 3-5 names: cite all of them the first time,
+ % only the first name later times
+ numnames 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { %
+ % 6 or more names: cite only the first name
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute tentative number of names that must be cited (2).
+
+FUNCTION {tentative.cite.num.names}
+{ %
+ % Check whether author or editor or other field acts as author.
+ % Number of names is only relevant with author or editor.
+ %
+ firstkey empty$ not
+ {
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { key empty$ not
+ {
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { %
+ % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { %
+ % Format first author with and without initials
+ author empty$
+ {
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { author tentative.cite.num.names.field }
+ if$
+ }
+ { %
+ % Format first author with and without initials
+ author empty$
+ { editor empty$
+ {
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { editor tentative.cite.num.names.field }
+ if$
+ }
+ { author tentative.cite.num.names.field }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Initialize "number of names to be cited" before
+% looping over entries.
+
+FUNCTION {init.cite.num.names}
+{ #0 'cite.num.names.old :=
+ #0 'numnames.old :=
+ "yyyy" 'year.label.old :=
+ #0 'add.to.year.old :=
+ "" 'aut1f.old :=
+ "" 'aut2.old :=
+ "" 'aut3.old :=
+ "" 'aut4.old :=
+ "" 'aut5.old :=
+ "" 'aut6.old :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Update "number of names to be cited" .
+
+FUNCTION {update.cite.num.names}
+{ cite.num.names.short 'cite.num.names.old :=
+ numnames 'numnames.old :=
+ year.label 'year.label.old :=
+ add.to.year 'add.to.year.old :=
+ aut1f 'aut1f.old :=
+ aut2 'aut2.old :=
+ aut3 'aut3.old :=
+ aut4 'aut4.old :=
+ aut5 'aut5.old :=
+ aut6 'aut6.old :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format (maximally) 6 authors for comparison issues
+% to determine number of authors that must be cited.
+% It is assumed that the 'field' and 'numnames' variables
+% have already been defined.
+
+FUNCTION {format.6.authors}
+{ %
+ % First author: with initials.
+ %
+ field #1 cite.initials.name.format format.name$ 'aut1f :=
+ %
+ % Second and later authors: without initials.
+ %
+ numnames #1 >
+ name.max #1 >
+ and
+ { %
+ % 2nd author
+ field #2 cite.name.format format.name$ 'aut2 :=
+ %
+ numnames #2 >
+ name.max #2 >
+ and
+ { %
+ % 3nd author
+ field #3 cite.name.format format.name$ 'aut3 :=
+ %
+ numnames #3 >
+ name.max #3 >
+ and
+ { %
+ % 4th author
+ field #4 cite.name.format format.name$ 'aut4 :=
+ %
+ numnames #4 >
+ name.max #4 >
+ and
+ { %
+ % 5th author
+ field #5 cite.name.format format.name$ 'aut5 :=
+ %
+ numnames #5 >
+ name.max #5 >
+ and
+ { %
+ % 6th author
+ field #6 cite.name.format format.name$ 'aut6 :=
+ }
+ { %
+ % 5 authors: 6 is empty
+ %
+ "" 'aut6 :=
+ }
+ if$
+ }
+ { %
+ % 4 authors: 5-6 are empty
+ %
+ "" 'aut5 :=
+ "" 'aut6 :=
+ }
+ if$
+ }
+ { %
+ % 3 authors: 4-6 are empty
+ %
+ "" 'aut4 :=
+ "" 'aut5 :=
+ "" 'aut6 :=
+ }
+ if$
+ }
+ { %
+ % 2 authors: 3-6 are empty
+ %
+ "" 'aut3 :=
+ "" 'aut4 :=
+ "" 'aut5 :=
+ "" 'aut6 :=
+ }
+ if$
+ }
+ { %
+ % Only 1 author: 2-6 are empty
+ %
+ "" 'aut2 :=
+ "" 'aut3 :=
+ "" 'aut4 :=
+ "" 'aut5 :=
+ "" 'aut6 :=
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited
+% and whether a's or b's must be added to year (1).
+% a's or b's are necessary: update add.to.year variable
+
+FUNCTION {change.add.to.year}
+{
+ forward #1 =
+ { %
+ % Moving forward: this add.to.year number must be 1 higher than
+ % previous.
+ %
+ add.to.year.old #0 >
+ { add.to.year.old #1 + 'add.to.year := }
+ { #2 'add.to.year := }
+ if$
+ }
+ { %
+ % Moving backward: this add.to.year number must be 1 lower than
+ % previous.
+ %
+ add.to.year.old #1 - 'add.to.year :=
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited
+% and whether a's or b's must be added to year (1).
+% Current and/or previous entry has 1 or 2 authors
+% or editors acting as authors and they are published in the
+% same year. The number of authors does not need to be changed
+% in this case, but a's or b's may be necessary.
+
+FUNCTION {definitive.cite.num.names.1.or.2}
+{ %
+ numnames numnames.old =
+ { %
+ % Same number of names: ambiguity could arise. Check whether current
+ % and previous have the same author(s).
+ %
+ aut1f aut1f.old =
+ { %
+ % Same first author: if the second author is also the same or if
+ % there is only one author, a's and b's should be added.
+ %
+ aut2 aut2.old =
+ numnames #2 =
+ and
+ %
+ numnames #1 =
+ or
+ { %
+ % Same author(s): add to year.
+ %
+ change.add.to.year
+ }
+ { %
+ % Different second author: no ambiguity possible.
+ %
+ skip$
+ }
+ if$
+ }
+ { %
+ % Different first author: no ambiguity possible.
+ %
+ skip$
+ }
+ if$
+ }
+ { %
+ % Different number of names: no ambiguity possible.
+ %
+ skip$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited
+% and whether a's or b's must be added to year (2).
+% Both current and previous entries have 3 or more authors
+% or editors acting as authors and they are published in the
+% same year.
+
+FUNCTION {definitive.cite.num.names.3.or.more}
+{ %
+ % Check whether current and previous have the same first author.
+ %
+ aut1f aut1f.old =
+ { %
+ % Same first author: check second author
+ %
+ aut2 aut2.old =
+ { %
+ % Same 1st & 2nd author: check 3rd.
+ %
+ aut3 aut3.old =
+ { %
+ % Same 1st-3rd authors: check 4th.
+ %
+ numnames.old #3 =
+ { numnames #3 =
+ { %
+ % Both current and previous have 3 authors, which are
+ % the same, so both have identical author-year
+ % combinations, so ambiguity should be resolved by
+ % a's and b's. Check whether more authors were
+ % necessary for previous one.
+ %
+ change.add.to.year
+ cite.num.names.short cite.num.names.old <
+ { cite.num.names.old
+ 'cite.num.names.short :=
+ }
+ 'skip$
+ if$
+ }
+ { %
+ % Previous has 3 authors, current has more, with same
+ % first 3, so at least 4 must be used for current to
+ % make a difference.
+ %
+ cite.num.names.short #4 <
+ { #4 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { numnames #3 =
+ { %
+ % Current has 3 authors, previous has more, with same
+ % first 3, so all 3 of current must be used.
+ %
+ numnames 'cite.num.names.short :=
+ }
+ { %
+ % Same 1st-3rd author and both current and previous
+ % have at least 4 authors: check 4th.
+ %
+ aut4 aut4.old =
+ { %
+ % Same 1st-4th authors: check 5th.
+ %
+ numnames.old #4 =
+ { numnames #4 =
+ { %
+ % Both current and previous have 4 authors,
+ % which are the same, so both have
+ % identical author-year combinations, so
+ % ambiguity should be resolved by a's and
+ % b's. Check whether more authors were
+ % necessary for previous one.
+ %
+ change.add.to.year
+ cite.num.names.short cite.num.names.old <
+ { cite.num.names.old
+ 'cite.num.names.short :=
+ }
+ 'skip$
+ if$
+ }
+ { %
+ % Previous has 4 authors, current has more,
+ % with same first 4, so at least 5 must be
+ % used for current to make a difference.
+ %
+ cite.num.names.short #5 <
+ { #5 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { numnames #4 =
+ { %
+ % Current has 4 authors, previous has more,
+ % with same first 4, so all 4 of current
+ % must be used.
+ %
+ numnames 'cite.num.names.short :=
+ }
+ { %
+ % Same 1st-4th author and both current and
+ % previous have at least 5 authors: check
+ % 5th.
+ %
+ aut5 aut5.old =
+ { %
+ % Same 1st-5th authors: check 6th.
+ %
+ numnames.old #5 =
+ { numnames #5 =
+ { %
+ % Both current and previous
+ % have 5 authors, which are the
+ % same, so both have identical
+ % author-year combinations, so
+ % ambiguity should be resolved
+ % by a's and b's. Check whether
+ % more authors were necessary
+ % for previous one.
+ %
+ change.add.to.year
+ cite.num.names.short
+ cite.num.names.old <
+ { cite.num.names.old
+ 'cite.num.names.short :=
+ }
+ 'skip$
+ if$
+ }
+ { %
+ % Previous has 5 authors,
+ % current has more, with same
+ % first 5, so at least 6 must
+ % be used for current to make
+ % a difference.
+ %
+ cite.num.names.short #6 <
+ { #6 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { numnames #5 =
+ { %
+ % Current has 5 authors,
+ % previous has more, with same
+ % first 5, so all 5 of current
+ % must be used.
+ %
+ numnames 'cite.num.names.short :=
+ }
+ { %
+ % Same 1st-5th author and both
+ % current and previous have at
+ % least 6 authors. If one has
+ % 6 authors and the other has
+ % more or the 6th is different,
+ % 6 should be used (which is
+ % the maximum).
+ %
+ numnames #6 >
+ numnames.old #6 =
+ and
+ %
+ numnames #6 =
+ numnames.old #6 >
+ and
+ %
+ or
+ %
+ aut6 aut6.old =
+ not
+ %
+ or
+ { #6 cite.num.names.short <
+ { #6
+ 'cite.num.names.short
+ :=
+ }
+ 'skip$
+ if$
+ }
+ { %
+ % The first 6 authors are
+ % the same and either both
+ % have 6 or both have more.
+ % So for all practical
+ % purposes they have
+ % identical author-year
+ % combination, so ambiguity
+ % should be resolved by a's
+ % and b's. Check whether
+ % more authors were
+ % necessary for previous
+ % one.
+ %
+ change.add.to.year
+ cite.num.names.short
+ cite.num.names.old
+ <
+ { cite.num.names.old
+ 'cite.num.names.short
+ :=
+ }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { %
+ % Different 4th author: citing 4 authors is
+ % sufficient for this comparison.
+ %
+ cite.num.names.short #4 <
+ { #4 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { %
+ % Different 3rd author: citing 3 authors is sufficient for this
+ % comparison.
+ %
+ cite.num.names.short #3 <
+ { #3 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { %
+ % Different 2nd author: citing 2 authors is sufficient for this
+ % comparison.
+ %
+ cite.num.names.short #2 <
+ { #2 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { %
+ % Different first author: no ambiguity, move to next entry.
+ %
+ skip$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited
+% and whether a's or b's must be added to year (3).
+% Current entry has an author or editor acting as author.
+%
+% Call with
+% field definitive.cite.num.names.field
+%
+% What should we do with explicit "others"? Is now ignored.
+% If this causes ambiguity that could be resolved, the user
+% should have added additional author names.
+
+FUNCTION {definitive.cite.num.names.field}
+{ 'field :=
+ field num.names$ 'numnames :=
+ %
+ % Format authors
+ %
+ format.6.authors
+ %
+ % Now compare authors with authors of previous entry.
+ %
+ cite.num.names.short numnames.old >
+ { %
+ % The previous entry has less authors than already defined
+ % necessary to be cited. No ambiguity is possible and we're ready.
+ %
+ skip$
+ }
+ { %
+ % Both previous and current entry have at least one author .
+ %
+ year.label year.label.old =
+ { %
+ % Same year label: possibly ambiguous citation.
+ %
+ % First check: current and/or previous have 1 or
+ % 2 authors.
+ %
+ numnames #3 <
+ numnames.old #3 <
+ or
+ %
+ { definitive.cite.num.names.1.or.2 }
+ { definitive.cite.num.names.3.or.more }
+ if$
+ }
+ { %
+ % Different year label: everything's fine,
+ % move to next entry.
+ %
+ skip$
+ }
+ if$
+ }
+ if$
+ %
+ % If during the previous process the name maximum is exceeded
+ % (which was not checked), correct this. NOTE: If the name
+ % maximum is smaller than 6, this could lead to ambiguous
+ % citations if, e.g., the year and the first 5 authors are
+ % the same, but the 6th author is different.
+ %
+ cite.num.names.short name.max >
+ { name.max 'cite.num.names.short := }
+ 'skip$
+ if$
+ %
+ % For a "full" cite, the number of names should always be at least
+ % as large as for a "short" cite.
+ %
+ cite.num.names.full cite.num.names.short <
+ { cite.num.names.short 'cite.num.names.full := }
+ 'skip$
+ if$
+ %
+ % Update "old" variables for next entry.
+ %
+ update.cite.num.names
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited (4)
+% and especially whether a's and b's should be added.
+% This function is for the situation when author or editor
+% are not used and firstkey, key, or something else is
+% used to cite the referenced work.
+%
+% Call with
+% formatted.field definitive.cite.no.names
+
+FUNCTION {definitive.cite.no.names}
+{ %
+ % The formatted field that acts as author is on top
+ % of the stack.
+ 'aut1f :=
+ "" 'aut2 :=
+ "" 'aut3 :=
+ "" 'aut4 :=
+ "" 'aut5 :=
+ "" 'aut6 :=
+ #1 'numnames :=
+ %
+ year.label year.label.old =
+ { %
+ % Same year label: possibly ambiguous citation.
+ %
+ definitive.cite.num.names.1.or.2
+ }
+ { %
+ % Different year label: everything's fine,
+ % move to next entry.
+ %
+ skip$
+ }
+ if$
+ %
+ % Update "old" variables for next entry.
+ %
+ update.cite.num.names
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited (5).
+
+FUNCTION {definitive.cite.num.names}
+{ %
+ % Check whether author or editor or other field acts as author.
+ % Number of names is only relevant with author or editor.
+ %
+ firstkey empty$ not
+ { firstkey sortify remove.spaces definitive.cite.no.names }
+ { key empty$ not
+ { key sortify remove.spaces definitive.cite.no.names }
+ { %
+ % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { %
+ % Format first author with and without initials
+ author empty$
+ { title.sort.label definitive.cite.no.names }
+ { author definitive.cite.num.names.field }
+ if$
+ }
+ { %
+ % Format first author with and without initials
+ author empty$
+ { editor empty$
+ { title.sort.label definitive.cite.no.names }
+ { editor definitive.cite.num.names.field }
+ if$
+ }
+ { author definitive.cite.num.names.field }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make a tentative year sorting label (without `a' and `b').
+
+FUNCTION {make.tentative.year.sort.label}
+{ %
+ % Implicit or explicit ``no date'' is put at the front
+ % (the year zero; years B.C. will imply complications)
+ % because these are possibly old works.
+ % ``In press'' is put at the end.
+ %
+ year empty$
+ { "0000" 'year.label := }
+ { year "\bibnodate" =
+ year "n.d." =
+ or
+ { "0000" 'year.label := }
+ { year "\BIP" =
+ { "9999" 'year.label := }
+ { % It is not checked whether the year field
+ % makes sense.
+ year sortify remove.spaces 'year.label :=
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ %
+ % Push year sort label on the stack
+ year.label
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Give month (converted to number) and day when available.
+
+FUNCTION {month.number.day}
+{ month empty$
+ { "" }
+ { %
+% month jan =
+% { "01" }
+% { month feb =
+% { "02" }
+% { month mar =
+% { "03" }
+% { month apr =
+% { "04" }
+% { month may =
+% { "05" }
+% { month jun =
+% { "06" }
+% { month jul =
+% { "07" }
+% { month aug =
+% { "08" }
+% { month sep =
+% { "09" }
+% { month oct =
+% { "10" }
+% { month nov =
+% { "11" }
+% { month dec =
+% { "12" }
+% { %
+ % Month is something
+ % else, e.g., "Spring"
+ % or jul # "/" # aug.
+ % Currently too
+ % difficult to figure
+ % out: user should
+ % trick the system.
+ %
+ month sortify
+ remove.spaces
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+ %
+ % Add the day when available.
+ day empty$
+ 'skip$
+ { "/" *
+ day sortify remove.spaces *
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make tentative sort label with names in field on top of
+% the stack.
+%
+% Call with
+% field make.name.sort.label
+% where 'field' is the field that takes the author-role.
+
+FUNCTION {make.name.sort.label}
+{ %
+ % Author or editor-acting-as-author available.
+ % => Make tentative "short cite with initials" author
+ % label (L1) of one of the forms
+ % "Last1 F1"
+ % "Last1 F1 Last2"
+ % "Last1 F1 zzzz" ("zzzz" representing et al.)
+ % => If more than 2 'authors': make label (L2) for 2nd-6th authors
+ % of one of the forms
+ % "Last2 Last3"
+ % "Last2 Last3 Last4"
+ % "Last2 Last3 Last4 Last5"
+ % "Last2 Last3 Last4 Last5 Last6"
+ % "Last2 Last3 Last4 Last5 Last6 zzzz"
+ %
+ % Then format year label (L3) of one of the forms:
+ % "0000" (missing year or explicit 'no date')
+ % "9999" ('in press')
+ % year (otherwise; don't use originalyear here yet)
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L4) .
+ %
+ % Then tentative sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L3
+ % " "
+ % L2
+ % " "
+ % L4
+ %
+ % The name field is on top of the stack.
+ 'field :=
+ %
+ % numnames is the total number of names contained in field
+ field num.names$ 'numnames :=
+ %
+ % Format first author
+ field #1 sort.name.format format.name$
+ %
+ % Format the second author if there are two, or else "zzzz" = et al.
+ numnames #1 =
+ 'skip$
+ { numnames #2 =
+ { %
+ % Two authors: format second author
+ field #2 "{ll{}}" format.name$ 's :=
+ s "others" =
+ { " zzzz" * } % Add "et al."-substitute
+ { " " * s * } % Add second author
+ if$
+ }
+ { " zzzz" * } % 3 or more authors: add "et al."-substitute
+ if$
+ }
+ if$
+ " " * % Add spaces
+ make.tentative.year.sort.label * % Add year (L3).
+ " " * % Add spaces
+ %
+ % Now build up L2 if applicable
+ numnames #3 <
+ 'skip$
+ { %
+ % Treat last author slightly differently
+ numnames name.max >
+ { name.max 'lastname :=
+ " zzzz" % Push "et al."-substitute on stack
+ }
+ { numnames 'lastname :=
+ "" % Push empty string on stack
+ }
+ if$
+ %
+ % Names 2 to "last" - 1
+ "" % Push empty string on stack
+ #2 'nameptr :=
+ { nameptr lastname < }
+ { % Add name no. nameptr
+ field nameptr "{ll{}}" format.name$ *
+ " " *
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ %
+ % "Last" author
+ field lastname "{ll{}}" format.name$ 's :=
+ s "others" =
+ { "zzzz" * } % Add "et al."-substitute
+ { s * } % Add last author
+ if$
+ %
+ swap$ * % Add the previously formatted empty string or
+ % "et al."-substitute if there are many authors.
+ * % Add L2 to the earlier labels.
+ }
+ if$
+ %
+ " " * % Add spaces
+ title.number conv.int.to.str * % Add sorted title number (L4).
+ sortify % Clean up and convert to lowercase
+ " " * % Add spaces
+ month.number.day * % Add month and day when available
+ 'author.year.sort.label := % Assign result to sort label.
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.tentative.sort.label to make tentative
+% sort label if key or firstkey is available or author and
+% editor are empty or unusable.
+%
+% Call with
+% field make.field.year.sort.label
+% where 'field' is the field that takes the author-role,
+% perhaps already subjected to removing articles from the
+% beginning.
+
+FUNCTION {make.field.year.sort.label}
+{ %
+ % 'field' acts as first author (L1), subsequent authors
+ % are empty (L2).
+ %
+ % Then format year label (L3) of one of the forms:
+ % "0000" (missing year or explicit 'no date')
+ % "9999" ('in press')
+ % year (otherwise; don't use originalyear here yet)
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L4) .
+ %
+ % Then tentative sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L3
+ % " "
+ % L2
+ % " "
+ % L4
+ %
+ % 'field' is on top of the stack. It is already supposed to be cleaned
+ % (i.e., sortified and space-removed), so this is already L1.
+ " " * % Add spaces to L1
+ make.tentative.year.sort.label * % Add year (L3).
+ " " * % Add spaces
+ " " * % L2 is empty, add spaces
+ title.number conv.int.to.str * % Add sorted title number (L4).
+ sortify % Clean up and convert to lowercase
+ " " * % Add spaces
+ month.number.day * % Add month and day when available
+ 'author.year.sort.label := % Assign result to sort label.
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.tentative.sort.label to make tentative
+% sort label if key or firstkey are not available and
+% author or editor may be used
+
+FUNCTION {make.author.editor.sort.label}
+{ author empty$
+ { editor empty$
+ { %
+ % Use what has previously been stored in title.sort.label
+ % as author substitute .
+ title.sort.label make.field.year.sort.label
+ }
+ { editor make.name.sort.label }
+ if$
+ }
+ { author make.name.sort.label }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.tentative.sort.label to make tentative
+% sort label if key or firstkey are not available and
+% author (but not editor) may be used
+
+FUNCTION {make.author.sort.label}
+{ author empty$
+ { %
+ % Use what has previously been stored in title.sort.label
+ % as author substitute .
+ title.sort.label make.field.year.sort.label
+ }
+ { author make.name.sort.label }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make tentative label for citing and sorting and do some
+% preprocessing.
+
+FUNCTION {make.tentative.sort.label}
+{ %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % General strategy:
+ %
+ % Ordinary situation: author or editor-acting-as-author
+ % available.
+ % => Make tentative "short cite with initials" author
+ % label (L1) of one of the forms
+ % "Last1 F1"
+ % "Last1 F1 Last2"
+ % "Last1 F1 zzzz" ("zzzz" representing et al.)
+ % => If more than 2 'authors': make label (L2) for 2nd-6th authors
+ % of one of the forms
+ % "Last2 Last3"
+ % "Last2 Last3 Last4"
+ % "Last2 Last3 Last4 Last5"
+ % "Last2 Last3 Last4 Last5 Last6"
+ % "Last2 Last3 Last4 Last5 Last6 zzzz"
+ % When key is available (overrules author and editor fields):
+ % => L1 = key, L2 = ""
+ % No author, editor, and key: define title or substitute as key
+ % and format as key.
+ %
+ % Then format year label (L3) of one of the forms:
+ % "0000" (missing year or explicit 'no date')
+ % "9999" ('in press')
+ % year (otherwise; don't use originalyear here yet)
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L4) .
+ %
+ % Then tentative sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L3
+ % " "
+ % L2
+ % " "
+ % L4
+ %
+ % This can then be sorted, from which it can be derived
+ % whether initials are necessary, how many names must
+ % be used for short and full citations, and whether "a"'s and
+ % "b"'s etc. are necessary behind the year labels.
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % key and firstkey overrule author information
+ %
+ firstkey empty$ not
+ { key empty$ not
+ { %
+ % Both key and firstkey available:
+ % for sorting and checking initials, treat key as last
+ % name and firstkey as initials.
+ %
+ key sortify remove.spaces
+ " " *
+ firstkey sortify remove.spaces *
+ make.field.year.sort.label
+ }
+ { firstkey sortify remove.spaces make.field.year.sort.label }
+ if$
+ }
+ { key empty$ not
+ { key sortify remove.spaces make.field.year.sort.label }
+ { %
+ % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type
+ duplicate$ #1 =
+ { pop$
+ make.author.editor.sort.label
+ }
+ { duplicate$ #2 =
+ { pop$
+ make.author.sort.label
+ }
+ { #3 =
+ { "no key in " cite$ * warning$
+ make.author.editor.sort.label
+ }
+ { make.author.editor.sort.label }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ %
+ author.year.sort.label 'sort.key$ :=
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make final sort label with names in field on top of
+% the stack.
+%
+% Call with
+% field make.definitive.name.sort.label
+%
+% where 'field' is the field that takes the author-role.
+
+FUNCTION {make.definitive.name.sort.label}
+{ %
+ % Author or editor-acting-as-author available.
+ % => Make author-with-initials label (L1) of one of the forms
+ % "Last1 F1 Last2 F2 ... LastN FN"
+ % "Last1 F1 Last2 F2 ... Last6 F6 zzzz"
+ % (where N <= 6 is the total number of authors, and
+ % "zzzz" represents et al. if there are more than 6 authors)
+ % No author, editor, and key: define title or substitute as sort key.
+ %
+ % The name field is on top of the stack.
+ 'field :=
+ %
+ % numnames is the total number of names contained in field
+ field num.names$ 'numnames :=
+ %
+ % If there are more than 6 authors, only 6 are mentioned.
+ numnames name.max >
+ { name.max 'format.num.names := }
+ { numnames 'format.num.names := }
+ if$
+ % Initialize stack with empty stringh
+ ""
+ %
+ % Cycle over authors.
+ #1 'nameptr :=
+ { nameptr format.num.names < }
+ { % Format author and add spaces
+ field nameptr sort.name.format format.name$ *
+ " " *
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ % Format last author that must be formatted
+ field nameptr sort.name.format format.name$ *
+ % Add et al. if necessary
+ nameptr numnames <
+ { " zzzz" * }
+ 'skip$
+ if$
+ sortify % Clean up and change case
+ " " * % Add spaces
+ year.label * % Add year
+ " " * % Add spaces
+ title.number conv.int.to.str * % Add sorted title number
+ " " * % Add spaces
+ month.number.day * % Add month and day when available
+ 'author.year.sort.label := % Assign result to sort label.
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called to make definitive sort label if author and
+% editor are empty or unusable.
+%
+% Call with
+% field make.definitive.field.year.sort.label
+% where 'field' is the field that takes the author-role,
+% perhaps already subjected to removing articles from the
+% beginning.
+
+FUNCTION {make.definitive.field.year.sort.label}
+{ %
+ % 'field' acts as author (L1).
+ %
+ % Then format year label (L2) of one of the forms:
+ % "0000" (missing year or explicit `no date')
+ % "9999" (`in press')
+ % year (otherwise; don't use originalyear here yet)
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L3) .
+ %
+ % Then tentative sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L2
+ % " "
+ % L3
+ %
+ % 'field' is on top of the stack. It is already supposed to be cleaned
+ % (i.e., sortified and space-removed), so this is already L1.
+ " " * % Add spaces
+ year.label * % Add year
+ " " * % Add spaces
+ title.number conv.int.to.str * % Add sorted title number
+ " " * % Add spaces
+ month.number.day * % Add month and day when available
+ 'author.year.sort.label := % Assign result to sort label.
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.final.sort.key if author or editor
+% may be used.
+
+FUNCTION {make.definitive.author.editor.sort.label}
+{ author empty$
+ { editor empty$
+ { %
+ % Use what has previously been stored in title.sort.label
+ % as author substitute .
+ title.sort.label make.definitive.field.year.sort.label
+ }
+ { editor make.definitive.name.sort.label }
+ if$
+ }
+ { author make.definitive.name.sort.label }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.final.sort.key if author but not editor
+% may be used.
+
+FUNCTION {make.definitive.author.sort.label}
+{ author empty$
+ { %
+ % Use what has previously been stored in title.sort.label
+ % as author substitute .
+ title.sort.label make.definitive.field.year.sort.label
+ }
+ { author make.definitive.name.sort.label }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make final sort key .
+
+FUNCTION {make.final.sort.key}
+{ %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % General strategy:
+ %
+ % Ordinary situation: author or editor-acting-as-author
+ % available.
+ % => Make author-with-initials label (L1) of one of the forms
+ % "Last1 F1 Last2 F2 ... LastN FN"
+ % "Last1 F1 Last2 F2 ... Last6 F6 zzzz"
+ % (where N <= 6 is the total number of authors, and
+ % "zzzz" represents et al. if there are more than 6 authors)
+ % No author, editor, and key: define title or substitute as sort key.
+ %
+ % Then format year label (L2) of one of the forms:
+ % "0000" (missing year or explicit `no date')
+ % "9999" (`in press')
+ % year (otherwise; don't use originalyear here yet)
+ % Add "/"month"/"day to the latter when available.
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L3) .
+ %
+ % Then final sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L2
+ % " "
+ % L3
+ %
+ % This can then be sorted.
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ %
+ % Find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { make.definitive.author.sort.label }
+ { make.definitive.author.editor.sort.label }
+ if$
+ %
+ author.year.sort.label 'sort.key$ :=
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% FUNCTIONS THAT ALLOW SORTING BY TITLE %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Remove first N characters of string if they are equal to
+% teststring .
+%
+% Call with
+% teststring N string chop.word
+%
+% E.g.,
+% "A " #2 "A fine old day" chop.word
+% gives "fine old day"
+% and
+% "A " #2 "The fine old day" chop.word
+% gives "The fine old day".
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ { s }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Remove "a ", "an ", and "the " from beginning of string.
+%
+% Call with
+% string chop.articles
+
+FUNCTION {chop.articles}
+{ 's :=
+ "a " #2
+ "an " #3
+ "the " #4
+ s
+ chop.word
+ chop.word
+ chop.word
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format title and other non-name/date entries for sort key.
+%
+% Call with
+% field format.sort.title
+%
+% Make sure that field is not empty, this is not checked here!
+
+FUNCTION {format.sort.title}
+{ %
+ % Remove non-alphanumeric characters and change to lower case .
+ sortify
+ %
+ % Remove "a ", "an ", and "the " from the front .
+ chop.articles #1 entry.max$ substring$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make title sorting label or substitute.
+
+FUNCTION {make.sort.title}
+{ title empty$
+ { text empty$
+ { type empty$
+ { howpublished empty$
+ { note empty$
+ { "no title, type, howpublished, or note in " cite$ *
+ warning$
+ " "
+ }
+ { note format.sort.title }
+ if$
+ }
+ { howpublished format.sort.title }
+ if$
+ }
+ { type format.sort.title }
+ if$
+ }
+ { text format.sort.title }
+ if$
+ }
+ { title format.sort.title }
+ if$
+ remove.spaces
+ 'title.sort.label :=
+ title.sort.label 'sort.key$ :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make title number: rank number of sorted title .
+
+FUNCTION {make.title.number}
+{ title.sort.label old.label =
+ { %
+ % A tie: old and new label are the same .
+ old.number 'title.number :=
+ }
+ { %
+ % The usual situation: titles are different.
+ old.number #1 + 'title.number :=
+ title.number 'old.number :=
+ title.sort.label 'old.label :=
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% CITATION LABELS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Some macro strings about commas, etc. between authors
+
+FUNCTION {comma.between.two} { "\BCBT{}" }
+
+FUNCTION {comma.between.names} { ", " }
+
+FUNCTION {comma.before.last} { "\BCBL{}" }
+
+FUNCTION {and.before.last} { "\ \BBA{} " }
+
+FUNCTION {et.al.string.cite} { "\ \protect\BOthers{.}" }
+
+FUNCTION {et.al.string} { "\ \BOthers{.}" }
+
+FUNCTION {et.al.string.period} { "\ \BOthersPeriod{.}" }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Add author index entry when desired.
+% "field" must have been defined before and must contain the
+% contents of the relevant author field.
+% "nameptr" must also have been defined before. It is the
+% number of the author that must be formatted. (So if it is
+% #2, then the 2nd author must be formatted.)
+% What's on top of the stack (the formatted author) is written
+% to the .bbl file.
+
+FUNCTION {add.name.index}
+{ %
+ %
+ make.index
+ { "%" * write$ newline$
+ "\protect\AX{" write$
+ field nameptr sort.name.format format.name$ sortify write$ newline$
+ "@" write$
+ field nameptr index.name.format format.name$ "}%" * write$ newline$
+ }
+ { "%" * write$ newline$ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Citation labels when author or editor may be used.
+% Field is on top of the stack.
+%
+% Call with
+% format.num.names field make.name.cite.label
+
+FUNCTION {make.name.cite.label}
+{ 'field :=
+ 'format.num.names :=
+ %
+ field num.names$ 'numnames := % numnames is the total number of names
+ % contained in field
+ %
+ % It is implicit in the APA manual that if "et al." would refer
+ % to exactly one author, then this author should be named
+ % instead of "et al."
+ %
+ format.num.names numnames #1 - =
+ { numnames 'format.num.names := }
+ 'skip$
+ if$
+ %
+ % Format first author: with or without initials
+ %
+ #1 'nameptr :=
+ cite.initials #1 =
+ { field nameptr cite.initials.name.format format.name$ }
+ { field nameptr cite.name.format format.name$ }
+ if$
+ add.name.index % Add index entry when desired.
+ %
+ numnames #1 =
+ 'skip$
+ { format.num.names #1 =
+ { %
+ % First author et al.
+ %
+ et.al.string.cite write$
+ }
+ { numnames #2 =
+ { %
+ % Given that format.num.names > 1, it is 2.
+ % Format second author.
+ %
+ #2 'nameptr :=
+ field nameptr cite.name.format format.name$ 's :=
+ %
+ % Check if 2nd author is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { et.al.string.cite write$ } % First et al.
+ { %
+ % First \& Second
+ %
+ and.before.last write$
+ s
+ add.name.index % Add index entry when desired.
+ }
+ if$
+ }
+ { %
+ % 3 or more names, 2 or more must be cited
+ %
+ % for nameptr := 2 to format.num.names - 1 do
+ %
+ #2 'nameptr :=
+ { nameptr format.num.names < }
+ { %
+ % Put comma between consecutive authors
+ %
+ comma.between.names write$
+ %
+ % Format and add next author
+ %
+ field nameptr cite.name.format format.name$
+ add.name.index % Add index entry when desired.
+ %
+ % Move to next author
+ %
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ %
+ % nameptr = format.num.names
+ % Format this author.
+ %
+ field nameptr cite.name.format format.name$ 's :=
+ %
+ format.num.names numnames =
+ { %
+ % This is also the last author. Add (optional) comma.
+ %
+ comma.before.last write$
+ %
+ % Check if this author is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { et.al.string.cite write$ }
+ { and.before.last write$
+ s
+ add.name.index % Add index entry when desired.
+ }
+ if$
+ }
+ { %
+ % This is not the last author.
+ % Add comma, author name, and "et al."
+ %
+ comma.between.names write$
+ s
+ add.name.index % Add index entry when desired.
+ %
+ comma.before.last et.al.string.cite * write$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Citation labels when no author, editor, firstkey or key
+% is available.
+
+FUNCTION {make.title.cite.label}
+{ %
+ % Formatting: check if formatted as article title or
+ % as book title, and insert this formatting.
+ %
+ is.atype
+ { "\APACciteatitle{" }
+ { "\APACcitebtitle{" }
+ if$
+ %
+ title empty$
+ { text empty$
+ { type empty$
+ { howpublished empty$
+ { note empty$
+ { cite$ }
+ { note }
+ if$
+ }
+ { howpublished }
+ if$
+ }
+ { type }
+ if$
+ }
+ { text }
+ if$
+ }
+ { title }
+ if$
+ %
+ % Connect with formatting.
+ %
+ * "}" *
+ %
+ % Write to output
+ %
+ write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Citation labels when author or editor may be used.
+
+FUNCTION {make.author.editor.cite.label}
+{ author empty$
+ { editor empty$
+ { %
+ % No author or editor:
+ % Use title or other description as citation label.
+ %
+ make.title.cite.label
+ "}{%" write$ newline$
+ make.title.cite.label
+ }
+ { cite.num.names.full editor make.name.cite.label
+ "}{%" write$ newline$
+ cite.num.names.short editor make.name.cite.label
+ }
+ if$
+ }
+ { cite.num.names.full author make.name.cite.label
+ "}{%" write$ newline$
+ cite.num.names.short author make.name.cite.label
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Citation labels when author (but not editor) may be used.
+
+FUNCTION {make.author.cite.label}
+{ author empty$
+ { %
+ % No author:
+ % Use title or other description as citation label.
+ %
+ make.title.cite.label
+ "}{%" write$ newline$
+ make.title.cite.label
+ }
+ { cite.num.names.full author make.name.cite.label
+ "}{%" write$ newline$
+ cite.num.names.short author make.name.cite.label
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make "a" or "b" supplement to year label when necessary.
+
+FUNCTION {make.definitive.year.supplement}
+{ %
+ % Add "a", "b", etc. when necessary.
+ %
+ add.to.year #0 =
+ { "" }
+ { "{\protect"
+ year empty$
+ { "\BCntND" * }
+ { year "\bibnodate" =
+ { "\BCntND" * }
+ { year "\BIP" =
+ { "\BCntIP" * }
+ { "\BCnt" * }
+ if$
+ }
+ if$
+ }
+ if$
+ "{" * add.to.year int.to.str$ * "}}" *
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Add \protect if year is \BIP or \bibnodate.
+
+FUNCTION {protect.year}
+{ year empty$
+ { "{\protect\bibnodate{}}" }
+ { year "\bibnodate" =
+ { "{\protect\bibnodate{}}" }
+ { year "\BIP" =
+ { "{\protect\BIP{}}" }
+ { year }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make year label that is used for citations in text.
+
+FUNCTION {make.definitive.year.label}
+{ "{\protect\APACyear{"
+ originalyear empty$
+ { protect.year }
+ { originalyear "\bibnodate" = % date of original publication unknown
+ { translator empty$
+ { protect.year }
+ { year empty$
+ { "{\protect\BTRANSL{}~\protect\bibnodate{}}" } % trans. n.d.
+ { "{\protect\BTRANSL{}}~" protect.year * } % trans. 1931
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { originalyear "/{\protect\bibnodate{}}" * } % 1923/n.d.
+ { originalyear year =
+ { protect.year }
+ { originalyear "/" * protect.year * } % 1923/1961
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ * "}}%" * write$ newline$
+ %
+ % Add "a", "b", etc. when necessary.
+ %
+ "{\protect\APACexlab{" "}}"
+ make.definitive.year.supplement enclose.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make citation labels:
+% - Full formatted author list (or substitute if no author
+% available) for first citation;
+% - Short formatted author list (ditto) for subsequent
+% citations;
+% - Year, with originalyear when applicable, and "a" or "b"
+% etc. addendum when necessary.
+
+FUNCTION {make.cite.labels}
+{ newline$
+ %
+ % Write a few lines for testing purposes.
+ %
+ test
+ { "\bibitem[]{} \fullciteA{" cite$ * "}" * write$ newline$
+ "\bibitem[]{} \citeA{" cite$ * "}" * write$ newline$
+ }
+ 'skip$
+ if$
+ %
+ "\bibitem[\protect\citeauthoryear{%" write$ newline$
+ %
+ % When key or firstkey is available, this takes precedence.
+ %
+ firstkey empty$ not
+ { %
+ % Full cite: firstkey.
+ %
+ firstkey write$
+ "}{%" write$ newline$
+ %
+ % Short cite: if key is not empty and cite.initials is 0,
+ % then key, else firstkey.
+ %
+ cite.initials #0 =
+ key empty$ not
+ and
+ { key }
+ { firstkey }
+ if$
+ write$
+ }
+ { key empty$ not
+ { %
+ % No firstkey, but key available:
+ % Both full and short labels are key.
+ %
+ key write$
+ "}{%" write$ newline$
+ key write$
+ }
+ { % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { make.author.cite.label }
+ { make.author.editor.cite.label }
+ if$
+ }
+ if$
+ }
+ if$
+ "}{%" write$ newline$
+ %
+ % Make year label that's used for citations
+ %
+ make.definitive.year.label write$
+ "}]{%" write$ newline$
+ cite$ write$
+ "}%" write$ newline$
+ % author.year.sort.label write$ newline$ % for testing purposes
+ % year.label write$ newline$ % for testing purposes
+ %
+ % If the item is used in a meta-analysis, indicate this with
+ % a star.
+ %
+ "\APACinsertmetastar{%" write$ newline$
+ cite$ write$
+ "}%" write$ newline$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% FORMATTING OF REFERENCE LIST %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% "(Ed.)" or "(Eds.)" postfix.
+% editor must not be empty
+
+FUNCTION {editor.postfix}
+{ editor num.names$ #1 >
+ { "(\BEDS)" }
+ { "(\BED)" }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% "(Ed. \& Trans.)" postfix
+% editor must not be empty
+
+FUNCTION {editor.trans.postfix}
+{ editor num.names$ #1 >
+ { "(\BEDS{} \BAnd{} \BTRANSS)" }
+ { "(\BED{} \BAnd{} \BTRANS)" }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % "(Trans.)" postfix
+ % translator must not be empty
+ %
+FUNCTION {trans.postfix}
+{ translator num.names$ #1 >
+ { "(\BTRANSS)" }
+ { "(\BTRANS)" }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format authors (or editors acting as authors) for
+% reference list.
+%
+% Call with
+% dot field format.author.names
+% where field is the field (string) that contains the authors
+% (or editors acting as authors) that must be formatted and
+% dot is 1 or 0 indicating whether or not a period must end
+% the formatting.
+
+FUNCTION {format.author.names}
+{ 'field :=
+ 'dot :=
+ %
+ field num.names$ 'numnames := % numnames is the total number of names
+ % contained in field
+ numnames 'format.num.names := % Format all authors
+ format.num.names name.max > % Unless this exceeds the maximum of 6.
+ { dot
+ { name.max 'format.num.names := } % Format 6 authors
+ { cite.num.names.full 'format.num.names := } % Format 1 editor
+ if$
+ }
+ 'skip$
+ if$
+ %
+ % It is kind of explicit in the APA manual that if "et al." would
+ % refer to exactly one author (the 7th), then this author should
+ % still be replaced by "et al.", unlike with citations.
+ % So format.num.names is not adapted.
+ %
+ % Format first author
+ %
+ #1 'nameptr :=
+ field nameptr author.name.format format.name$
+ %
+ % Add period if required and if this is the only author.
+ %
+ numnames #1 =
+ dot
+ and
+ { add.period$ }
+ 'skip$
+ if$
+ add.name.index % Add index entry when desired.
+ %
+ numnames #1 =
+ 'skip$
+ { format.num.names #1 =
+ { %
+ % First author et al.
+ %
+ comma.between.two
+ %
+ % Add period if required.
+ %
+ dot
+ { et.al.string.period * }
+ { et.al.string * }
+ if$
+ write$
+ }
+ { numnames #2 =
+ { %
+ % Given that format.num.names > 1, it is 2.
+ %
+ comma.between.two write$
+ %
+ % Format second author.
+ %
+ #2 'nameptr :=
+ field nameptr author.name.format format.name$ 's :=
+ %
+ % Check if 2nd author is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { %
+ % First et al.
+ % Add period if required.
+ %
+ dot
+ { et.al.string.period }
+ { et.al.string }
+ if$
+ write$
+ }
+ { %
+ % First \& Second
+ %
+ and.before.last write$
+ %
+ % Add period if required.
+ %
+ dot
+ { s add.period$ }
+ { s }
+ if$
+ add.name.index % Add index entry when desired.
+ }
+ if$
+ }
+ { %
+ % 3 or more names, 2 or more must be cited
+ %
+ % for nameptr := 2 to format.num.names - 1 do
+ %
+ #2 'nameptr :=
+ { nameptr format.num.names < }
+ { %
+ % Put comma between consecutive authors
+ %
+ comma.between.names write$
+ %
+ % Format and add next author
+ %
+ field nameptr author.name.format format.name$
+ add.name.index % Add index entry when desired.
+ %
+ % Move to next author
+ %
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ %
+ % nameptr = format.num.names
+ % Format this author.
+ %
+ field nameptr author.name.format format.name$ 's :=
+ %
+ format.num.names numnames =
+ { %
+ % This is also the last author. Add (optional) comma.
+ %
+ comma.before.last write$
+ %
+ % Check if this author is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { %
+ % Add period if required.
+ %
+ dot
+ { et.al.string.period }
+ { et.al.string }
+ if$
+ write$
+ }
+ { and.before.last write$
+ %
+ % Add period if required.
+ %
+ dot
+ { s add.period$ }
+ { s }
+ if$
+ add.name.index % Add index entry when desired.
+ }
+ if$
+ }
+ { %
+ % This is not the last author.
+ % Add comma, author name, and "et al."
+ %
+ comma.between.names write$
+ s
+ add.name.index % Add index entry when desired.
+ %
+ comma.before.last
+ %
+ % Add period if required.
+ %
+ dot
+ { et.al.string.period * }
+ { et.al.string * }
+ if$
+ write$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format authors in reference list, where it is given that
+% the author field is not empty.
+
+FUNCTION {format.authors}
+{ #1 author format.author.names
+ "%" write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format editors in reference list in case editors act as
+% authors (such as reference to entire edited book)
+%
+% Letheridge, S., \& Cannon, C. R. (Eds.).
+% or
+% Letheridge, S. (Ed.). (if only 1 editor)
+%
+% editor must not be empty
+
+FUNCTION {format.editors.as.authors}
+{ #0 editor format.author.names
+ "\ " editor.postfix * add.period$ write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Format editors in reference list in case editors are also
+% translators and act as authors (such as reference to entire
+% edited book of translated articles)
+%
+% Letheridge, S., \& Cannon, C. R. (Eds. and Trans.).
+% or
+% Letheridge, S. (Ed. and Trans.). (if only 1 editor)
+%
+% editor must not be empty
+
+FUNCTION {format.ed.trans.as.authors}
+{ #0 editor format.author.names
+ "\ " editor.trans.postfix * add.period$ write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format a list of names with the initials before the
+% last names (i.e., names in the editor position),
+% commas between names (not between 2),
+% and ampersand (\&) before last name.
+% These names are not put in the author index.
+%
+% Call with
+% field format.editor.names
+
+FUNCTION {format.editor.names}
+{ 'field :=
+ %
+ field num.names$ 'numnames := % numnames is the total number of names
+ % contained in field
+ numnames 'format.num.names := % Format all authors
+ format.num.names name.max > % Unless this exceeds the maximum of 6.
+ { #1 'format.num.names := } % Then it becomes 1 (First et al.)
+ 'skip$
+ if$
+ %
+ % Format first editor
+ %
+ field #1 editor.name.format format.name$
+ %
+ numnames #1 =
+ 'skip$
+ { format.num.names #1 =
+ { et.al.string * } % First editor et al., no comma.
+ { numnames #2 =
+ { %
+ % Given that format.num.names > 1, it is 2.
+ % No comma. Format second editor.
+ %
+ field #2 editor.name.format format.name$ 's :=
+ %
+ % Check if 2nd editor is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { et.al.string * } % First et al.
+ { and.before.last * s * } % First \& Second
+ if$
+ }
+ { %
+ % 3 or more names, 2 or more must be cited
+ %
+ % for nameptr := 2 to format.num.names - 1 do
+ %
+ #2 'nameptr :=
+ { nameptr format.num.names < }
+ { %
+ % Put comma between consecutive editors
+ %
+ comma.between.names *
+ %
+ % Format and add next editor
+ %
+ field nameptr editor.name.format format.name$ *
+ %
+ % Move to next editor
+ %
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ %
+ % nameptr = format.num.names
+ % Format this editor.
+ %
+ field nameptr editor.name.format format.name$ 's :=
+ %
+ format.num.names numnames =
+ { %
+ % This is also the last editor. Add (optional) comma.
+ %
+ comma.before.last *
+ %
+ % Check if this editor is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { et.al.string * }
+ { and.before.last * s * }
+ if$
+ }
+ { %
+ % This is not the last editor.
+ % Add comma, editor name, and "et al."
+ %
+ comma.between.names * s *
+ comma.before.last * et.al.string *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format editors in case editors do not act as authors
+ % (such as reference to chapter in edited book)
+ %
+ % L. W. Poon (Ed.) (1 editor)
+ % or
+ % A. S. Gurman \& D. P. Kniskern (Eds.) (2 editors)
+ % or
+ % L. Poon, A. Jones, \& D. P. Smith (Eds.) (>2 editors)
+ %
+ % editor must not be empty
+ %
+FUNCTION {format.editors.in.line}
+{ editor format.editor.names
+ editor.postfix connect.with.space.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format editors in case editors are also translators
+ % and do not act as authors
+ % (such as reference to chapter in edited book
+ % of translated articles)
+ %
+ % L. W. Poon (Ed. and Trans.) (1 editor)
+ % or
+ % A. S. Gurman \& D. P. Kniskern (Eds. and Trans.) (2 editors)
+ % or
+ % L. Poon, A. Jones, \& D. P. Smith (Eds. and Trans.) (>2 editors)
+ %
+ % editor must not be empty
+ %
+FUNCTION {format.editors.trans.in.line}
+{ editor format.editor.names
+ editor.trans.postfix connect.with.space.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format translators in case translators act as editors
+ % (such as reference to chapter in translated book)
+ %
+ % L. W. Poon (Trans.) (1 translator)
+ % or
+ % A. S. Gurman \& D. P. Kniskern (Trans.) (2 translators)
+ % or
+ % L. Poon, A. Jones, \& D. P. Smith (Trans.) (>2 translators)
+ %
+ % translator must not be empty
+ %
+FUNCTION {format.translators.in.line}
+{ translator format.editor.names
+ trans.postfix connect.with.space.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format translators in case translator does not act as editor
+ % (such as reference to translated book)
+ %
+ % L. Solotaroff, Trans.
+ %
+FUNCTION {format.translators.in.paren.check}
+{ translator empty$
+ { "" }
+ { translator format.editor.names
+ translator num.names$ #1 >
+ { ", \BTRANSS{}" * }
+ { ", \BTRANS{}" * }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format editors and translators in case neither act as editor
+ % (such as reference to edited or translated book with a
+ % a single author)
+ %
+ % L. Solotaroff, Ed.
+ % L. Solotaroff, Ed. \& Trans.
+ % L. Solotaroff, Trans.
+ % L. Solotaroff, Ed. \& S. Prokofieff, Trans.
+ %
+FUNCTION {format.editors.translators.in.paren.check}
+{ editor empty$
+ { translator empty$
+ { "" }
+ { translator format.editor.names
+ translator num.names$ #1 >
+ { ", \BTRANSS{}" * }
+ { ", \BTRANS{}" * }
+ if$
+ }
+ if$
+ }
+ { editor format.editor.names
+ editor num.names$ #1 >
+ { ", \BEDS{}" * }
+ { ", \BED{}" * }
+ if$
+ translator empty$
+ 'skip$
+ { editor translator =
+ { editor num.names$ #1 >
+ { " \BAnd{} \BTRANSS" * }
+ { " \BAnd{} \BTRANS" * }
+ if$
+ }
+ { " \BAnd{} " *
+ translator format.editor.names *
+ translator num.names$ #1 >
+ { ", \BTRANSS{}" * }
+ { ", \BTRANS{}" * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % translator of article
+ %
+FUNCTION {format.atrans.check}
+{ format.translators.in.paren.check parenthesize.check }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format "In editor (Ed.), "
+ %
+FUNCTION {format.in.editors}
+{ "\BIn{} "
+ editor empty$
+ 'skip$
+ { format.editors.in.line * ", " * }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format "In translator (Trans.),"
+ %
+FUNCTION {format.in.trans}
+{ "\BIn{} "
+ translator empty$
+ 'skip$
+ { format.translators.in.line * ", " * }
+ if$
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format "In editor (Ed. and Trans.)"
+ % or "In editor (Ed.)" if editor not equal to translator
+ %
+FUNCTION {format.in.editors.trans}
+{ "\BIn{} "
+ editor empty$
+ { translator empty$
+ 'skip$
+ { format.translators.in.line * ", " * }
+ if$
+ }
+ { translator empty$
+ { format.editors.in.line * }
+ { editor translator =
+ { format.editors.trans.in.line * }
+ { format.editors.in.line * }
+ if$
+ }
+ if$
+ ", " *
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DATE %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Formats year (+ extra label) between parentheses (which
+% may be redefined by \BBOP and \BBCP).
+% Extra label can be used for
+% Bentler, P. M. (1983a) <article 1>
+% Bentler, P. M. (1983b) <article 2>
+
+FUNCTION {format.year.check}
+{ "\BBOP{}" "\BBCP{}" % Opening and closing parentheses
+ year empty$
+ { "\bibnodate{}" }
+ { year }
+ if$
+ %
+ % Add "a", "b", etc. when necessary.
+ %
+ make.definitive.year.supplement *
+ %
+ % Combine everything
+ %
+ enclose.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Formats year (+ extra label) + month + day between
+% parentheses (which may be redefined by \BBOP and \BBCP).
+% Extra label can be used for
+% Bentler, P. M. (1983a, June 7) <article 1>
+% Bentler, P. M. (1983b, April 4) <article 2>
+
+FUNCTION {format.year.month.day.check}
+{ "\BBOP{}" "\BBCP{}" % Opening and closing parentheses
+ year empty$
+ { "\bibnodate{}" }
+ { year }
+ if$
+ %
+ % Add "a", "b", etc. when necessary.
+ %
+ make.definitive.year.supplement *
+ %
+ % Add month and day when present.
+ %
+ month connect.with.comma.check
+ day connect.with.space.check
+ %
+ % Combine everything
+ %
+ enclose.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% TITLE FORMATTING %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of article in journal or book
+ % no finishing period
+ % field must be on top of stack
+ % (so englishtitle can be handled also)
+ %
+FUNCTION {format.atitle.no.dot}
+{ "\BBOQ{}" swap$
+ "\BBCQ{}" swap$
+ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ }
+ if$
+ enclose.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of article in journal or book
+ % with finishing period
+ % field must be on top of stack
+ % (so englishtitle can be handled also)
+ %
+FUNCTION {format.atitle.dot}
+{ "\BBOQ{}" swap$
+ "\BBCQ{} " swap$
+ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ add.period$ }
+ if$
+ enclose.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of article in journal or book
+ % field must be on top of stack
+ % second element on stack must be connected:
+ % if that is empty, then atitle.dot
+ % else atitle.no.dot, connect, and add period
+ %
+FUNCTION {format.atitle.connect}
+{ swap$
+ duplicate$ empty$
+ { pop$
+ format.atitle.dot
+ }
+ { swap$
+ format.atitle.no.dot
+ swap$ connect.with.space.check
+ add.period$
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of book or so, no period
+ %
+ % call with
+ % field format.btitle.no.dot
+ %
+FUNCTION {format.btitle.no.dot}
+{ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ emphasize.check }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of book or so, with period
+ % (maybe emphasize and add.period$ should be reversed)
+ % call with
+ % field format.btitle.dot
+ %
+FUNCTION {format.btitle.dot}
+{ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ add.period$ emphasize.check }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of book and similar
+ % field must be on top of stack
+ % second element on stack must be connected:
+ % if that is empty, then btitle.dot
+ % else btitle.no.dot, connect, and add period
+ %
+FUNCTION {format.btitle.connect}
+{ swap$
+ duplicate$ empty$
+ { pop$
+ format.btitle.dot
+ }
+ { swap$
+ format.btitle.no.dot
+ swap$ connect.with.space.check
+ add.period$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of book and similar
+ % field must be on top of stack
+ % second element on stack must be connected
+ %
+FUNCTION {format.btitle.connect.no.dot}
+{ swap$
+ duplicate$ empty$
+ { pop$
+ format.btitle.no.dot
+ }
+ { swap$
+ format.btitle.no.dot
+ swap$ connect.with.space.check
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format englishtitle (of nonenglish article, etc.)
+ %
+FUNCTION {format.etitle.check}
+{ englishtitle empty$
+ { "" }
+ { englishtitle "t" change.case$ bracket.check }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format type (of article, etc.)
+ %
+FUNCTION {format.atype.check}
+{ type bracket.check }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format title and englishtitle (of article, etc.)
+ %
+FUNCTION {format.atitle.check}
+{ format.etitle.check
+ title format.atitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format title, englishtitle, and type
+ % (of article, etc.)
+ %
+FUNCTION {format.atitle.type.check}
+{ format.etitle.check
+ format.atype.check connect.with.space.check
+ title format.atitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format title, englishtitle,
+ % and translator (of article, etc.)
+ %
+FUNCTION {format.atitle.trans.check}
+{ format.etitle.check
+ format.atrans.check connect.with.space.check
+ title format.atitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format title, englishtitle, type,
+ % and translator (of article, etc.)
+ %
+FUNCTION {format.atitle.type.trans.check}
+{ format.etitle.check
+ format.atype.check connect.with.space.check
+ format.atrans.check connect.with.space.check
+ title format.atitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format journal, volume, number and pages
+ % call with
+ % formatted.pages format.journal.vol.num.pages.check
+ %
+FUNCTION { format.journal.vol.num.pages.check }
+{ "journal" journal warning.if.empty
+ journal emphasize.check
+ volume emphasize.check connect.with.comma.check
+ number parenthesize.check "" connect.check
+ swap$ connect.with.comma.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume of book, checks whether
+ % "Volume" or "Volumes"
+ %
+ % call with
+ % field format.bvolume.check
+ %
+FUNCTION {format.bvolume.check}
+{ duplicate$ empty$
+ 'skip$
+ { duplicate$ multi.result.check
+ { "\BVOLS" swap$ tie.or.space.connect }
+ { "\BVOL" swap$ tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % edition of book, must not be empty
+ % call with
+ % field format.edition.check
+ %
+FUNCTION {format.edition.check}
+{ duplicate$ empty$
+ 'skip$
+ { "\BEd" connect.with.space.check }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume and edition of book
+ %
+FUNCTION {format.bvol.edition.check}
+{ edition format.edition.check
+ volume format.bvolume.check
+ connect.with.comma.check
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume and edition of book
+ %
+FUNCTION {format.bvol.edition}
+{ format.bvol.edition.check
+ parenthesize.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume and edition and translator of translated book
+ %
+FUNCTION {format.bvol.edition.trans}
+{ format.bvol.edition.check
+ format.translators.in.paren.check connect.with.semicolon.check
+ parenthesize.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume, edition, editor, and translator of (translated) book
+ %
+FUNCTION {format.bvol.edition.editor.trans}
+{ format.bvol.edition.check
+ format.editors.translators.in.paren.check connect.with.semicolon.check
+ parenthesize.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % formats pages by first checking if 1 or more pages
+ % and prefixing pages with "p." or "pp." (these strings
+ % are given in the commands \BPG and \BPGS, respectively),
+ % whichever is applicable, and do a tie or space connect
+ %
+ % call with
+ % field format.bpages.check
+ %
+FUNCTION {format.bpages.check}
+{ duplicate$ empty$
+ 'skip$
+ { duplicate$ multi.result.check
+ { "\BPGS" swap$ tie.or.space.connect }
+ { "\BPG" swap$ tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % formats chapters by first checking if 1 or more chapters
+ % and prefixing pages with "chap." (this string
+ % is given in the commands \BCHAP and \BCHAPS, respectively),
+ % whichever is applicable, and do a tie or space connect
+ %
+ % call with
+ % field format.bchapter.check
+ %
+FUNCTION {format.bchapter.check}
+{ duplicate$ empty$
+ 'skip$
+ { duplicate$ multi.result.check
+ { "\BCHAPS" swap$ tie.or.space.connect }
+ { "\BCHAP" swap$ tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume, edition, and pages or chapter of article in book etc.
+ %
+FUNCTION {format.bvol.edition.pages}
+{ format.bvol.edition.check
+ pages empty$
+ { chapter format.bchapter.check connect.with.comma.check }
+ { pages format.bpages.check connect.with.comma.check }
+ if$
+ parenthesize.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, volume, edition of book
+ %
+FUNCTION {format.btitle.vol.edition}
+{ format.etitle.check
+ format.bvol.edition connect.with.space.check
+ title format.btitle.connect.no.dot
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, volume, edition, and translator of book
+ %
+FUNCTION {format.btitle.vol.edition.trans}
+{ format.etitle.check
+ format.bvol.edition.trans connect.with.space.check
+ title format.btitle.connect.no.dot
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, volume, edition, editor, and translator of book
+ %
+FUNCTION {format.btitle.vol.edition.editor.trans}
+{ format.etitle.check
+ format.bvol.edition.editor.trans connect.with.space.check
+ title format.btitle.connect.no.dot
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format address and publisher of book etc.
+ %
+ % New York: Wiley
+ % or
+ % Wiley (if address empty)
+ % or
+ % New York (if publisher empty)
+ %
+FUNCTION {format.address.publisher}
+{ address publisher connect.with.colon.check }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format address and publisher of book etc.
+ %
+ % New York: Wiley
+ % or
+ % Wiley (if address empty)
+ % or
+ % New York (if publisher empty)
+ %
+ % warning if no publisher or no address
+ %
+FUNCTION {format.address.publisher.check}
+{ "publisher" publisher warning.if.empty
+ "address" address warning.if.empty
+ format.address.publisher
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format number as in reports: No. 2017
+ % call with
+ % field format.rnumber.check
+ %
+FUNCTION {format.rnumber.check}
+{ duplicate$ empty$
+ 'skip$
+ { duplicate$ multi.result.check
+ { "\BNUMS" swap$ tie.or.space.connect }
+ { "\BNUM" swap$ tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format type and number of a standalone item
+ % call with
+ % format.type.number
+ %
+FUNCTION { format.type.number }
+{ number empty$
+ { type bracket.check }
+ { type
+ number format.rnumber.check connect.with.space.check
+ parenthesize.check
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format howpublished if not empty,
+ % for various entry types
+ % call with
+ % format.howpublished
+ %
+FUNCTION {format.howpublished}
+{ howpublished empty$
+ 'skip$
+ { output.dot.new.block
+ howpublished
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format howpublished if not empty,
+ % for misc
+ % call with
+ % output.howpublished
+ %
+FUNCTION {output.howpublished}
+{ howpublished empty$
+ 'skip$
+ { howpublished
+ output.dot.new.block
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% NOTE FORMATTING FUNCTIONS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format optional note
+ %
+FUNCTION {format.note}
+{ note parenthesize.check }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format original year of publication and note
+ % (reprint or translation)
+ %
+FUNCTION {format.orig.year.note}
+{ originalyear empty$
+ { note parenthesize.check }
+ { originalyear "\bibnodate" =
+ { note parenthesize.check }
+ { "\BOWP{} " originalyear * % original work published
+ note connect.with.semicolon.check
+ parenthesize.check
+ }
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format original journal of publication and note
+ % (reprint or translation)
+ %
+FUNCTION {format.orig.journal.note}
+{ "\BREPR{} " % reprinted from
+ originaljournal emphasize.check *
+ originalyear connect.with.comma.check
+ originalvolume emphasize.check connect.with.comma.check
+ originalnumber bracket.check "" connect.check
+ originalpages connect.with.comma.check
+ note connect.with.semicolon.check
+ parenthesize.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format original book of publication and note
+ % (reprint or translation)
+ %
+FUNCTION {format.orig.book.note}
+{ "\BREPR{}" % Reprinted from
+ %
+ % title of the book the work was originally published in
+ %
+ originalbooktitle format.btitle.no.dot connect.with.space.check
+ %
+ % volume, edition, pages
+ %
+ originaledition format.edition.check connect.with.comma.check
+ originalvolume format.bvolume.check connect.with.comma.check
+ originalpages format.bpages.check connect.with.comma.check
+ %
+ % editor of the original book
+ %
+ originaleditor empty$
+ 'skip$
+ { "by " originaleditor format.editor.names *
+ originaleditor num.names$ #1 >
+ { ", \BEDS{}" * }
+ { ", \BED{}" * }
+ if$
+ connect.with.comma.check
+ }
+ if$
+ %
+ % year of the original publication
+ %
+ originalyear connect.with.comma.check
+ %
+ originaladdress originalpublisher connect.with.colon.check
+ connect.with.comma.check
+ note connect.with.semicolon.check
+ parenthesize.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format information about original publication of reprint
+ % and format optional note
+ %
+FUNCTION {format.orig.note}
+{ originaljournal empty$
+ { originalbooktitle empty$
+ { note empty$
+ { originalyear empty$
+ { add.period$ }
+ { originalyear "\bibnodate" =
+ { add.period$ }
+ { output.dot.new.block
+ format.orig.year.note
+ }
+ if$
+ }
+ if$
+ }
+ { output.dot.new.block
+ format.orig.year.note
+ }
+ if$
+ }
+ { output.dot.new.block
+ format.orig.book.note
+ }
+ if$
+ }
+ { output.dot.new.block
+ format.orig.journal.note
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% PERIODICALS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % article in periodical: journal, magazine, newspaper, ...
+ %
+ % call with
+ % formatted.pages formatted.date periodical
+ %
+FUNCTION {periodical}
+{ %
+ % author or editor, year, title, englishtitle, type
+ %
+ author empty$
+ %
+ % no author: possibly special issue with editors as authors
+ % (APA manual, ex. 11, p. 121)
+ %
+ { editor empty$
+ %
+ % no author or editor: title serves as author.
+ % title formatted as article title (APA manual not consistent in this,
+ % compare statement on p. 119: ``treat as book title'' and
+ % example 8, p. 121: no underlining => article title)
+ %
+ { format.atitle.type.trans.check output.new.block
+ %
+ % now formatted date on top of stack
+ %
+ output.dot.new.block
+ }
+ %
+ % format editor and year, and check if year is present
+ % format article title and check if title or type present
+ %
+ { format.editors.as.authors start.new.block
+ %
+ % now formatted date on top of stack
+ %
+ output.dot.new.block
+ format.atitle.type.trans.check output.new.block
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format article title and check if title or type present
+ %
+ { format.authors start.new.block
+ %
+ % now formatted date on top of stack
+ %
+ output.dot.new.block
+ format.atitle.type.trans.check output.new.block
+ }
+ if$
+ %
+ % format journal name, volume and issue number, and pages
+ % and check if journal not empty
+ %
+ format.journal.vol.num.pages.check
+ %
+ % if not empty, insert howpublished.
+ % (used if article is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % possible reprint and optional note
+ %
+ format.orig.note
+ fin.entry
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % journal article
+ %
+FUNCTION {article}
+{ pages format.year.month.day.check periodical }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % magazine article
+ %
+FUNCTION {magazine}
+{ pages format.year.month.day.check periodical }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % newspaper article
+ %
+FUNCTION {newspaper}
+{ pages format.bpages.check format.year.month.day.check periodical }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % (translation of) entire book
+ %
+FUNCTION {book}
+{ %
+ % author or editor,
+ % year, title, englishtitle, translator
+ %
+ author empty$
+ %
+ % no author: possibly edited book with editors as authors
+ %
+ { editor empty$
+ %
+ % no author or editor: title serves as author.
+ % title formatted as book title
+ %
+ { format.btitle.vol.edition.trans
+ format.type.number connect.with.space.check
+ output.dot.new.block
+ format.year.check output.dot.new.block
+ }
+ %
+ % format editor and year, and check if year is present
+ % format booktitle, volume, and edition and check if title present
+ %
+ { translator empty$
+ { format.editors.as.authors start.new.block
+ format.year.check output.dot.new.block
+ format.btitle.vol.edition
+ }
+ %
+ % format translator correctly
+ %
+ { translator editor =
+ not
+ { format.editors.as.authors start.new.block
+ format.year.check output.dot.new.block
+ format.btitle.vol.edition.trans
+ }
+ { format.ed.trans.as.authors start.new.block
+ format.year.check output.dot.new.block
+ format.btitle.vol.edition
+ }
+ if$
+ }
+ if$
+ format.type.number connect.with.space.check
+ output.dot.new.block
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format booktitle, volume, and edition and check if title present
+ %
+ { format.authors start.new.block
+ format.year.check output.dot.new.block
+ format.btitle.vol.edition.editor.trans
+ format.type.number connect.with.space.check
+ output.dot.new.block
+ }
+ if$
+ %
+ % format address and publisher, check if address and publisher present
+ %
+ format.address.publisher.check
+ %
+ % format original publication (of reprint/translation)
+ % and optional note
+ %
+ format.orig.note
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % (translated) article or chapter in edited book
+ %
+FUNCTION {incollection}
+{ author empty$
+ %
+ % no author: title serves as author.
+ % title formatted as article title (APA manual not consistent in this,
+ % compare statement on p. 119: ``treat as book title'' and
+ % example 8, p. 121: no underlining => article title)
+ %
+ { editor.ne.trans
+ { format.atitle.type.trans.check }
+ { format.atitle.type.check }
+ if$
+ output.new.block
+ %
+ % format month and day as well when available
+ % esp. for ``collections'' that are not books,
+ % such as parts of internet documents
+ %
+ format.year.month.day.check output.dot.new.block
+ }
+ %
+ % format author and year, and check if year is present
+ % format article title and check if title or type present
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ editor.ne.trans
+ { format.atitle.type.trans.check }
+ { format.atitle.type.check }
+ if$
+ output.new.block
+ }
+ if$
+ %
+ % format "In " editor " (Ed. \& Trans.), "
+ % booktitle, volume, edition, pages
+ %
+ format.in.editors.trans
+ format.bvol.edition.pages
+ booktitle format.btitle.connect * output.dot.new.block
+ %
+ % format address and publisher, check if publisher present
+ %
+ format.address.publisher.check
+ %
+ % if not empty, insert howpublished.
+ % (used if article is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % format original publication (of reprint/translation)
+ % and optional note
+ %
+ format.orig.note
+ fin.entry
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% REPORTS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % technical report number
+ %
+FUNCTION {format.tr.number}
+{ type empty$
+ { "\BTR{}" }
+ { type "\bibnotype" =
+ { "" }
+ { type }
+ if$
+ }
+ if$
+ number format.rnumber.check connect.with.space.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, volume, edition, report number
+ %
+FUNCTION {format.tr.title.number}
+{ format.etitle.check
+ format.bvol.edition.check
+ format.tr.number connect.with.semicolon.check
+ parenthesize.check connect.with.space.check
+ title format.btitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format address and institution of reports etc.
+ %
+ % Washington, DC: National Institute of Education
+ % or
+ % National Institute of Education (if address empty)
+ %
+ % warning if no institution
+ %
+FUNCTION {format.address.institution.check}
+{ "institution" institution warning.if.empty
+ "address" address warning.if.empty
+ address institution connect.with.colon.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % reports
+ %
+FUNCTION {techreport}
+{ author empty$
+ %
+ % no author: possibly edited report with editors as authors
+ %
+ { editor empty$
+ %
+ % no author or editor: title serves as author.
+ % title formatted as book title
+ %
+ { format.tr.title.number output.dot.new.block
+ format.year.month.day.check output.dot.new.block
+ }
+ %
+ % format editor and year, and check if year is present
+ % format report title and check if title present
+ % format volume, edition, type, and number
+ %
+ { format.editors.as.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ format.tr.title.number output.dot.new.block
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format report title and check if title present
+ % format volume, edition, type, and number
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ format.tr.title.number output.dot.new.block
+ }
+ if$
+ %
+ % format address and institution, check if institution present
+ %
+ format.address.institution.check
+ %
+ % if not empty, insert howpublished.
+ % (used if report is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % format optional note
+ %
+ note empty$
+ { add.period$ }
+ { output.dot.new.block
+ format.note
+ }
+ if$
+ fin.entry
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % (translated) article or chapter in report
+ %
+FUNCTION {intechreport}
+{ author empty$
+ %
+ % no author: title serves as author.
+ % title formatted as article title (APA manual not consistent in this,
+ % compare statement on p. 119: ``treat as book title'' and
+ % example 8, p. 121: no underlining => article title)
+ %
+ { editor.ne.trans
+ { format.atitle.trans.check }
+ { format.atitle.check }
+ if$
+ output.new.block
+ format.year.month.day.check output.dot.new.block
+ }
+ %
+ % format author and year, and check if year is present
+ % format article title and check if title or type present
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ editor.ne.trans
+ { format.atitle.trans.check }
+ { format.atitle.check }
+ if$
+ output.new.block
+ }
+ if$
+ %
+ % format "In " editor " (Ed. \& Trans.), "
+ % booktitle, volume, edition, pages
+ %
+ format.in.editors.trans
+ %
+ % volume, edition, report type and number, pages
+ %
+ format.bvol.edition.check
+ format.tr.number connect.with.semicolon.check
+ pages format.bpages.check connect.with.comma.check
+ parenthesize.check
+ %
+ booktitle format.btitle.connect *
+ output.dot.new.block
+ %
+ % format address and publisher, check if publisher present
+ %
+ format.address.institution.check
+ %
+ % if not empty, insert howpublished.
+ % (used if report is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % format original publication (of reprint/translation)
+ % and optional note
+ %
+ format.orig.note
+ fin.entry
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % papers presented at conferences etc.
+ %
+FUNCTION {lecture}
+{ author empty$
+ { "author" author warning.if.empty }
+ { format.authors start.new.block }
+ if$
+ %
+ % format year, month, and day, and check if year present
+ % format title and check if title present
+ % format howpublished and check if howpublished present
+ %
+ format.year.month.day.check output.dot.new.block
+ symposium empty$
+ { format.etitle.check
+ title format.btitle.connect output.new.block
+ howpublished empty$
+ { "symposium and howpublished missing in " * cite$ warning$ }
+ { howpublished }
+ if$
+ }
+ { format.atitle.type.check output.new.block
+ "\BIn{} "
+ chair empty$
+ 'skip$
+ { chair format.editor.names
+ chair num.names$ #1 >
+ { "(\BCHAIRS)" }
+ { "(\BCHAIR)" }
+ if$
+ connect.with.space.check * ", " *
+ }
+ if$
+ symposium format.btitle.no.dot *
+ format.howpublished
+ }
+ if$
+ %
+ % format optional note
+ %
+ note empty$
+ { add.period$ }
+ { output.dot.new.block
+ format.note
+ }
+ if$
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% THESES %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % default thesis type is on top of stack
+ % now, if type field is empty, this default is used
+ % else default is removed and replaced by value of
+ % type field
+ %
+FUNCTION {format.type.school}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+ school connect.with.comma.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % phd theses, etc.
+ % call with
+ % "default.published.thesis" "default.unpublished.thesis" thesis
+ %
+FUNCTION {thesis}
+{ author empty$
+ { "author" author warning.if.empty }
+ { format.authors start.new.block }
+ if$
+ %
+ % format year and check if year present
+ %
+ format.year.check output.dot.new.block
+ %
+ % format title and check if title present
+ % journal empty => unpublished PhD thesis
+ % journal not empty => published (e.g., Dissertation Abstracts Int.)
+ %
+ journal empty$
+ { format.btitle.vol.edition output.dot.new.block
+ %
+ % pop default unpublished thesis, top is default published thesis
+ %
+ swap$ pop$
+ format.type.school
+ address connect.with.comma.check
+ }
+ %
+ % pop default published thesis, top is default unpublished thesis
+ %
+ { pop$
+ type empty$
+ school empty$
+ originalyear empty$
+ and
+ and
+ { pop$
+ ""
+ }
+ { format.type.school
+ originalyear connect.with.comma.check
+ parenthesize.check
+ }
+ if$
+ format.etitle.check
+ swap$ connect.with.space.check
+ "title" title warning.if.empty
+ title format.atitle.connect output.new.block
+ pages format.journal.vol.num.pages.check
+ }
+ if$
+ %
+ % if not empty, insert howpublished.
+ % (used if thesis is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % format optional note
+ %
+ note empty$
+ { add.period$ }
+ { output.dot.new.block
+ format.note
+ }
+ if$
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % phd theses, etc.
+ %
+FUNCTION {phdthesis}
+{ "\BPhD" "\BUPhD" thesis }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % master's theses, etc.
+ %
+FUNCTION {mastersthesis}
+{ "\BMTh" "\BUMTh" thesis }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% OTHER %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of something (used in unpublished and misc)
+ % english translation of title
+ % type and number of something
+ %
+FUNCTION {format.btitle.type.num}
+{ format.etitle.check
+ format.type.number
+ connect.with.space.check
+ title empty$
+ { add.period$ }
+ { title format.btitle.connect }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of message or software-related thing (used in misc)
+ % english translation of title
+ % type and number of something
+ %
+FUNCTION {format.mtitle.type.num}
+{ format.etitle.check
+ type "\bibmessage" =
+ { number empty$
+ 'skip$
+ { type number connect.with.space.check
+ bracket.check
+ connect.with.space.check
+ }
+ if$
+ }
+ { format.type.number
+ connect.with.space.check
+ }
+ if$
+ title empty$
+ { add.period$ }
+ { title format.atitle.connect }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, english translation of title,
+ % type and number of something (used in misc)
+ %
+FUNCTION {output.misctitle.type.num}
+{ type empty$
+ { format.btitle.type.num }
+ { type "\bibmessage" =
+ type "\bibcomputerprogram" =
+ type "\bibcomputerprogrammanual" =
+ type "\bibcomputerprogramandmanual" =
+ type "\bibcomputersoftware" =
+ type "\bibcomputersoftwaremanual" =
+ type "\bibcomputersoftwareandmanual" =
+ type "\bibprogramminglanguage" =
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ { format.mtitle.type.num }
+ { format.btitle.type.num }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % unpublished manuscripts, etc.
+ %
+FUNCTION {unpublished}
+{ check.relevant.fields
+ author empty$
+ %
+ % no author: possibly edited book with editors as authors
+ %
+ { editor empty$
+ %
+ % no author or editor: title serves as author.
+ % title formatted as book title
+ %
+ { format.btitle.type.num output.dot.new.block
+ format.year.month.day.check
+ }
+ %
+ % format editor and year, and check if year is present
+ % format book title, volume, and edition and check if title present
+ %
+ { format.editors.as.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ format.btitle.type.num
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format book title, volume, and edition
+ % and check if title or type present
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ format.btitle.type.num
+ }
+ if$
+ howpublished empty$
+ organization empty$
+ address empty$
+ and
+ and
+ 'skip$
+ { output.dot.new.block
+ howpublished
+ organization connect.with.comma.check
+ address connect.with.comma.check
+ }
+ if$
+ %
+ % format optional note
+ %
+ note empty$
+ { add.period$ }
+ { output.dot.new.block
+ format.note
+ }
+ if$
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % nonprint media and other things that don't fit
+ %
+FUNCTION {misc}
+{ author empty$
+ %
+ % no author: possibly edited item with editors as authors
+ %
+ { editor empty$
+ %
+ % no author or editor: title/type serves as author.
+ % title formatted as book title
+ %
+ % if no title and no type, howpublished is title
+ %
+ { title empty$
+ type empty$
+ and
+ { howpublished empty$
+ { "No author, editor, title, type, and howpublished in "
+ cite$ * warning$ }
+ { howpublished output.dot.new.block }
+ if$
+ format.year.month.day.check output.dot.new.block
+ }
+ { output.misctitle.type.num output.new.block
+ format.year.month.day.check output.dot.new.block
+ output.howpublished
+ }
+ if$
+ }
+ %
+ % format editor and year, and check if year is present
+ % format book title, volume, and edition and check if title present
+ %
+ { format.editors.as.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ output.misctitle.type.num output.new.block
+ output.howpublished
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format book title, volume, and edition
+ % and check if title or type present
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ output.misctitle.type.num output.new.block
+ output.howpublished
+ }
+ if$
+ address empty$
+ publisher empty$
+ and
+ 'skip$
+ { format.address.publisher
+ output.dot.new.block
+ }
+ if$
+ %
+ % format optional note
+ %
+ note empty$
+ { "" }
+ { format.note }
+ if$
+ fin.entry
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % for legal cases and other cases that need to be
+ % done by hand
+ %
+FUNCTION {literal}
+{ "key" key warning.if.empty
+ "text" text warning.if.empty
+ text empty$
+ { "" }
+ { text }
+ if$
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % following functions not used for APA Manual examples
+ %
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % booklet
+ %
+FUNCTION {booklet}
+{ misc }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % part of a book
+ %
+FUNCTION {inbook}
+{ incollection }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % article in proceedings
+ %
+FUNCTION {inproceedings}
+{ incollection }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % technical documentation
+ %
+FUNCTION {manual}
+{ misc }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % proceedings
+ %
+FUNCTION {proceedings}
+{ misc }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % unknown types
+ %
+FUNCTION {default.type}
+{ misc }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% INITIALIZATION FUNCTIONS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize}
+{ %
+ % Maximum number of names to be formatted .
+ #6 'name.max :=
+% #250 'entry.max$ :=
+% #5000 'global.max$ :=
+}
+
+FUNCTION {init.old.number}
+{ %
+ % For numbering the entries according to current sorting order.
+ #0 'old.number :=
+}
+
+FUNCTION {init.old.label}
+{ %
+ % For comparing labels across entries .
+ "zzzzzz" 'old.label :=
+}
+
+FUNCTION {init.cite.initials.add.to.year}
+{ %
+ % Initialize "cite initials" indicator for all entries.
+ #0 'cite.initials :=
+ %
+ % Initialize "add to year", i.e., whether a, b, etc. must
+ % be added to the year in citation, to "no".
+ #0 'add.to.year :=
+ %
+}
+
+FUNCTION {move.forward}
+{ %
+ % Indicates that we're moving forward (ITERATE) through the entry list .
+ #1 'forward :=
+}
+
+FUNCTION {move.backward}
+{ %
+ % Indicates that we're moving backward (REVERSE) through the entry list .
+ #0 'forward :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BASIC BIBLIOGRAPHY OUTPUT FUNCTIONS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Beginning of the thebibliography environment:
+% Write preamble if there is one, write \begin command
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Write \end{thebibliography} command
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Write the citation labels and reference list entry to
+% the .bbl file.
+
+FUNCTION {write.bbl.entry}
+{ %
+ % Output \bibitem and \citeauthoryear command.
+ %
+ make.cite.labels
+ %
+ % Format and output reference list entry.
+ %
+ call.type$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% READ AND PROCESS ENTRIES, MAKE THEBIBLIOGRAPHY %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% Read entries .
+
+READ
+
+% Some initializations .
+
+EXECUTE { initialize }
+
+% Sort items by title in order to replace each title by
+% its number in later sorting .
+
+ITERATE { make.sort.title }
+
+SORT
+
+EXECUTE { init.old.number }
+
+EXECUTE { init.old.label }
+
+ITERATE { make.title.number }
+
+% Now generate some tentative author-year labels and do some
+% preprocessing for the later definitive author and year
+% labels.
+
+ITERATE { make.tentative.sort.label }
+
+SORT
+
+% Now check whether initials must be added to first author,
+% how many authors must be formatted, whether an "a", "b",
+% etc., must be added to the year label.
+
+ITERATE { init.cite.initials.add.to.year }
+
+EXECUTE { init.initials }
+
+ITERATE { check.add.initials }
+
+EXECUTE { init.initials }
+
+REVERSE { check.add.initials }
+
+ITERATE { tentative.cite.num.names }
+
+EXECUTE { init.cite.num.names }
+
+EXECUTE { move.forward }
+
+ITERATE { definitive.cite.num.names }
+
+EXECUTE { init.cite.num.names }
+
+EXECUTE { move.backward }
+
+REVERSE { definitive.cite.num.names }
+
+
+% Make final sorting label and do definitive sorting .
+
+ITERATE { make.final.sort.key }
+
+SORT
+
+% Write preamble and \begin{thebibliography}{} statement
+
+EXECUTE { begin.bib }
+
+% Make final cite labels, format reference list entry,
+% and write to .bbl file.
+
+ITERATE { write.bbl.entry }
+
+
+% Write \end{thebibliography} statement
+
+EXECUTE { end.bib }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DONE %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% EOF apacite.bst
+%
diff --git a/Master/texmf-dist/bibtex/bst/apacite/apacitex.bst b/Master/texmf-dist/bibtex/bst/apacite/apacitex.bst
new file mode 100644
index 00000000000..604ac347770
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/apacite/apacitex.bst
@@ -0,0 +1,5091 @@
+% \iffalse meta-comment
+%
+% This is file `apacitex.bst'.
+%
+% Copyright 1994-2005 Erik Meijer and any individual authors listed
+% elsewhere in this file. All rights reserved.
+%
+% This file is part of the `apacite' package.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% The list of all files belonging to the `apacite' package, with a
+% short description, is given in the file `manifest.txt'.
+%
+% \fi
+
+%% apacitex.bst : reference list according to APA manual
+%% Written by Erik Meijer <e.meijer@eco.rug.nl>
+%% This version: [2005/06/08]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DECLARATION OF FIELDS, INTEGERS, AND STRINGS FOR EACH %
+% ENTRY %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ENTRY
+ { address
+ annote % not used
+ author
+ booktitle % for articles in books
+ chair % for lectures
+ chapter % for incollection, esp. internet documents
+ day
+ edition
+ editor
+ englishtitle % english translation of title in other language
+ firstkey % key for first citation
+ howpublished
+ institution % for technical reports
+ journal
+ key % key for second and later citations, or all
+ % citations if firstkey is missing
+ month
+ note
+ number % number of journal or report
+ organization % for unpublished
+ %
+ % for reprints, translations, etc.
+ %
+ originaladdress
+ originalbooktitle
+ originaledition
+ originaleditor
+ originaljournal
+ originalnumber
+ originalpages
+ originalpublisher
+ originalvolume
+ originalyear
+ %
+ % back to normal
+ %
+ pages
+ publisher
+ school % for theses
+ series % not used
+ symposium % for lectures
+ text % for literals
+ title
+ translator % translator of book (or article)
+ type % type of phdthesis (e.g., Doctoral dissertation)
+ % or type of article (e.g., Letter to the editor)
+ % etc.
+ volume
+ year
+ }
+ { title.number % for sorting titles
+ cite.initials % dummy (0-1) indicating whether or not
+ % initials of the 1st author must
+ % be used for citing
+ cite.num.names.full % number of names to be cited for full and
+ cite.num.names.short % short cite
+ add.to.year % For a, b, c, etc. after year
+ % in multiple citations with same author-year
+ }
+ { year.label % For sorting entries by year
+ author.year.sort.label % For sorting entries and checking whether
+ % initials should be added, how many authors
+ % should be cited and whether a, b, etc.
+ % after year is necessary
+ title.sort.label % for sorting titles
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DECLARATION OF GLOBAL INTEGERS AND STRINGS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+INTEGERS { len pos name.max old.number numnames numnames.old
+ nameptr lastname format.num.names cite.initials.old
+ cite.num.names.old add.to.year.old forward
+ multiresult dot
+ }
+
+STRINGS { s t u old.label field
+ aut1f aut1s aut1f.old aut1s.old
+ aut2 aut2.old
+ aut3 aut3.old
+ aut4 aut4.old
+ aut5 aut5.old
+ aut6 aut6.old
+ year.label.old
+ }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% A small function for testing purposes.
+
+FUNCTION {test} { #0 }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% A small function (ideally replaced by a user-definable
+% MACRO) that indicates whether index entries must be
+% generated.
+
+FUNCTION {make.index} { #1 }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% MONTH MACROS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+MACRO {jan} {"{\APACSortNoop{01}}January"}
+
+MACRO {feb} {"{\APACSortNoop{02}}February"}
+
+MACRO {mar} {"{\APACSortNoop{03}}March"}
+
+MACRO {apr} {"{\APACSortNoop{04}}April"}
+
+MACRO {may} {"{\APACSortNoop{05}}May"}
+
+MACRO {jun} {"{\APACSortNoop{06}}June"}
+
+MACRO {jul} {"{\APACSortNoop{07}}July"}
+
+MACRO {aug} {"{\APACSortNoop{08}}August"}
+
+MACRO {sep} {"{\APACSortNoop{09}}September"}
+
+MACRO {oct} {"{\APACSortNoop{10}}October"}
+
+MACRO {nov} {"{\APACSortNoop{11}}November"}
+
+MACRO {dec} {"{\APACSortNoop{12}}December"}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% LOGICAL `NOT', `AND', AND `OR' %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logical 'not':
+% If the first element on the stack is A then this function
+% does the following:
+% push { #0 }
+% push { #1 }
+% So now the first 3 elements of the stack are
+% { #1 } { #0 } A
+% The first 3 are popped and subjected to 'if':
+% If A > 0 then { #0 } is executed, else { #1 } is executed:
+% if A > 0
+% then 0
+% else 1
+% So consider integers as logicals, where 1 = true and 0 = false,
+% then this does
+% (if A then false else true)
+% which is a logical 'not'.
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logical 'and':
+% If the first 2 elements on the stack are A B
+% then this function does the following:
+% push 'skip$
+% push { pop$ #0 }
+% So now first 4 elements are
+% { pop$ #0 } 'skip$ A B
+% The first 3 are popped and subjected to 'if' (B is on top of
+% the stack):
+% If A > 0 then 'skip$ is executed, else { pop$ #0 } is executed:
+% if A > 0
+% then (B stays on top of stack)
+% else (B is popped and #0 is pushed)
+% So consider integers as logicals, where 1 = true and 0 = false,
+% then this does
+% (if A then B else false)
+% which is a logical 'and'.
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logical 'or':
+% If the first 2 elements on the stack are A B
+% then this function does the following:
+% push { pop$ #1 }
+% push 'skip$
+% So now first 4 elements are
+% 'skip$ { pop$ #1 } A B
+% The first 3 are popped and subjected to 'if' (B is on top of
+% the stack):
+% If A > 0 then { pop$ #1 } is executed, else 'skip$ is executed:
+% if A > 0
+% then (B is popped and #1 is pushed)
+% else (B stays on top of stack)
+% So consider integers as logicals, where 1 = true and 0 = false,
+% then this does
+% (if A then true else B)
+% which is a logical 'or'.
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% GENERAL PURPOSE FUNCTIONS FOR FORMATTING %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % issues warning if field is empty
+ % call with
+ % "field" field warning.if.empty
+ % Note that the first field must be between quotes
+ % because it is the fieldname for use in the warning message.
+ %
+FUNCTION {warning.if.empty}
+{ empty$
+ { "No " swap$ * " in " * cite$ * warning$ }
+ { pop$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % issues warning if title, type, and howpublished are empty
+ %
+FUNCTION {check.relevant.fields}
+{ title empty$
+ type empty$
+ howpublished empty$
+ and
+ and
+ { "No title, type, and howpublished in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % delivers 1 if (both editor and translator
+ % not empty and not equal to each other)
+ % 0 if (editor or translator empty) or
+ % (editor = translator)
+ %
+FUNCTION {editor.ne.trans}
+{ translator empty$
+ { #0 }
+ { editor empty$
+ { #0 }
+ { translator editor =
+ { #0 }
+ { #1 }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Convert integer to string, assume that integer < 100,000
+
+FUNCTION {conv.int.to.str}
+{ duplicate$ #10 <
+ { "0000" swap$ int.to.str$ * }
+ { duplicate$ #100 <
+ { "000" swap$ int.to.str$ * }
+ { duplicate$ #1000 <
+ { "00" swap$ int.to.str$ * }
+ { duplicate$ #10000 <
+ { "0" swap$ int.to.str$ * }
+ { int.to.str$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Delivers 1 if possibly editor in author position
+% 2 if editor not in author position
+% 3 if not applicable: use key
+% 0 if unknown type
+
+FUNCTION {ref.type}
+{ type$ "article" =
+ type$ "magazine" =
+ type$ "newspaper" =
+ type$ "book" =
+ type$ "techreport" =
+ type$ "unpublished" =
+ type$ "misc" =
+ type$ "booklet" =
+ type$ "manual" =
+ type$ "proceedings" =
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ { #1 }
+ { type$ "incollection" =
+ type$ "phdthesis" =
+ type$ "mastersthesis" =
+ type$ "lecture" =
+ type$ "inbook" =
+ type$ "inproceedings" =
+ type$ "intechreport" =
+ or
+ or
+ or
+ or
+ or
+ or
+ { #2 }
+ { type$ "literal" =
+ { #3 }
+ { #0 }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Delivers 1 if title is formatted as an "article"-type,
+% 0 otherwise
+
+FUNCTION {is.atype}
+{ type$ "article" =
+ type$ "magazine" =
+ type$ "newspaper" =
+ type$ "incollection" =
+ type$ "inbook" =
+ type$ "inproceedings" =
+ type$ "intechreport" =
+ or
+ or
+ or
+ or
+ or
+ or
+ { #1 }
+ { journal empty$ not
+ %
+ type$ "phdthesis" =
+ type$ "mastersthesis" =
+ or
+ %
+ and
+ { #1 }
+ { type$ "misc" =
+ type empty$ not
+ and
+ { type "\bibmessage" =
+ type "\bibcomputerprogram" =
+ type "\bibcomputerprogrammanual" =
+ type "\bibcomputerprogramandmanual" =
+ type "\bibcomputersoftware" =
+ type "\bibcomputersoftwaremanual" =
+ type "\bibcomputersoftwareandmanual" =
+ type "\bibprogramminglanguage" =
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ { #1 }
+ { #0 }
+ if$
+ }
+ { #0 }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with connect string
+ % if one of them empty, then connect string
+ % is left out
+ %
+ % call with S1 S2 connectstring connect.check
+ %
+FUNCTION {connect.check}
+{ 'u :=
+ %
+ % if S2 = ""
+ %
+ duplicate$ empty$
+ %
+ % then remove S2
+ %
+ { pop$
+ %
+ % S1 is on top of stack.
+ % if it is empty, it is replaced by the empty string ""
+ %
+ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+ }
+ %
+ % else swap S1 and S2 so that S1 can be checked
+ %
+ { swap$
+ %
+ % if S1 is empty, remove S1 so that S2 is left on the
+ % stack and is the result is given
+ %
+ duplicate$ empty$
+ { pop$ }
+ %
+ % now the real work starts:
+ % push the connect string "C"
+ % so that top of stack is "C" "S1" "S2"
+ % concatenate, so that top of stack is
+ % "S1+C" "S2"
+ %
+ { u *
+ %
+ % swap and concatenate
+ %
+ swap$ *
+ }
+ if$
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with space ("\ ")
+ % if length of second is 3 or larger,
+ % connects them with non-breaking space ("tie", "~")
+ % if length of second smaller than 3
+ %
+ % call with S1 S2 tie.or.space.connect
+ % result: "S1\ S2" or "S1~S2"
+ %
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with comma (", ")
+ % if one of them is empty, the comma is left out
+ %
+ % call with S1 S2 connect.with.comma.check
+ % result: "S1, S2"
+ %
+FUNCTION {connect.with.comma.check}
+{ ", " connect.check }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with semicolon ("; ")
+ % if one of them is empty, semicolon is left out
+ %
+ % call with S1 S2 connect.with.semicolon.check
+ % result: "S1; S2"
+ %
+FUNCTION {connect.with.semicolon.check}
+{ "; " connect.check }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with colon (": ")
+ % if one of them is empty, colon is left out
+ %
+ % call with S1 S2 connect.with.colon.check
+ % result: "S1: S2"
+ %
+FUNCTION {connect.with.colon.check}
+{ ": " connect.check }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % connects two strings with space ("\ ")
+ %
+ % call with S1 S2 connect.with.space.check
+ % result: "S1\ S2"
+ %
+FUNCTION {connect.with.space.check}
+{ "\ " connect.check }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % encloses string in pre- and postfix string
+ % call with
+ % prefix postfix S enclose.check
+ % delivers empty string if S empty
+ %
+FUNCTION {enclose.check}
+{ duplicate$ empty$
+ { pop$ pop$ pop$
+ ""
+ }
+ { swap$ * * }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % emphasizes top of stack
+ % call with
+ % "string" emphasize.check
+ %
+FUNCTION {emphasize.check}
+{ "\Bem{" swap$
+ "}" swap$
+ enclose.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % brackets top of stack
+ % call with
+ % "string" bracket
+ %
+FUNCTION {bracket.check}
+{ "[" swap$
+ "]" swap$
+ enclose.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % parenthesizes top of stack
+ % call with
+ % "string" parenthesize
+ %
+FUNCTION {parenthesize.check}
+{ "(" swap$
+ ")" swap$
+ enclose.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % checks whether argument is "multiresult":
+ % whether it contains '-', '+', or ',' characters
+ % used with pages to check whether pp. or p. must be used
+ %
+FUNCTION {multi.result.check}
+{ 't :=
+ #0 'multiresult :=
+ %
+ % while (not multiresult) and (length(t) > 1) do
+ %
+ { multiresult not
+ t text.length$ #1 >
+ and
+ }
+ %
+ % if t(1-2) = "--" or t(1) = "+" or ","
+ % then multiresult = 1
+ % else t = t(2-last)
+ %
+ { t #1 #2 substring$ 's :=
+ "--" s =
+ { #1 'multiresult := }
+ { t #1 #1 substring$ 's :=
+ "+" s =
+ "," s =
+ or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% GENERAL PURPOSE FUNCTIONS FOR SORTING %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Remove non-alphanumeric characters
+% and change to lower case .
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Remove spaces from a string. Used for sorting.
+%
+% Call with
+% string remove.spaces
+%
+% E.g.,
+% "fine old day" remove.spaces
+% gives "fineoldday" .
+
+FUNCTION {remove.spaces}
+{ % Remove spaces from string.
+ % Works best if string only contains alphanumeric characters and spaces.
+ 's := % The original string
+ s text.length$ 'len := % Its length (no. of characters)
+ "" 't := % Initialize the transformed string
+ #0 'pos :=
+ %
+ % while (pos < len) do
+ %
+ { pos len < }
+ { pos #1 + 'pos :=
+ s pos #1 substring$ 'u :=
+ %
+ % u is the pos-th character in s
+ % If it is a space, move to next character,
+ % else copy character to output.
+ %
+ u " " =
+ 'skip$
+ { t u * 't := }
+ if$
+ }
+ while$
+ %
+ % Now push the result back on the stack
+ t
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BASIC OUTPUT FUNCTIONS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % starting new block by writing what's left on the stack,
+ % starting a new line and adding some extra space or
+ % whatever is more defined in \newblock
+ %
+FUNCTION {output.end.block}
+{ write$
+ newline$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % starting new block by writing what's left on the stack,
+ % starting a new line and adding some extra space or
+ % whatever is more defined in \newblock
+ %
+FUNCTION {output.new.block}
+{ output.end.block
+ "\newblock{}" write$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % starting new block by writing what's left on the stack,
+ % starting a new line and adding some extra space or
+ % whatever is more defined in \newblock
+ %
+FUNCTION {output.dot.new.block}
+{ add.period$
+ output.new.block
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Starting new block assuming that stack is empty.
+% Starting a new line and adding some extra space or
+% whatever is more defined in \newblock
+
+FUNCTION {start.new.block}
+{ newline$
+ "\newblock{}" write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % finish current entry
+ % by writing what's left on the stack and starting a new line
+ %
+FUNCTION {fin.entry}
+{ output.end.block
+ test
+ { "\vspace{\baselineskip}" write$ newline$ }
+ 'skip$
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% FUNCTIONS FOR SORTING BY AUTHOR (OR SUBSTITUTE), YEAR, %
+% TITLE %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%MACRO {sort.name.format} { "{ll{}}{ f{}}{ vv{}}{ jj{}}" }
+
+FUNCTION {sort.name.format} { "{ll{}}{ f{}}{ vv{}}{ jj{}}" }
+
+FUNCTION {cite.name.format} { "{ll}" }
+
+FUNCTION {cite.initials.name.format} { "{f. }{vv }{ll}{ jj}" }
+
+FUNCTION {author.name.format} { "{ll}{, f.}{ vv}{, jj}" }
+
+FUNCTION {editor.name.format} { "{f.~}{vv }{ll}{ jj}" }
+
+FUNCTION {index.name.format} { "{ll}{, f.}{ vv}{, jj}" }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (1).
+% Initialization.
+
+FUNCTION {init.initials}
+{ "yyyyy" 'aut1f.old :=
+ "yyyyy" 'aut1s.old :=
+ #0 'cite.initials.old :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (2).
+% Update when author, editor, and key fields are not used.
+%
+% Call with
+% field update.no.initials
+
+FUNCTION {update.no.initials}
+{ 'field :=
+ field 'aut1f.old :=
+ field 'aut1s.old :=
+ #0 'cite.initials.old :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (3).
+
+FUNCTION {check.add.initials.aut}
+{ %
+ % If last name is equal to previous last name
+ % but initials are different, then initials should
+ % be cited. If initials are also the same, initials
+ % should be cited if that is the case for the previous
+ % author .
+ %
+ aut1s aut1s.old =
+ { aut1f aut1f.old =
+ { cite.initials.old 'cite.initials := }
+ { #1 'cite.initials :=
+ aut1f 'aut1f.old :=
+ aut1s 'aut1s.old :=
+ cite.initials 'cite.initials.old :=
+ }
+ if$
+ }
+ { %
+ % Different last name.
+ aut1f 'aut1f.old :=
+ aut1s 'aut1s.old :=
+ cite.initials 'cite.initials.old :=
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (4).
+% Call with
+% field check.add.initials.field
+
+FUNCTION {check.add.initials.field}
+{ 'field :=
+ field #1 cite.initials.name.format format.name$ 'aut1f :=
+ field #1 cite.name.format format.name$ 'aut1s :=
+ %
+ % Now do the actual work
+ %
+ check.add.initials.aut
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Check whether initials must be added (4).
+
+FUNCTION {check.add.initials}
+{ %
+ % Check whether author or editor or other field acts as author.
+ % Initials are only relevant with author or editor.
+ %
+ firstkey empty$ not
+ { key empty$ not
+ { %
+ % Both key and firstkey are nonempty.
+ % Then, key is treated as last name of first author,
+ % and firstkey is treated as last name + initials of
+ % first author .
+ %
+ firstkey sortify remove.spaces 'aut1f :=
+ key sortify remove.spaces 'aut1s :=
+ check.add.initials.aut
+ }
+ { firstkey sortify remove.spaces update.no.initials }
+ if$
+ }
+ { key empty$ not
+ { key sortify remove.spaces update.no.initials }
+ { %
+ % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { %
+ % Format first author with and without initials
+ author empty$
+ { title.sort.label update.no.initials }
+ { author check.add.initials.field }
+ if$
+ }
+ { %
+ % Format first author with and without initials
+ author empty$
+ { editor empty$
+ { title.sort.label update.no.initials }
+ { editor check.add.initials.field }
+ if$
+ }
+ { author check.add.initials.field }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute tentative number of names that must be cited (1).
+% Call with
+% field tentative.cite.num.names.field
+
+FUNCTION {tentative.cite.num.names.field}
+{ 'field :=
+ field num.names$ 'numnames :=
+ numnames #3 <
+ { %
+ % 1 or 2 names: always cite all of them.
+ numnames 'cite.num.names.full :=
+ numnames 'cite.num.names.short :=
+ }
+ { numnames #6 <
+ { %
+ % 3-5 names: cite all of them the first time,
+ % only the first name later times
+ numnames 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { %
+ % 6 or more names: cite only the first name
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute tentative number of names that must be cited (2).
+
+FUNCTION {tentative.cite.num.names}
+{ %
+ % Check whether author or editor or other field acts as author.
+ % Number of names is only relevant with author or editor.
+ %
+ firstkey empty$ not
+ {
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { key empty$ not
+ {
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { %
+ % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { %
+ % Format first author with and without initials
+ author empty$
+ {
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { author tentative.cite.num.names.field }
+ if$
+ }
+ { %
+ % Format first author with and without initials
+ author empty$
+ { editor empty$
+ {
+ #1 'cite.num.names.full :=
+ #1 'cite.num.names.short :=
+ }
+ { editor tentative.cite.num.names.field }
+ if$
+ }
+ { author tentative.cite.num.names.field }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Initialize "number of names to be cited" before
+% looping over entries.
+
+FUNCTION {init.cite.num.names}
+{ #0 'cite.num.names.old :=
+ #0 'numnames.old :=
+ "yyyy" 'year.label.old :=
+ #0 'add.to.year.old :=
+ "" 'aut1f.old :=
+ "" 'aut2.old :=
+ "" 'aut3.old :=
+ "" 'aut4.old :=
+ "" 'aut5.old :=
+ "" 'aut6.old :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Update "number of names to be cited" .
+
+FUNCTION {update.cite.num.names}
+{ cite.num.names.short 'cite.num.names.old :=
+ numnames 'numnames.old :=
+ year.label 'year.label.old :=
+ add.to.year 'add.to.year.old :=
+ aut1f 'aut1f.old :=
+ aut2 'aut2.old :=
+ aut3 'aut3.old :=
+ aut4 'aut4.old :=
+ aut5 'aut5.old :=
+ aut6 'aut6.old :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format (maximally) 6 authors for comparison issues
+% to determine number of authors that must be cited.
+% It is assumed that the 'field' and 'numnames' variables
+% have already been defined.
+
+FUNCTION {format.6.authors}
+{ %
+ % First author: with initials.
+ %
+ field #1 cite.initials.name.format format.name$ 'aut1f :=
+ %
+ % Second and later authors: without initials.
+ %
+ numnames #1 >
+ name.max #1 >
+ and
+ { %
+ % 2nd author
+ field #2 cite.name.format format.name$ 'aut2 :=
+ %
+ numnames #2 >
+ name.max #2 >
+ and
+ { %
+ % 3nd author
+ field #3 cite.name.format format.name$ 'aut3 :=
+ %
+ numnames #3 >
+ name.max #3 >
+ and
+ { %
+ % 4th author
+ field #4 cite.name.format format.name$ 'aut4 :=
+ %
+ numnames #4 >
+ name.max #4 >
+ and
+ { %
+ % 5th author
+ field #5 cite.name.format format.name$ 'aut5 :=
+ %
+ numnames #5 >
+ name.max #5 >
+ and
+ { %
+ % 6th author
+ field #6 cite.name.format format.name$ 'aut6 :=
+ }
+ { %
+ % 5 authors: 6 is empty
+ %
+ "" 'aut6 :=
+ }
+ if$
+ }
+ { %
+ % 4 authors: 5-6 are empty
+ %
+ "" 'aut5 :=
+ "" 'aut6 :=
+ }
+ if$
+ }
+ { %
+ % 3 authors: 4-6 are empty
+ %
+ "" 'aut4 :=
+ "" 'aut5 :=
+ "" 'aut6 :=
+ }
+ if$
+ }
+ { %
+ % 2 authors: 3-6 are empty
+ %
+ "" 'aut3 :=
+ "" 'aut4 :=
+ "" 'aut5 :=
+ "" 'aut6 :=
+ }
+ if$
+ }
+ { %
+ % Only 1 author: 2-6 are empty
+ %
+ "" 'aut2 :=
+ "" 'aut3 :=
+ "" 'aut4 :=
+ "" 'aut5 :=
+ "" 'aut6 :=
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited
+% and whether a's or b's must be added to year (1).
+% a's or b's are necessary: update add.to.year variable
+
+FUNCTION {change.add.to.year}
+{
+ forward #1 =
+ { %
+ % Moving forward: this add.to.year number must be 1 higher than
+ % previous.
+ %
+ add.to.year.old #0 >
+ { add.to.year.old #1 + 'add.to.year := }
+ { #2 'add.to.year := }
+ if$
+ }
+ { %
+ % Moving backward: this add.to.year number must be 1 lower than
+ % previous.
+ %
+ add.to.year.old #1 - 'add.to.year :=
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited
+% and whether a's or b's must be added to year (1).
+% Current and/or previous entry has 1 or 2 authors
+% or editors acting as authors and they are published in the
+% same year. The number of authors does not need to be changed
+% in this case, but a's or b's may be necessary.
+
+FUNCTION {definitive.cite.num.names.1.or.2}
+{ %
+ numnames numnames.old =
+ { %
+ % Same number of names: ambiguity could arise. Check whether current
+ % and previous have the same author(s).
+ %
+ aut1f aut1f.old =
+ { %
+ % Same first author: if the second author is also the same or if
+ % there is only one author, a's and b's should be added.
+ %
+ aut2 aut2.old =
+ numnames #2 =
+ and
+ %
+ numnames #1 =
+ or
+ { %
+ % Same author(s): add to year.
+ %
+ change.add.to.year
+ }
+ { %
+ % Different second author: no ambiguity possible.
+ %
+ skip$
+ }
+ if$
+ }
+ { %
+ % Different first author: no ambiguity possible.
+ %
+ skip$
+ }
+ if$
+ }
+ { %
+ % Different number of names: no ambiguity possible.
+ %
+ skip$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited
+% and whether a's or b's must be added to year (2).
+% Both current and previous entries have 3 or more authors
+% or editors acting as authors and they are published in the
+% same year.
+
+FUNCTION {definitive.cite.num.names.3.or.more}
+{ %
+ % Check whether current and previous have the same first author.
+ %
+ aut1f aut1f.old =
+ { %
+ % Same first author: check second author
+ %
+ aut2 aut2.old =
+ { %
+ % Same 1st & 2nd author: check 3rd.
+ %
+ aut3 aut3.old =
+ { %
+ % Same 1st-3rd authors: check 4th.
+ %
+ numnames.old #3 =
+ { numnames #3 =
+ { %
+ % Both current and previous have 3 authors, which are
+ % the same, so both have identical author-year
+ % combinations, so ambiguity should be resolved by
+ % a's and b's. Check whether more authors were
+ % necessary for previous one.
+ %
+ change.add.to.year
+ cite.num.names.short cite.num.names.old <
+ { cite.num.names.old
+ 'cite.num.names.short :=
+ }
+ 'skip$
+ if$
+ }
+ { %
+ % Previous has 3 authors, current has more, with same
+ % first 3, so at least 4 must be used for current to
+ % make a difference.
+ %
+ cite.num.names.short #4 <
+ { #4 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { numnames #3 =
+ { %
+ % Current has 3 authors, previous has more, with same
+ % first 3, so all 3 of current must be used.
+ %
+ numnames 'cite.num.names.short :=
+ }
+ { %
+ % Same 1st-3rd author and both current and previous
+ % have at least 4 authors: check 4th.
+ %
+ aut4 aut4.old =
+ { %
+ % Same 1st-4th authors: check 5th.
+ %
+ numnames.old #4 =
+ { numnames #4 =
+ { %
+ % Both current and previous have 4 authors,
+ % which are the same, so both have
+ % identical author-year combinations, so
+ % ambiguity should be resolved by a's and
+ % b's. Check whether more authors were
+ % necessary for previous one.
+ %
+ change.add.to.year
+ cite.num.names.short cite.num.names.old <
+ { cite.num.names.old
+ 'cite.num.names.short :=
+ }
+ 'skip$
+ if$
+ }
+ { %
+ % Previous has 4 authors, current has more,
+ % with same first 4, so at least 5 must be
+ % used for current to make a difference.
+ %
+ cite.num.names.short #5 <
+ { #5 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { numnames #4 =
+ { %
+ % Current has 4 authors, previous has more,
+ % with same first 4, so all 4 of current
+ % must be used.
+ %
+ numnames 'cite.num.names.short :=
+ }
+ { %
+ % Same 1st-4th author and both current and
+ % previous have at least 5 authors: check
+ % 5th.
+ %
+ aut5 aut5.old =
+ { %
+ % Same 1st-5th authors: check 6th.
+ %
+ numnames.old #5 =
+ { numnames #5 =
+ { %
+ % Both current and previous
+ % have 5 authors, which are the
+ % same, so both have identical
+ % author-year combinations, so
+ % ambiguity should be resolved
+ % by a's and b's. Check whether
+ % more authors were necessary
+ % for previous one.
+ %
+ change.add.to.year
+ cite.num.names.short
+ cite.num.names.old <
+ { cite.num.names.old
+ 'cite.num.names.short :=
+ }
+ 'skip$
+ if$
+ }
+ { %
+ % Previous has 5 authors,
+ % current has more, with same
+ % first 5, so at least 6 must
+ % be used for current to make
+ % a difference.
+ %
+ cite.num.names.short #6 <
+ { #6 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { numnames #5 =
+ { %
+ % Current has 5 authors,
+ % previous has more, with same
+ % first 5, so all 5 of current
+ % must be used.
+ %
+ numnames 'cite.num.names.short :=
+ }
+ { %
+ % Same 1st-5th author and both
+ % current and previous have at
+ % least 6 authors. If one has
+ % 6 authors and the other has
+ % more or the 6th is different,
+ % 6 should be used (which is
+ % the maximum).
+ %
+ numnames #6 >
+ numnames.old #6 =
+ and
+ %
+ numnames #6 =
+ numnames.old #6 >
+ and
+ %
+ or
+ %
+ aut6 aut6.old =
+ not
+ %
+ or
+ { #6 cite.num.names.short <
+ { #6
+ 'cite.num.names.short
+ :=
+ }
+ 'skip$
+ if$
+ }
+ { %
+ % The first 6 authors are
+ % the same and either both
+ % have 6 or both have more.
+ % So for all practical
+ % purposes they have
+ % identical author-year
+ % combination, so ambiguity
+ % should be resolved by a's
+ % and b's. Check whether
+ % more authors were
+ % necessary for previous
+ % one.
+ %
+ change.add.to.year
+ cite.num.names.short
+ cite.num.names.old
+ <
+ { cite.num.names.old
+ 'cite.num.names.short
+ :=
+ }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { %
+ % Different 4th author: citing 4 authors is
+ % sufficient for this comparison.
+ %
+ cite.num.names.short #4 <
+ { #4 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { %
+ % Different 3rd author: citing 3 authors is sufficient for this
+ % comparison.
+ %
+ cite.num.names.short #3 <
+ { #3 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { %
+ % Different 2nd author: citing 2 authors is sufficient for this
+ % comparison.
+ %
+ cite.num.names.short #2 <
+ { #2 'cite.num.names.short := }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { %
+ % Different first author: no ambiguity, move to next entry.
+ %
+ skip$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited
+% and whether a's or b's must be added to year (3).
+% Current entry has an author or editor acting as author.
+%
+% Call with
+% field definitive.cite.num.names.field
+%
+% What should we do with explicit "others"? Is now ignored.
+% If this causes ambiguity that could be resolved, the user
+% should have added additional author names.
+
+FUNCTION {definitive.cite.num.names.field}
+{ 'field :=
+ field num.names$ 'numnames :=
+ %
+ % Format authors
+ %
+ format.6.authors
+ %
+ % Now compare authors with authors of previous entry.
+ %
+ cite.num.names.short numnames.old >
+ { %
+ % The previous entry has less authors than already defined
+ % necessary to be cited. No ambiguity is possible and we're ready.
+ %
+ skip$
+ }
+ { %
+ % Both previous and current entry have at least one author .
+ %
+ year.label year.label.old =
+ { %
+ % Same year label: possibly ambiguous citation.
+ %
+ % First check: current and/or previous have 1 or
+ % 2 authors.
+ %
+ numnames #3 <
+ numnames.old #3 <
+ or
+ %
+ { definitive.cite.num.names.1.or.2 }
+ { definitive.cite.num.names.3.or.more }
+ if$
+ }
+ { %
+ % Different year label: everything's fine,
+ % move to next entry.
+ %
+ skip$
+ }
+ if$
+ }
+ if$
+ %
+ % If during the previous process the name maximum is exceeded
+ % (which was not checked), correct this. NOTE: If the name
+ % maximum is smaller than 6, this could lead to ambiguous
+ % citations if, e.g., the year and the first 5 authors are
+ % the same, but the 6th author is different.
+ %
+ cite.num.names.short name.max >
+ { name.max 'cite.num.names.short := }
+ 'skip$
+ if$
+ %
+ % For a "full" cite, the number of names should always be at least
+ % as large as for a "short" cite.
+ %
+ cite.num.names.full cite.num.names.short <
+ { cite.num.names.short 'cite.num.names.full := }
+ 'skip$
+ if$
+ %
+ % Update "old" variables for next entry.
+ %
+ update.cite.num.names
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited (4)
+% and especially whether a's and b's should be added.
+% This function is for the situation when author or editor
+% are not used and firstkey, key, or something else is
+% used to cite the referenced work.
+%
+% Call with
+% formatted.field definitive.cite.no.names
+
+FUNCTION {definitive.cite.no.names}
+{ %
+ % The formatted field that acts as author is on top
+ % of the stack.
+ 'aut1f :=
+ "" 'aut2 :=
+ "" 'aut3 :=
+ "" 'aut4 :=
+ "" 'aut5 :=
+ "" 'aut6 :=
+ #1 'numnames :=
+ %
+ year.label year.label.old =
+ { %
+ % Same year label: possibly ambiguous citation.
+ %
+ definitive.cite.num.names.1.or.2
+ }
+ { %
+ % Different year label: everything's fine,
+ % move to next entry.
+ %
+ skip$
+ }
+ if$
+ %
+ % Update "old" variables for next entry.
+ %
+ update.cite.num.names
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Compute definitive number of names that must be cited (5).
+
+FUNCTION {definitive.cite.num.names}
+{ %
+ % Check whether author or editor or other field acts as author.
+ % Number of names is only relevant with author or editor.
+ %
+ firstkey empty$ not
+ { firstkey sortify remove.spaces definitive.cite.no.names }
+ { key empty$ not
+ { key sortify remove.spaces definitive.cite.no.names }
+ { %
+ % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { %
+ % Format first author with and without initials
+ author empty$
+ { title.sort.label definitive.cite.no.names }
+ { author definitive.cite.num.names.field }
+ if$
+ }
+ { %
+ % Format first author with and without initials
+ author empty$
+ { editor empty$
+ { title.sort.label definitive.cite.no.names }
+ { editor definitive.cite.num.names.field }
+ if$
+ }
+ { author definitive.cite.num.names.field }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make a tentative year sorting label (without `a' and `b').
+
+FUNCTION {make.tentative.year.sort.label}
+{ %
+ % Implicit or explicit ``no date'' is put at the front
+ % (the year zero; years B.C. will imply complications)
+ % because these are possibly old works.
+ % ``In press'' is put at the end.
+ %
+ year empty$
+ { "0000" 'year.label := }
+ { year "\bibnodate" =
+ year "n.d." =
+ or
+ { "0000" 'year.label := }
+ { year "\BIP" =
+ { "9999" 'year.label := }
+ { % It is not checked whether the year field
+ % makes sense.
+ year sortify remove.spaces 'year.label :=
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ %
+ % Push year sort label on the stack
+ year.label
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Give month (converted to number) and day when available.
+
+FUNCTION {month.number.day}
+{ month empty$
+ { "" }
+ { %
+% month jan =
+% { "01" }
+% { month feb =
+% { "02" }
+% { month mar =
+% { "03" }
+% { month apr =
+% { "04" }
+% { month may =
+% { "05" }
+% { month jun =
+% { "06" }
+% { month jul =
+% { "07" }
+% { month aug =
+% { "08" }
+% { month sep =
+% { "09" }
+% { month oct =
+% { "10" }
+% { month nov =
+% { "11" }
+% { month dec =
+% { "12" }
+% { %
+ % Month is something
+ % else, e.g., "Spring"
+ % or jul # "/" # aug.
+ % Currently too
+ % difficult to figure
+ % out: user should
+ % trick the system.
+ %
+ month sortify
+ remove.spaces
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+% }
+% if$
+ %
+ % Add the day when available.
+ day empty$
+ 'skip$
+ { "/" *
+ day sortify remove.spaces *
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make tentative sort label with names in field on top of
+% the stack.
+%
+% Call with
+% field make.name.sort.label
+% where 'field' is the field that takes the author-role.
+
+FUNCTION {make.name.sort.label}
+{ %
+ % Author or editor-acting-as-author available.
+ % => Make tentative "short cite with initials" author
+ % label (L1) of one of the forms
+ % "Last1 F1"
+ % "Last1 F1 Last2"
+ % "Last1 F1 zzzz" ("zzzz" representing et al.)
+ % => If more than 2 'authors': make label (L2) for 2nd-6th authors
+ % of one of the forms
+ % "Last2 Last3"
+ % "Last2 Last3 Last4"
+ % "Last2 Last3 Last4 Last5"
+ % "Last2 Last3 Last4 Last5 Last6"
+ % "Last2 Last3 Last4 Last5 Last6 zzzz"
+ %
+ % Then format year label (L3) of one of the forms:
+ % "0000" (missing year or explicit 'no date')
+ % "9999" ('in press')
+ % year (otherwise; don't use originalyear here yet)
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L4) .
+ %
+ % Then tentative sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L3
+ % " "
+ % L2
+ % " "
+ % L4
+ %
+ % The name field is on top of the stack.
+ 'field :=
+ %
+ % numnames is the total number of names contained in field
+ field num.names$ 'numnames :=
+ %
+ % Format first author
+ field #1 sort.name.format format.name$
+ %
+ % Format the second author if there are two, or else "zzzz" = et al.
+ numnames #1 =
+ 'skip$
+ { numnames #2 =
+ { %
+ % Two authors: format second author
+ field #2 "{ll{}}" format.name$ 's :=
+ s "others" =
+ { " zzzz" * } % Add "et al."-substitute
+ { " " * s * } % Add second author
+ if$
+ }
+ { " zzzz" * } % 3 or more authors: add "et al."-substitute
+ if$
+ }
+ if$
+ " " * % Add spaces
+ make.tentative.year.sort.label * % Add year (L3).
+ " " * % Add spaces
+ %
+ % Now build up L2 if applicable
+ numnames #3 <
+ 'skip$
+ { %
+ % Treat last author slightly differently
+ numnames name.max >
+ { name.max 'lastname :=
+ " zzzz" % Push "et al."-substitute on stack
+ }
+ { numnames 'lastname :=
+ "" % Push empty string on stack
+ }
+ if$
+ %
+ % Names 2 to "last" - 1
+ "" % Push empty string on stack
+ #2 'nameptr :=
+ { nameptr lastname < }
+ { % Add name no. nameptr
+ field nameptr "{ll{}}" format.name$ *
+ " " *
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ %
+ % "Last" author
+ field lastname "{ll{}}" format.name$ 's :=
+ s "others" =
+ { "zzzz" * } % Add "et al."-substitute
+ { s * } % Add last author
+ if$
+ %
+ swap$ * % Add the previously formatted empty string or
+ % "et al."-substitute if there are many authors.
+ * % Add L2 to the earlier labels.
+ }
+ if$
+ %
+ " " * % Add spaces
+ title.number conv.int.to.str * % Add sorted title number (L4).
+ sortify % Clean up and convert to lowercase
+ " " * % Add spaces
+ month.number.day * % Add month and day when available
+ 'author.year.sort.label := % Assign result to sort label.
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.tentative.sort.label to make tentative
+% sort label if key or firstkey is available or author and
+% editor are empty or unusable.
+%
+% Call with
+% field make.field.year.sort.label
+% where 'field' is the field that takes the author-role,
+% perhaps already subjected to removing articles from the
+% beginning.
+
+FUNCTION {make.field.year.sort.label}
+{ %
+ % 'field' acts as first author (L1), subsequent authors
+ % are empty (L2).
+ %
+ % Then format year label (L3) of one of the forms:
+ % "0000" (missing year or explicit 'no date')
+ % "9999" ('in press')
+ % year (otherwise; don't use originalyear here yet)
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L4) .
+ %
+ % Then tentative sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L3
+ % " "
+ % L2
+ % " "
+ % L4
+ %
+ % 'field' is on top of the stack. It is already supposed to be cleaned
+ % (i.e., sortified and space-removed), so this is already L1.
+ " " * % Add spaces to L1
+ make.tentative.year.sort.label * % Add year (L3).
+ " " * % Add spaces
+ " " * % L2 is empty, add spaces
+ title.number conv.int.to.str * % Add sorted title number (L4).
+ sortify % Clean up and convert to lowercase
+ " " * % Add spaces
+ month.number.day * % Add month and day when available
+ 'author.year.sort.label := % Assign result to sort label.
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.tentative.sort.label to make tentative
+% sort label if key or firstkey are not available and
+% author or editor may be used
+
+FUNCTION {make.author.editor.sort.label}
+{ author empty$
+ { editor empty$
+ { %
+ % Use what has previously been stored in title.sort.label
+ % as author substitute .
+ title.sort.label make.field.year.sort.label
+ }
+ { editor make.name.sort.label }
+ if$
+ }
+ { author make.name.sort.label }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.tentative.sort.label to make tentative
+% sort label if key or firstkey are not available and
+% author (but not editor) may be used
+
+FUNCTION {make.author.sort.label}
+{ author empty$
+ { %
+ % Use what has previously been stored in title.sort.label
+ % as author substitute .
+ title.sort.label make.field.year.sort.label
+ }
+ { author make.name.sort.label }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make tentative label for citing and sorting and do some
+% preprocessing.
+
+FUNCTION {make.tentative.sort.label}
+{ %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % General strategy:
+ %
+ % Ordinary situation: author or editor-acting-as-author
+ % available.
+ % => Make tentative "short cite with initials" author
+ % label (L1) of one of the forms
+ % "Last1 F1"
+ % "Last1 F1 Last2"
+ % "Last1 F1 zzzz" ("zzzz" representing et al.)
+ % => If more than 2 'authors': make label (L2) for 2nd-6th authors
+ % of one of the forms
+ % "Last2 Last3"
+ % "Last2 Last3 Last4"
+ % "Last2 Last3 Last4 Last5"
+ % "Last2 Last3 Last4 Last5 Last6"
+ % "Last2 Last3 Last4 Last5 Last6 zzzz"
+ % When key is available (overrules author and editor fields):
+ % => L1 = key, L2 = ""
+ % No author, editor, and key: define title or substitute as key
+ % and format as key.
+ %
+ % Then format year label (L3) of one of the forms:
+ % "0000" (missing year or explicit 'no date')
+ % "9999" ('in press')
+ % year (otherwise; don't use originalyear here yet)
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L4) .
+ %
+ % Then tentative sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L3
+ % " "
+ % L2
+ % " "
+ % L4
+ %
+ % This can then be sorted, from which it can be derived
+ % whether initials are necessary, how many names must
+ % be used for short and full citations, and whether "a"'s and
+ % "b"'s etc. are necessary behind the year labels.
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % key and firstkey overrule author information
+ %
+ firstkey empty$ not
+ { key empty$ not
+ { %
+ % Both key and firstkey available:
+ % for sorting and checking initials, treat key as last
+ % name and firstkey as initials.
+ %
+ key sortify remove.spaces
+ " " *
+ firstkey sortify remove.spaces *
+ make.field.year.sort.label
+ }
+ { firstkey sortify remove.spaces make.field.year.sort.label }
+ if$
+ }
+ { key empty$ not
+ { key sortify remove.spaces make.field.year.sort.label }
+ { %
+ % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type
+ duplicate$ #1 =
+ { pop$
+ make.author.editor.sort.label
+ }
+ { duplicate$ #2 =
+ { pop$
+ make.author.sort.label
+ }
+ { #3 =
+ { "no key in " cite$ * warning$
+ make.author.editor.sort.label
+ }
+ { make.author.editor.sort.label }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ %
+ author.year.sort.label 'sort.key$ :=
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make final sort label with names in field on top of
+% the stack.
+%
+% Call with
+% field make.definitive.name.sort.label
+%
+% where 'field' is the field that takes the author-role.
+
+FUNCTION {make.definitive.name.sort.label}
+{ %
+ % Author or editor-acting-as-author available.
+ % => Make author-with-initials label (L1) of one of the forms
+ % "Last1 F1 Last2 F2 ... LastN FN"
+ % "Last1 F1 Last2 F2 ... Last6 F6 zzzz"
+ % (where N <= 6 is the total number of authors, and
+ % "zzzz" represents et al. if there are more than 6 authors)
+ % No author, editor, and key: define title or substitute as sort key.
+ %
+ % The name field is on top of the stack.
+ 'field :=
+ %
+ % numnames is the total number of names contained in field
+ field num.names$ 'numnames :=
+ %
+ % If there are more than 6 authors, only 6 are mentioned.
+ numnames name.max >
+ { name.max 'format.num.names := }
+ { numnames 'format.num.names := }
+ if$
+ % Initialize stack with empty stringh
+ ""
+ %
+ % Cycle over authors.
+ #1 'nameptr :=
+ { nameptr format.num.names < }
+ { % Format author and add spaces
+ field nameptr sort.name.format format.name$ *
+ " " *
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ % Format last author that must be formatted
+ field nameptr sort.name.format format.name$ *
+ % Add et al. if necessary
+ nameptr numnames <
+ { " zzzz" * }
+ 'skip$
+ if$
+ sortify % Clean up and change case
+ " " * % Add spaces
+ year.label * % Add year
+ " " * % Add spaces
+ title.number conv.int.to.str * % Add sorted title number
+ " " * % Add spaces
+ month.number.day * % Add month and day when available
+ 'author.year.sort.label := % Assign result to sort label.
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called to make definitive sort label if author and
+% editor are empty or unusable.
+%
+% Call with
+% field make.definitive.field.year.sort.label
+% where 'field' is the field that takes the author-role,
+% perhaps already subjected to removing articles from the
+% beginning.
+
+FUNCTION {make.definitive.field.year.sort.label}
+{ %
+ % 'field' acts as author (L1).
+ %
+ % Then format year label (L2) of one of the forms:
+ % "0000" (missing year or explicit `no date')
+ % "9999" (`in press')
+ % year (otherwise; don't use originalyear here yet)
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L3) .
+ %
+ % Then tentative sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L2
+ % " "
+ % L3
+ %
+ % 'field' is on top of the stack. It is already supposed to be cleaned
+ % (i.e., sortified and space-removed), so this is already L1.
+ " " * % Add spaces
+ year.label * % Add year
+ " " * % Add spaces
+ title.number conv.int.to.str * % Add sorted title number
+ " " * % Add spaces
+ month.number.day * % Add month and day when available
+ 'author.year.sort.label := % Assign result to sort label.
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.final.sort.key if author or editor
+% may be used.
+
+FUNCTION {make.definitive.author.editor.sort.label}
+{ author empty$
+ { editor empty$
+ { %
+ % Use what has previously been stored in title.sort.label
+ % as author substitute .
+ title.sort.label make.definitive.field.year.sort.label
+ }
+ { editor make.definitive.name.sort.label }
+ if$
+ }
+ { author make.definitive.name.sort.label }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Called by make.final.sort.key if author but not editor
+% may be used.
+
+FUNCTION {make.definitive.author.sort.label}
+{ author empty$
+ { %
+ % Use what has previously been stored in title.sort.label
+ % as author substitute .
+ title.sort.label make.definitive.field.year.sort.label
+ }
+ { author make.definitive.name.sort.label }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make final sort key .
+
+FUNCTION {make.final.sort.key}
+{ %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % General strategy:
+ %
+ % Ordinary situation: author or editor-acting-as-author
+ % available.
+ % => Make author-with-initials label (L1) of one of the forms
+ % "Last1 F1 Last2 F2 ... LastN FN"
+ % "Last1 F1 Last2 F2 ... Last6 F6 zzzz"
+ % (where N <= 6 is the total number of authors, and
+ % "zzzz" represents et al. if there are more than 6 authors)
+ % No author, editor, and key: define title or substitute as sort key.
+ %
+ % Then format year label (L2) of one of the forms:
+ % "0000" (missing year or explicit `no date')
+ % "9999" (`in press')
+ % year (otherwise; don't use originalyear here yet)
+ % Add "/"month"/"day to the latter when available.
+ %
+ % From earlier sorting of titles, we have title number. Convert
+ % to string, which gives title label (L3) .
+ %
+ % Then final sorting label (author.year.sort.label) is a
+ % concatenation of
+ % L1
+ % " "
+ % L2
+ % " "
+ % L3
+ %
+ % This can then be sorted.
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ %
+ % Find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { make.definitive.author.sort.label }
+ { make.definitive.author.editor.sort.label }
+ if$
+ %
+ author.year.sort.label 'sort.key$ :=
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% FUNCTIONS THAT ALLOW SORTING BY TITLE %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Remove first N characters of string if they are equal to
+% teststring .
+%
+% Call with
+% teststring N string chop.word
+%
+% E.g.,
+% "A " #2 "A fine old day" chop.word
+% gives "fine old day"
+% and
+% "A " #2 "The fine old day" chop.word
+% gives "The fine old day".
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ { s }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Remove "a ", "an ", and "the " from beginning of string.
+%
+% Call with
+% string chop.articles
+
+FUNCTION {chop.articles}
+{ 's :=
+ "a " #2
+ "an " #3
+ "the " #4
+ s
+ chop.word
+ chop.word
+ chop.word
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format title and other non-name/date entries for sort key.
+%
+% Call with
+% field format.sort.title
+%
+% Make sure that field is not empty, this is not checked here!
+
+FUNCTION {format.sort.title}
+{ %
+ % Remove non-alphanumeric characters and change to lower case .
+ sortify
+ %
+ % Remove "a ", "an ", and "the " from the front .
+ chop.articles #1 entry.max$ substring$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make title sorting label or substitute.
+
+FUNCTION {make.sort.title}
+{ title empty$
+ { text empty$
+ { type empty$
+ { howpublished empty$
+ { note empty$
+ { "no title, type, howpublished, or note in " cite$ *
+ warning$
+ " "
+ }
+ { note format.sort.title }
+ if$
+ }
+ { howpublished format.sort.title }
+ if$
+ }
+ { type format.sort.title }
+ if$
+ }
+ { text format.sort.title }
+ if$
+ }
+ { title format.sort.title }
+ if$
+ remove.spaces
+ 'title.sort.label :=
+ title.sort.label 'sort.key$ :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make title number: rank number of sorted title .
+
+FUNCTION {make.title.number}
+{ title.sort.label old.label =
+ { %
+ % A tie: old and new label are the same .
+ old.number 'title.number :=
+ }
+ { %
+ % The usual situation: titles are different.
+ old.number #1 + 'title.number :=
+ title.number 'old.number :=
+ title.sort.label 'old.label :=
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% CITATION LABELS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Some macro strings about commas, etc. between authors
+
+FUNCTION {comma.between.two} { "\BCBT{}" }
+
+FUNCTION {comma.between.names} { ", " }
+
+FUNCTION {comma.before.last} { "\BCBL{}" }
+
+FUNCTION {and.before.last} { "\ \BBA{} " }
+
+FUNCTION {et.al.string.cite} { "\ \protect\BOthers{.}" }
+
+FUNCTION {et.al.string} { "\ \BOthers{.}" }
+
+FUNCTION {et.al.string.period} { "\ \BOthersPeriod{.}" }
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Add author index entry when desired.
+% "field" must have been defined before and must contain the
+% contents of the relevant author field.
+% "nameptr" must also have been defined before. It is the
+% number of the author that must be formatted. (So if it is
+% #2, then the 2nd author must be formatted.)
+% What's on top of the stack (the formatted author) is written
+% to the .bbl file.
+
+FUNCTION {add.name.index}
+{ %
+ %
+ make.index
+ { "%" * write$ newline$
+ "\protect\AX{" write$
+ field nameptr sort.name.format format.name$ sortify write$ newline$
+ "@" write$
+ field nameptr index.name.format format.name$ "}%" * write$ newline$
+ }
+ { "%" * write$ newline$ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Citation labels when author or editor may be used.
+% Field is on top of the stack.
+%
+% Call with
+% format.num.names field make.name.cite.label
+
+FUNCTION {make.name.cite.label}
+{ 'field :=
+ 'format.num.names :=
+ %
+ field num.names$ 'numnames := % numnames is the total number of names
+ % contained in field
+ %
+ % It is implicit in the APA manual that if "et al." would refer
+ % to exactly one author, then this author should be named
+ % instead of "et al."
+ %
+ format.num.names numnames #1 - =
+ { numnames 'format.num.names := }
+ 'skip$
+ if$
+ %
+ % Format first author: with or without initials
+ %
+ #1 'nameptr :=
+ cite.initials #1 =
+ { field nameptr cite.initials.name.format format.name$ }
+ { field nameptr cite.name.format format.name$ }
+ if$
+ add.name.index % Add index entry when desired.
+ %
+ numnames #1 =
+ 'skip$
+ { format.num.names #1 =
+ { %
+ % First author et al.
+ %
+ et.al.string.cite write$
+ }
+ { numnames #2 =
+ { %
+ % Given that format.num.names > 1, it is 2.
+ % Format second author.
+ %
+ #2 'nameptr :=
+ field nameptr cite.name.format format.name$ 's :=
+ %
+ % Check if 2nd author is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { et.al.string.cite write$ } % First et al.
+ { %
+ % First \& Second
+ %
+ and.before.last write$
+ s
+ add.name.index % Add index entry when desired.
+ }
+ if$
+ }
+ { %
+ % 3 or more names, 2 or more must be cited
+ %
+ % for nameptr := 2 to format.num.names - 1 do
+ %
+ #2 'nameptr :=
+ { nameptr format.num.names < }
+ { %
+ % Put comma between consecutive authors
+ %
+ comma.between.names write$
+ %
+ % Format and add next author
+ %
+ field nameptr cite.name.format format.name$
+ add.name.index % Add index entry when desired.
+ %
+ % Move to next author
+ %
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ %
+ % nameptr = format.num.names
+ % Format this author.
+ %
+ field nameptr cite.name.format format.name$ 's :=
+ %
+ format.num.names numnames =
+ { %
+ % This is also the last author. Add (optional) comma.
+ %
+ comma.before.last write$
+ %
+ % Check if this author is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { et.al.string.cite write$ }
+ { and.before.last write$
+ s
+ add.name.index % Add index entry when desired.
+ }
+ if$
+ }
+ { %
+ % This is not the last author.
+ % Add comma, author name, and "et al."
+ %
+ comma.between.names write$
+ s
+ add.name.index % Add index entry when desired.
+ %
+ comma.before.last et.al.string.cite * write$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Citation labels when no author, editor, firstkey or key
+% is available.
+
+FUNCTION {make.title.cite.label}
+{ %
+ % Formatting: check if formatted as article title or
+ % as book title, and insert this formatting.
+ %
+ is.atype
+ { "\APACciteatitle{" }
+ { "\APACcitebtitle{" }
+ if$
+ %
+ title empty$
+ { text empty$
+ { type empty$
+ { howpublished empty$
+ { note empty$
+ { cite$ }
+ { note }
+ if$
+ }
+ { howpublished }
+ if$
+ }
+ { type }
+ if$
+ }
+ { text }
+ if$
+ }
+ { title }
+ if$
+ %
+ % Connect with formatting.
+ %
+ * "}" *
+ %
+ % Write to output
+ %
+ write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Citation labels when author or editor may be used.
+
+FUNCTION {make.author.editor.cite.label}
+{ author empty$
+ { editor empty$
+ { %
+ % No author or editor:
+ % Use title or other description as citation label.
+ %
+ make.title.cite.label
+ "}{%" write$ newline$
+ make.title.cite.label
+ }
+ { cite.num.names.full editor make.name.cite.label
+ "}{%" write$ newline$
+ cite.num.names.short editor make.name.cite.label
+ }
+ if$
+ }
+ { cite.num.names.full author make.name.cite.label
+ "}{%" write$ newline$
+ cite.num.names.short author make.name.cite.label
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Citation labels when author (but not editor) may be used.
+
+FUNCTION {make.author.cite.label}
+{ author empty$
+ { %
+ % No author:
+ % Use title or other description as citation label.
+ %
+ make.title.cite.label
+ "}{%" write$ newline$
+ make.title.cite.label
+ }
+ { cite.num.names.full author make.name.cite.label
+ "}{%" write$ newline$
+ cite.num.names.short author make.name.cite.label
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make "a" or "b" supplement to year label when necessary.
+
+FUNCTION {make.definitive.year.supplement}
+{ %
+ % Add "a", "b", etc. when necessary.
+ %
+ add.to.year #0 =
+ { "" }
+ { "{\protect"
+ year empty$
+ { "\BCntND" * }
+ { year "\bibnodate" =
+ { "\BCntND" * }
+ { year "\BIP" =
+ { "\BCntIP" * }
+ { "\BCnt" * }
+ if$
+ }
+ if$
+ }
+ if$
+ "{" * add.to.year int.to.str$ * "}}" *
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Add \protect if year is \BIP or \bibnodate.
+
+FUNCTION {protect.year}
+{ year empty$
+ { "{\protect\bibnodate{}}" }
+ { year "\bibnodate" =
+ { "{\protect\bibnodate{}}" }
+ { year "\BIP" =
+ { "{\protect\BIP{}}" }
+ { year }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make year label that is used for citations in text.
+
+FUNCTION {make.definitive.year.label}
+{ "{\protect\APACyear{"
+ originalyear empty$
+ { protect.year }
+ { originalyear "\bibnodate" = % date of original publication unknown
+ { translator empty$
+ { protect.year }
+ { year empty$
+ { "{\protect\BTRANSL{}~\protect\bibnodate{}}" } % trans. n.d.
+ { "{\protect\BTRANSL{}}~" protect.year * } % trans. 1931
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { originalyear "/{\protect\bibnodate{}}" * } % 1923/n.d.
+ { originalyear year =
+ { protect.year }
+ { originalyear "/" * protect.year * } % 1923/1961
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ * "}}%" * write$ newline$
+ %
+ % Add "a", "b", etc. when necessary.
+ %
+ "{\protect\APACexlab{" "}}"
+ make.definitive.year.supplement enclose.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Make citation labels:
+% - Full formatted author list (or substitute if no author
+% available) for first citation;
+% - Short formatted author list (ditto) for subsequent
+% citations;
+% - Year, with originalyear when applicable, and "a" or "b"
+% etc. addendum when necessary.
+
+FUNCTION {make.cite.labels}
+{ newline$
+ %
+ % Write a few lines for testing purposes.
+ %
+ test
+ { "\bibitem[]{} \fullciteA{" cite$ * "}" * write$ newline$
+ "\bibitem[]{} \citeA{" cite$ * "}" * write$ newline$
+ }
+ 'skip$
+ if$
+ %
+ "\bibitem[\protect\citeauthoryear{%" write$ newline$
+ %
+ % When key or firstkey is available, this takes precedence.
+ %
+ firstkey empty$ not
+ { %
+ % Full cite: firstkey.
+ %
+ firstkey write$
+ "}{%" write$ newline$
+ %
+ % Short cite: if key is not empty and cite.initials is 0,
+ % then key, else firstkey.
+ %
+ cite.initials #0 =
+ key empty$ not
+ and
+ { key }
+ { firstkey }
+ if$
+ write$
+ }
+ { key empty$ not
+ { %
+ % No firstkey, but key available:
+ % Both full and short labels are key.
+ %
+ key write$
+ "}{%" write$ newline$
+ key write$
+ }
+ { % No key or firstkey, so find out which field
+ % to use as author.
+ %
+ % Check reference type:
+ % if result is 1 then possibly editor acts as author
+ % 2 then editor does not act as author
+ % 3 then key should have been used
+ % 0 then unknown reference type
+ ref.type #2 =
+ { make.author.cite.label }
+ { make.author.editor.cite.label }
+ if$
+ }
+ if$
+ }
+ if$
+ "}{%" write$ newline$
+ %
+ % Make year label that's used for citations
+ %
+ make.definitive.year.label write$
+ "}]{%" write$ newline$
+ cite$ write$
+ "}%" write$ newline$
+ % author.year.sort.label write$ newline$ % for testing purposes
+ % year.label write$ newline$ % for testing purposes
+ %
+ % If the item is used in a meta-analysis, indicate this with
+ % a star.
+ %
+ "\APACinsertmetastar{%" write$ newline$
+ cite$ write$
+ "}%" write$ newline$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% FORMATTING OF REFERENCE LIST %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% "(Ed.)" or "(Eds.)" postfix.
+% editor must not be empty
+
+FUNCTION {editor.postfix}
+{ editor num.names$ #1 >
+ { "(\BEDS)" }
+ { "(\BED)" }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% "(Ed. \& Trans.)" postfix
+% editor must not be empty
+
+FUNCTION {editor.trans.postfix}
+{ editor num.names$ #1 >
+ { "(\BEDS{} \BAnd{} \BTRANSS)" }
+ { "(\BED{} \BAnd{} \BTRANS)" }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % "(Trans.)" postfix
+ % translator must not be empty
+ %
+FUNCTION {trans.postfix}
+{ translator num.names$ #1 >
+ { "(\BTRANSS)" }
+ { "(\BTRANS)" }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format authors (or editors acting as authors) for
+% reference list.
+%
+% Call with
+% dot field format.author.names
+% where field is the field (string) that contains the authors
+% (or editors acting as authors) that must be formatted and
+% dot is 1 or 0 indicating whether or not a period must end
+% the formatting.
+
+FUNCTION {format.author.names}
+{ 'field :=
+ 'dot :=
+ %
+ field num.names$ 'numnames := % numnames is the total number of names
+ % contained in field
+ numnames 'format.num.names := % Format all authors
+ format.num.names name.max > % Unless this exceeds the maximum of 6.
+ { dot
+ { name.max 'format.num.names := } % Format 6 authors
+ { cite.num.names.full 'format.num.names := } % Format 1 editor
+ if$
+ }
+ 'skip$
+ if$
+ %
+ % It is kind of explicit in the APA manual that if "et al." would
+ % refer to exactly one author (the 7th), then this author should
+ % still be replaced by "et al.", unlike with citations.
+ % So format.num.names is not adapted.
+ %
+ % Format first author
+ %
+ #1 'nameptr :=
+ field nameptr author.name.format format.name$
+ %
+ % Add period if required and if this is the only author.
+ %
+ numnames #1 =
+ dot
+ and
+ { add.period$ }
+ 'skip$
+ if$
+ add.name.index % Add index entry when desired.
+ %
+ numnames #1 =
+ 'skip$
+ { format.num.names #1 =
+ { %
+ % First author et al.
+ %
+ comma.between.two
+ %
+ % Add period if required.
+ %
+ dot
+ { et.al.string.period * }
+ { et.al.string * }
+ if$
+ write$
+ }
+ { numnames #2 =
+ { %
+ % Given that format.num.names > 1, it is 2.
+ %
+ comma.between.two write$
+ %
+ % Format second author.
+ %
+ #2 'nameptr :=
+ field nameptr author.name.format format.name$ 's :=
+ %
+ % Check if 2nd author is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { %
+ % First et al.
+ % Add period if required.
+ %
+ dot
+ { et.al.string.period }
+ { et.al.string }
+ if$
+ write$
+ }
+ { %
+ % First \& Second
+ %
+ and.before.last write$
+ %
+ % Add period if required.
+ %
+ dot
+ { s add.period$ }
+ { s }
+ if$
+ add.name.index % Add index entry when desired.
+ }
+ if$
+ }
+ { %
+ % 3 or more names, 2 or more must be cited
+ %
+ % for nameptr := 2 to format.num.names - 1 do
+ %
+ #2 'nameptr :=
+ { nameptr format.num.names < }
+ { %
+ % Put comma between consecutive authors
+ %
+ comma.between.names write$
+ %
+ % Format and add next author
+ %
+ field nameptr author.name.format format.name$
+ add.name.index % Add index entry when desired.
+ %
+ % Move to next author
+ %
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ %
+ % nameptr = format.num.names
+ % Format this author.
+ %
+ field nameptr author.name.format format.name$ 's :=
+ %
+ format.num.names numnames =
+ { %
+ % This is also the last author. Add (optional) comma.
+ %
+ comma.before.last write$
+ %
+ % Check if this author is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { %
+ % Add period if required.
+ %
+ dot
+ { et.al.string.period }
+ { et.al.string }
+ if$
+ write$
+ }
+ { and.before.last write$
+ %
+ % Add period if required.
+ %
+ dot
+ { s add.period$ }
+ { s }
+ if$
+ add.name.index % Add index entry when desired.
+ }
+ if$
+ }
+ { %
+ % This is not the last author.
+ % Add comma, author name, and "et al."
+ %
+ comma.between.names write$
+ s
+ add.name.index % Add index entry when desired.
+ %
+ comma.before.last
+ %
+ % Add period if required.
+ %
+ dot
+ { et.al.string.period * }
+ { et.al.string * }
+ if$
+ write$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format authors in reference list, where it is given that
+% the author field is not empty.
+
+FUNCTION {format.authors}
+{ #1 author format.author.names
+ "%" write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format editors in reference list in case editors act as
+% authors (such as reference to entire edited book)
+%
+% Letheridge, S., \& Cannon, C. R. (Eds.).
+% or
+% Letheridge, S. (Ed.). (if only 1 editor)
+%
+% editor must not be empty
+
+FUNCTION {format.editors.as.authors}
+{ #0 editor format.author.names
+ "\ " editor.postfix * add.period$ write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Format editors in reference list in case editors are also
+% translators and act as authors (such as reference to entire
+% edited book of translated articles)
+%
+% Letheridge, S., \& Cannon, C. R. (Eds. and Trans.).
+% or
+% Letheridge, S. (Ed. and Trans.). (if only 1 editor)
+%
+% editor must not be empty
+
+FUNCTION {format.ed.trans.as.authors}
+{ #0 editor format.author.names
+ "\ " editor.trans.postfix * add.period$ write$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Format a list of names with the initials before the
+% last names (i.e., names in the editor position),
+% commas between names (not between 2),
+% and ampersand (\&) before last name.
+% These names are not put in the author index.
+%
+% Call with
+% field format.editor.names
+
+FUNCTION {format.editor.names}
+{ 'field :=
+ %
+ field num.names$ 'numnames := % numnames is the total number of names
+ % contained in field
+ numnames 'format.num.names := % Format all authors
+ format.num.names name.max > % Unless this exceeds the maximum of 6.
+ { #1 'format.num.names := } % Then it becomes 1 (First et al.)
+ 'skip$
+ if$
+ %
+ % Format first editor
+ %
+ field #1 editor.name.format format.name$
+ %
+ numnames #1 =
+ 'skip$
+ { format.num.names #1 =
+ { et.al.string * } % First editor et al., no comma.
+ { numnames #2 =
+ { %
+ % Given that format.num.names > 1, it is 2.
+ % No comma. Format second editor.
+ %
+ field #2 editor.name.format format.name$ 's :=
+ %
+ % Check if 2nd editor is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { et.al.string * } % First et al.
+ { and.before.last * s * } % First \& Second
+ if$
+ }
+ { %
+ % 3 or more names, 2 or more must be cited
+ %
+ % for nameptr := 2 to format.num.names - 1 do
+ %
+ #2 'nameptr :=
+ { nameptr format.num.names < }
+ { %
+ % Put comma between consecutive editors
+ %
+ comma.between.names *
+ %
+ % Format and add next editor
+ %
+ field nameptr editor.name.format format.name$ *
+ %
+ % Move to next editor
+ %
+ nameptr #1 + 'nameptr :=
+ }
+ while$
+ %
+ % nameptr = format.num.names
+ % Format this editor.
+ %
+ field nameptr editor.name.format format.name$ 's :=
+ %
+ format.num.names numnames =
+ { %
+ % This is also the last editor. Add (optional) comma.
+ %
+ comma.before.last *
+ %
+ % Check if this editor is explicit "others".
+ % If so, insert "et al." string.
+ %
+ s "others" =
+ { et.al.string * }
+ { and.before.last * s * }
+ if$
+ }
+ { %
+ % This is not the last editor.
+ % Add comma, editor name, and "et al."
+ %
+ comma.between.names * s *
+ comma.before.last * et.al.string *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format editors in case editors do not act as authors
+ % (such as reference to chapter in edited book)
+ %
+ % L. W. Poon (Ed.) (1 editor)
+ % or
+ % A. S. Gurman \& D. P. Kniskern (Eds.) (2 editors)
+ % or
+ % L. Poon, A. Jones, \& D. P. Smith (Eds.) (>2 editors)
+ %
+ % editor must not be empty
+ %
+FUNCTION {format.editors.in.line}
+{ editor format.editor.names
+ editor.postfix connect.with.space.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format editors in case editors are also translators
+ % and do not act as authors
+ % (such as reference to chapter in edited book
+ % of translated articles)
+ %
+ % L. W. Poon (Ed. and Trans.) (1 editor)
+ % or
+ % A. S. Gurman \& D. P. Kniskern (Eds. and Trans.) (2 editors)
+ % or
+ % L. Poon, A. Jones, \& D. P. Smith (Eds. and Trans.) (>2 editors)
+ %
+ % editor must not be empty
+ %
+FUNCTION {format.editors.trans.in.line}
+{ editor format.editor.names
+ editor.trans.postfix connect.with.space.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format translators in case translators act as editors
+ % (such as reference to chapter in translated book)
+ %
+ % L. W. Poon (Trans.) (1 translator)
+ % or
+ % A. S. Gurman \& D. P. Kniskern (Trans.) (2 translators)
+ % or
+ % L. Poon, A. Jones, \& D. P. Smith (Trans.) (>2 translators)
+ %
+ % translator must not be empty
+ %
+FUNCTION {format.translators.in.line}
+{ translator format.editor.names
+ trans.postfix connect.with.space.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format translators in case translator does not act as editor
+ % (such as reference to translated book)
+ %
+ % L. Solotaroff, Trans.
+ %
+FUNCTION {format.translators.in.paren.check}
+{ translator empty$
+ { "" }
+ { translator format.editor.names
+ translator num.names$ #1 >
+ { ", \BTRANSS{}" * }
+ { ", \BTRANS{}" * }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format editors and translators in case neither act as editor
+ % (such as reference to edited or translated book with a
+ % a single author)
+ %
+ % L. Solotaroff, Ed.
+ % L. Solotaroff, Ed. \& Trans.
+ % L. Solotaroff, Trans.
+ % L. Solotaroff, Ed. \& S. Prokofieff, Trans.
+ %
+FUNCTION {format.editors.translators.in.paren.check}
+{ editor empty$
+ { translator empty$
+ { "" }
+ { translator format.editor.names
+ translator num.names$ #1 >
+ { ", \BTRANSS{}" * }
+ { ", \BTRANS{}" * }
+ if$
+ }
+ if$
+ }
+ { editor format.editor.names
+ editor num.names$ #1 >
+ { ", \BEDS{}" * }
+ { ", \BED{}" * }
+ if$
+ translator empty$
+ 'skip$
+ { editor translator =
+ { editor num.names$ #1 >
+ { " \BAnd{} \BTRANSS" * }
+ { " \BAnd{} \BTRANS" * }
+ if$
+ }
+ { " \BAnd{} " *
+ translator format.editor.names *
+ translator num.names$ #1 >
+ { ", \BTRANSS{}" * }
+ { ", \BTRANS{}" * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % translator of article
+ %
+FUNCTION {format.atrans.check}
+{ format.translators.in.paren.check parenthesize.check }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format "In editor (Ed.), "
+ %
+FUNCTION {format.in.editors}
+{ "\BIn{} "
+ editor empty$
+ 'skip$
+ { format.editors.in.line * ", " * }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format "In translator (Trans.),"
+ %
+FUNCTION {format.in.trans}
+{ "\BIn{} "
+ translator empty$
+ 'skip$
+ { format.translators.in.line * ", " * }
+ if$
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format "In editor (Ed. and Trans.)"
+ % or "In editor (Ed.)" if editor not equal to translator
+ %
+FUNCTION {format.in.editors.trans}
+{ "\BIn{} "
+ editor empty$
+ { translator empty$
+ 'skip$
+ { format.translators.in.line * ", " * }
+ if$
+ }
+ { translator empty$
+ { format.editors.in.line * }
+ { editor translator =
+ { format.editors.trans.in.line * }
+ { format.editors.in.line * }
+ if$
+ }
+ if$
+ ", " *
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DATE %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Formats year (+ extra label) between parentheses (which
+% may be redefined by \BBOP and \BBCP).
+% Extra label can be used for
+% Bentler, P. M. (1983a) <article 1>
+% Bentler, P. M. (1983b) <article 2>
+
+FUNCTION {format.year.check}
+{ "\BBOP{}" "\BBCP{}" % Opening and closing parentheses
+ year empty$
+ { "\bibnodate{}" }
+ { year }
+ if$
+ %
+ % Add "a", "b", etc. when necessary.
+ %
+ make.definitive.year.supplement *
+ %
+ % Combine everything
+ %
+ enclose.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Formats year (+ extra label) + month + day between
+% parentheses (which may be redefined by \BBOP and \BBCP).
+% Extra label can be used for
+% Bentler, P. M. (1983a, June 7) <article 1>
+% Bentler, P. M. (1983b, April 4) <article 2>
+
+FUNCTION {format.year.month.day.check}
+{ "\BBOP{}" "\BBCP{}" % Opening and closing parentheses
+ year empty$
+ { "\bibnodate{}" }
+ { year }
+ if$
+ %
+ % Add "a", "b", etc. when necessary.
+ %
+ make.definitive.year.supplement *
+ %
+ % Add month and day when present.
+ %
+ month connect.with.comma.check
+ day connect.with.space.check
+ %
+ % Combine everything
+ %
+ enclose.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% TITLE FORMATTING %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of article in journal or book
+ % no finishing period
+ % field must be on top of stack
+ % (so englishtitle can be handled also)
+ %
+FUNCTION {format.atitle.no.dot}
+{ "\BBOQ{}" swap$
+ "\BBCQ{}" swap$
+ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ }
+ if$
+ enclose.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of article in journal or book
+ % with finishing period
+ % field must be on top of stack
+ % (so englishtitle can be handled also)
+ %
+FUNCTION {format.atitle.dot}
+{ "\BBOQ{}" swap$
+ "\BBCQ{} " swap$
+ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ add.period$ }
+ if$
+ enclose.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of article in journal or book
+ % field must be on top of stack
+ % second element on stack must be connected:
+ % if that is empty, then atitle.dot
+ % else atitle.no.dot, connect, and add period
+ %
+FUNCTION {format.atitle.connect}
+{ swap$
+ duplicate$ empty$
+ { pop$
+ format.atitle.dot
+ }
+ { swap$
+ format.atitle.no.dot
+ swap$ connect.with.space.check
+ add.period$
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of book or so, no period
+ %
+ % call with
+ % field format.btitle.no.dot
+ %
+FUNCTION {format.btitle.no.dot}
+{ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ emphasize.check }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of book or so, with period
+ % (maybe emphasize and add.period$ should be reversed)
+ % call with
+ % field format.btitle.dot
+ %
+FUNCTION {format.btitle.dot}
+{ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ add.period$ emphasize.check }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of book and similar
+ % field must be on top of stack
+ % second element on stack must be connected:
+ % if that is empty, then btitle.dot
+ % else btitle.no.dot, connect, and add period
+ %
+FUNCTION {format.btitle.connect}
+{ swap$
+ duplicate$ empty$
+ { pop$
+ format.btitle.dot
+ }
+ { swap$
+ format.btitle.no.dot
+ swap$ connect.with.space.check
+ add.period$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of book and similar
+ % field must be on top of stack
+ % second element on stack must be connected
+ %
+FUNCTION {format.btitle.connect.no.dot}
+{ swap$
+ duplicate$ empty$
+ { pop$
+ format.btitle.no.dot
+ }
+ { swap$
+ format.btitle.no.dot
+ swap$ connect.with.space.check
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format englishtitle (of nonenglish article, etc.)
+ %
+FUNCTION {format.etitle.check}
+{ englishtitle empty$
+ { "" }
+ { englishtitle "t" change.case$ bracket.check }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format type (of article, etc.)
+ %
+FUNCTION {format.atype.check}
+{ type bracket.check }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format title and englishtitle (of article, etc.)
+ %
+FUNCTION {format.atitle.check}
+{ format.etitle.check
+ title format.atitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format title, englishtitle, and type
+ % (of article, etc.)
+ %
+FUNCTION {format.atitle.type.check}
+{ format.etitle.check
+ format.atype.check connect.with.space.check
+ title format.atitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format title, englishtitle,
+ % and translator (of article, etc.)
+ %
+FUNCTION {format.atitle.trans.check}
+{ format.etitle.check
+ format.atrans.check connect.with.space.check
+ title format.atitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format title, englishtitle, type,
+ % and translator (of article, etc.)
+ %
+FUNCTION {format.atitle.type.trans.check}
+{ format.etitle.check
+ format.atype.check connect.with.space.check
+ format.atrans.check connect.with.space.check
+ title format.atitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format journal, volume, number and pages
+ % call with
+ % formatted.pages format.journal.vol.num.pages.check
+ %
+FUNCTION { format.journal.vol.num.pages.check }
+{ "journal" journal warning.if.empty
+ journal emphasize.check
+ volume emphasize.check connect.with.comma.check
+ number parenthesize.check "" connect.check
+ swap$ connect.with.comma.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume of book, checks whether
+ % "Volume" or "Volumes"
+ %
+ % call with
+ % field format.bvolume.check
+ %
+FUNCTION {format.bvolume.check}
+{ duplicate$ empty$
+ 'skip$
+ { duplicate$ multi.result.check
+ { "\BVOLS" swap$ tie.or.space.connect }
+ { "\BVOL" swap$ tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % edition of book, must not be empty
+ % call with
+ % field format.edition.check
+ %
+FUNCTION {format.edition.check}
+{ duplicate$ empty$
+ 'skip$
+ { "\BEd" connect.with.space.check }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume and edition of book
+ %
+FUNCTION {format.bvol.edition.check}
+{ edition format.edition.check
+ volume format.bvolume.check
+ connect.with.comma.check
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume and edition of book
+ %
+FUNCTION {format.bvol.edition}
+{ format.bvol.edition.check
+ parenthesize.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume and edition and translator of translated book
+ %
+FUNCTION {format.bvol.edition.trans}
+{ format.bvol.edition.check
+ format.translators.in.paren.check connect.with.semicolon.check
+ parenthesize.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume, edition, editor, and translator of (translated) book
+ %
+FUNCTION {format.bvol.edition.editor.trans}
+{ format.bvol.edition.check
+ format.editors.translators.in.paren.check connect.with.semicolon.check
+ parenthesize.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % formats pages by first checking if 1 or more pages
+ % and prefixing pages with "p." or "pp." (these strings
+ % are given in the commands \BPG and \BPGS, respectively),
+ % whichever is applicable, and do a tie or space connect
+ %
+ % call with
+ % field format.bpages.check
+ %
+FUNCTION {format.bpages.check}
+{ duplicate$ empty$
+ 'skip$
+ { duplicate$ multi.result.check
+ { "\BPGS" swap$ tie.or.space.connect }
+ { "\BPG" swap$ tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % formats chapters by first checking if 1 or more chapters
+ % and prefixing pages with "chap." (this string
+ % is given in the commands \BCHAP and \BCHAPS, respectively),
+ % whichever is applicable, and do a tie or space connect
+ %
+ % call with
+ % field format.bchapter.check
+ %
+FUNCTION {format.bchapter.check}
+{ duplicate$ empty$
+ 'skip$
+ { duplicate$ multi.result.check
+ { "\BCHAPS" swap$ tie.or.space.connect }
+ { "\BCHAP" swap$ tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % volume, edition, and pages or chapter of article in book etc.
+ %
+FUNCTION {format.bvol.edition.pages}
+{ format.bvol.edition.check
+ pages empty$
+ { chapter format.bchapter.check connect.with.comma.check }
+ { pages format.bpages.check connect.with.comma.check }
+ if$
+ parenthesize.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, volume, edition of book
+ %
+FUNCTION {format.btitle.vol.edition}
+{ format.etitle.check
+ format.bvol.edition connect.with.space.check
+ title format.btitle.connect.no.dot
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, volume, edition, and translator of book
+ %
+FUNCTION {format.btitle.vol.edition.trans}
+{ format.etitle.check
+ format.bvol.edition.trans connect.with.space.check
+ title format.btitle.connect.no.dot
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, volume, edition, editor, and translator of book
+ %
+FUNCTION {format.btitle.vol.edition.editor.trans}
+{ format.etitle.check
+ format.bvol.edition.editor.trans connect.with.space.check
+ title format.btitle.connect.no.dot
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format address and publisher of book etc.
+ %
+ % New York: Wiley
+ % or
+ % Wiley (if address empty)
+ % or
+ % New York (if publisher empty)
+ %
+FUNCTION {format.address.publisher}
+{ address publisher connect.with.colon.check }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format address and publisher of book etc.
+ %
+ % New York: Wiley
+ % or
+ % Wiley (if address empty)
+ % or
+ % New York (if publisher empty)
+ %
+ % warning if no publisher or no address
+ %
+FUNCTION {format.address.publisher.check}
+{ "publisher" publisher warning.if.empty
+ "address" address warning.if.empty
+ format.address.publisher
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format number as in reports: No. 2017
+ % call with
+ % field format.rnumber.check
+ %
+FUNCTION {format.rnumber.check}
+{ duplicate$ empty$
+ 'skip$
+ { duplicate$ multi.result.check
+ { "\BNUMS" swap$ tie.or.space.connect }
+ { "\BNUM" swap$ tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format type and number of a standalone item
+ % call with
+ % format.type.number
+ %
+FUNCTION { format.type.number }
+{ number empty$
+ { type bracket.check }
+ { type
+ number format.rnumber.check connect.with.space.check
+ parenthesize.check
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format howpublished if not empty,
+ % for various entry types
+ % call with
+ % format.howpublished
+ %
+FUNCTION {format.howpublished}
+{ howpublished empty$
+ 'skip$
+ { output.dot.new.block
+ howpublished
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format howpublished if not empty,
+ % for misc
+ % call with
+ % output.howpublished
+ %
+FUNCTION {output.howpublished}
+{ howpublished empty$
+ 'skip$
+ { howpublished
+ output.dot.new.block
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% NOTE FORMATTING FUNCTIONS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format optional note
+ %
+FUNCTION {format.note}
+{ note parenthesize.check }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format original year of publication and note
+ % (reprint or translation)
+ %
+FUNCTION {format.orig.year.note}
+{ originalyear empty$
+ { note parenthesize.check }
+ { originalyear "\bibnodate" =
+ { note parenthesize.check }
+ { "\BOWP{} " originalyear * % original work published
+ note connect.with.semicolon.check
+ parenthesize.check
+ }
+ if$
+ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format original journal of publication and note
+ % (reprint or translation)
+ %
+FUNCTION {format.orig.journal.note}
+{ "\BREPR{} " % reprinted from
+ originaljournal emphasize.check *
+ originalyear connect.with.comma.check
+ originalvolume emphasize.check connect.with.comma.check
+ originalnumber bracket.check "" connect.check
+ originalpages connect.with.comma.check
+ note connect.with.semicolon.check
+ parenthesize.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format original book of publication and note
+ % (reprint or translation)
+ %
+FUNCTION {format.orig.book.note}
+{ "\BREPR{}" % Reprinted from
+ %
+ % title of the book the work was originally published in
+ %
+ originalbooktitle format.btitle.no.dot connect.with.space.check
+ %
+ % volume, edition, pages
+ %
+ originaledition format.edition.check connect.with.comma.check
+ originalvolume format.bvolume.check connect.with.comma.check
+ originalpages format.bpages.check connect.with.comma.check
+ %
+ % editor of the original book
+ %
+ originaleditor empty$
+ 'skip$
+ { "by " originaleditor format.editor.names *
+ originaleditor num.names$ #1 >
+ { ", \BEDS{}" * }
+ { ", \BED{}" * }
+ if$
+ connect.with.comma.check
+ }
+ if$
+ %
+ % year of the original publication
+ %
+ originalyear connect.with.comma.check
+ %
+ originaladdress originalpublisher connect.with.colon.check
+ connect.with.comma.check
+ note connect.with.semicolon.check
+ parenthesize.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format information about original publication of reprint
+ % and format optional note
+ %
+FUNCTION {format.orig.note}
+{ originaljournal empty$
+ { originalbooktitle empty$
+ { note empty$
+ { originalyear empty$
+ { add.period$ }
+ { originalyear "\bibnodate" =
+ { add.period$ }
+ { output.dot.new.block
+ format.orig.year.note
+ }
+ if$
+ }
+ if$
+ }
+ { output.dot.new.block
+ format.orig.year.note
+ }
+ if$
+ }
+ { output.dot.new.block
+ format.orig.book.note
+ }
+ if$
+ }
+ { output.dot.new.block
+ format.orig.journal.note
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% PERIODICALS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % article in periodical: journal, magazine, newspaper, ...
+ %
+ % call with
+ % formatted.pages formatted.date periodical
+ %
+FUNCTION {periodical}
+{ %
+ % author or editor, year, title, englishtitle, type
+ %
+ author empty$
+ %
+ % no author: possibly special issue with editors as authors
+ % (APA manual, ex. 11, p. 121)
+ %
+ { editor empty$
+ %
+ % no author or editor: title serves as author.
+ % title formatted as article title (APA manual not consistent in this,
+ % compare statement on p. 119: ``treat as book title'' and
+ % example 8, p. 121: no underlining => article title)
+ %
+ { format.atitle.type.trans.check output.new.block
+ %
+ % now formatted date on top of stack
+ %
+ output.dot.new.block
+ }
+ %
+ % format editor and year, and check if year is present
+ % format article title and check if title or type present
+ %
+ { format.editors.as.authors start.new.block
+ %
+ % now formatted date on top of stack
+ %
+ output.dot.new.block
+ format.atitle.type.trans.check output.new.block
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format article title and check if title or type present
+ %
+ { format.authors start.new.block
+ %
+ % now formatted date on top of stack
+ %
+ output.dot.new.block
+ format.atitle.type.trans.check output.new.block
+ }
+ if$
+ %
+ % format journal name, volume and issue number, and pages
+ % and check if journal not empty
+ %
+ format.journal.vol.num.pages.check
+ %
+ % if not empty, insert howpublished.
+ % (used if article is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % possible reprint and optional note
+ %
+ format.orig.note
+ fin.entry
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % journal article
+ %
+FUNCTION {article}
+{ pages format.year.month.day.check periodical }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % magazine article
+ %
+FUNCTION {magazine}
+{ pages format.year.month.day.check periodical }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % newspaper article
+ %
+FUNCTION {newspaper}
+{ pages format.bpages.check format.year.month.day.check periodical }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % (translation of) entire book
+ %
+FUNCTION {book}
+{ %
+ % author or editor,
+ % year, title, englishtitle, translator
+ %
+ author empty$
+ %
+ % no author: possibly edited book with editors as authors
+ %
+ { editor empty$
+ %
+ % no author or editor: title serves as author.
+ % title formatted as book title
+ %
+ { format.btitle.vol.edition.trans
+ format.type.number connect.with.space.check
+ output.dot.new.block
+ format.year.check output.dot.new.block
+ }
+ %
+ % format editor and year, and check if year is present
+ % format booktitle, volume, and edition and check if title present
+ %
+ { translator empty$
+ { format.editors.as.authors start.new.block
+ format.year.check output.dot.new.block
+ format.btitle.vol.edition
+ }
+ %
+ % format translator correctly
+ %
+ { translator editor =
+ not
+ { format.editors.as.authors start.new.block
+ format.year.check output.dot.new.block
+ format.btitle.vol.edition.trans
+ }
+ { format.ed.trans.as.authors start.new.block
+ format.year.check output.dot.new.block
+ format.btitle.vol.edition
+ }
+ if$
+ }
+ if$
+ format.type.number connect.with.space.check
+ output.dot.new.block
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format booktitle, volume, and edition and check if title present
+ %
+ { format.authors start.new.block
+ format.year.check output.dot.new.block
+ format.btitle.vol.edition.editor.trans
+ format.type.number connect.with.space.check
+ output.dot.new.block
+ }
+ if$
+ %
+ % format address and publisher, check if address and publisher present
+ %
+ format.address.publisher.check
+ %
+ % format original publication (of reprint/translation)
+ % and optional note
+ %
+ format.orig.note
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % (translated) article or chapter in edited book
+ %
+FUNCTION {incollection}
+{ author empty$
+ %
+ % no author: title serves as author.
+ % title formatted as article title (APA manual not consistent in this,
+ % compare statement on p. 119: ``treat as book title'' and
+ % example 8, p. 121: no underlining => article title)
+ %
+ { editor.ne.trans
+ { format.atitle.type.trans.check }
+ { format.atitle.type.check }
+ if$
+ output.new.block
+ %
+ % format month and day as well when available
+ % esp. for ``collections'' that are not books,
+ % such as parts of internet documents
+ %
+ format.year.month.day.check output.dot.new.block
+ }
+ %
+ % format author and year, and check if year is present
+ % format article title and check if title or type present
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ editor.ne.trans
+ { format.atitle.type.trans.check }
+ { format.atitle.type.check }
+ if$
+ output.new.block
+ }
+ if$
+ %
+ % format "In " editor " (Ed. \& Trans.), "
+ % booktitle, volume, edition, pages
+ %
+ format.in.editors.trans
+ format.bvol.edition.pages
+ booktitle format.btitle.connect * output.dot.new.block
+ %
+ % format address and publisher, check if publisher present
+ %
+ format.address.publisher.check
+ %
+ % if not empty, insert howpublished.
+ % (used if article is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % format original publication (of reprint/translation)
+ % and optional note
+ %
+ format.orig.note
+ fin.entry
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% REPORTS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % technical report number
+ %
+FUNCTION {format.tr.number}
+{ type empty$
+ { "\BTR{}" }
+ { type "\bibnotype" =
+ { "" }
+ { type }
+ if$
+ }
+ if$
+ number format.rnumber.check connect.with.space.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, volume, edition, report number
+ %
+FUNCTION {format.tr.title.number}
+{ format.etitle.check
+ format.bvol.edition.check
+ format.tr.number connect.with.semicolon.check
+ parenthesize.check connect.with.space.check
+ title format.btitle.connect
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % format address and institution of reports etc.
+ %
+ % Washington, DC: National Institute of Education
+ % or
+ % National Institute of Education (if address empty)
+ %
+ % warning if no institution
+ %
+FUNCTION {format.address.institution.check}
+{ "institution" institution warning.if.empty
+ "address" address warning.if.empty
+ address institution connect.with.colon.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % reports
+ %
+FUNCTION {techreport}
+{ author empty$
+ %
+ % no author: possibly edited report with editors as authors
+ %
+ { editor empty$
+ %
+ % no author or editor: title serves as author.
+ % title formatted as book title
+ %
+ { format.tr.title.number output.dot.new.block
+ format.year.month.day.check output.dot.new.block
+ }
+ %
+ % format editor and year, and check if year is present
+ % format report title and check if title present
+ % format volume, edition, type, and number
+ %
+ { format.editors.as.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ format.tr.title.number output.dot.new.block
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format report title and check if title present
+ % format volume, edition, type, and number
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ format.tr.title.number output.dot.new.block
+ }
+ if$
+ %
+ % format address and institution, check if institution present
+ %
+ format.address.institution.check
+ %
+ % if not empty, insert howpublished.
+ % (used if report is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % format optional note
+ %
+ note empty$
+ { add.period$ }
+ { output.dot.new.block
+ format.note
+ }
+ if$
+ fin.entry
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % (translated) article or chapter in report
+ %
+FUNCTION {intechreport}
+{ author empty$
+ %
+ % no author: title serves as author.
+ % title formatted as article title (APA manual not consistent in this,
+ % compare statement on p. 119: ``treat as book title'' and
+ % example 8, p. 121: no underlining => article title)
+ %
+ { editor.ne.trans
+ { format.atitle.trans.check }
+ { format.atitle.check }
+ if$
+ output.new.block
+ format.year.month.day.check output.dot.new.block
+ }
+ %
+ % format author and year, and check if year is present
+ % format article title and check if title or type present
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ editor.ne.trans
+ { format.atitle.trans.check }
+ { format.atitle.check }
+ if$
+ output.new.block
+ }
+ if$
+ %
+ % format "In " editor " (Ed. \& Trans.), "
+ % booktitle, volume, edition, pages
+ %
+ format.in.editors.trans
+ %
+ % volume, edition, report type and number, pages
+ %
+ format.bvol.edition.check
+ format.tr.number connect.with.semicolon.check
+ pages format.bpages.check connect.with.comma.check
+ parenthesize.check
+ %
+ booktitle format.btitle.connect *
+ output.dot.new.block
+ %
+ % format address and publisher, check if publisher present
+ %
+ format.address.institution.check
+ %
+ % if not empty, insert howpublished.
+ % (used if report is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % format original publication (of reprint/translation)
+ % and optional note
+ %
+ format.orig.note
+ fin.entry
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % papers presented at conferences etc.
+ %
+FUNCTION {lecture}
+{ author empty$
+ { "author" author warning.if.empty }
+ { format.authors start.new.block }
+ if$
+ %
+ % format year, month, and day, and check if year present
+ % format title and check if title present
+ % format howpublished and check if howpublished present
+ %
+ format.year.month.day.check output.dot.new.block
+ symposium empty$
+ { format.etitle.check
+ title format.btitle.connect output.new.block
+ howpublished empty$
+ { "symposium and howpublished missing in " * cite$ warning$ }
+ { howpublished }
+ if$
+ }
+ { format.atitle.type.check output.new.block
+ "\BIn{} "
+ chair empty$
+ 'skip$
+ { chair format.editor.names
+ chair num.names$ #1 >
+ { "(\BCHAIRS)" }
+ { "(\BCHAIR)" }
+ if$
+ connect.with.space.check * ", " *
+ }
+ if$
+ symposium format.btitle.no.dot *
+ format.howpublished
+ }
+ if$
+ %
+ % format optional note
+ %
+ note empty$
+ { add.period$ }
+ { output.dot.new.block
+ format.note
+ }
+ if$
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% THESES %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % default thesis type is on top of stack
+ % now, if type field is empty, this default is used
+ % else default is removed and replaced by value of
+ % type field
+ %
+FUNCTION {format.type.school}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+ school connect.with.comma.check
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % phd theses, etc.
+ % call with
+ % "default.published.thesis" "default.unpublished.thesis" thesis
+ %
+FUNCTION {thesis}
+{ author empty$
+ { "author" author warning.if.empty }
+ { format.authors start.new.block }
+ if$
+ %
+ % format year and check if year present
+ %
+ format.year.check output.dot.new.block
+ %
+ % format title and check if title present
+ % journal empty => unpublished PhD thesis
+ % journal not empty => published (e.g., Dissertation Abstracts Int.)
+ %
+ journal empty$
+ { format.btitle.vol.edition output.dot.new.block
+ %
+ % pop default unpublished thesis, top is default published thesis
+ %
+ swap$ pop$
+ format.type.school
+ address connect.with.comma.check
+ }
+ %
+ % pop default published thesis, top is default unpublished thesis
+ %
+ { pop$
+ type empty$
+ school empty$
+ originalyear empty$
+ and
+ and
+ { pop$
+ ""
+ }
+ { format.type.school
+ originalyear connect.with.comma.check
+ parenthesize.check
+ }
+ if$
+ format.etitle.check
+ swap$ connect.with.space.check
+ "title" title warning.if.empty
+ title format.atitle.connect output.new.block
+ pages format.journal.vol.num.pages.check
+ }
+ if$
+ %
+ % if not empty, insert howpublished.
+ % (used if thesis is retrieved from the internet)
+ %
+ format.howpublished
+ %
+ % format optional note
+ %
+ note empty$
+ { add.period$ }
+ { output.dot.new.block
+ format.note
+ }
+ if$
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % phd theses, etc.
+ %
+FUNCTION {phdthesis}
+{ "\BPhD" "\BUPhD" thesis }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % master's theses, etc.
+ %
+FUNCTION {mastersthesis}
+{ "\BMTh" "\BUMTh" thesis }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% OTHER %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of something (used in unpublished and misc)
+ % english translation of title
+ % type and number of something
+ %
+FUNCTION {format.btitle.type.num}
+{ format.etitle.check
+ format.type.number
+ connect.with.space.check
+ title empty$
+ { add.period$ }
+ { title format.btitle.connect }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title of message or software-related thing (used in misc)
+ % english translation of title
+ % type and number of something
+ %
+FUNCTION {format.mtitle.type.num}
+{ format.etitle.check
+ type "\bibmessage" =
+ { number empty$
+ 'skip$
+ { type number connect.with.space.check
+ bracket.check
+ connect.with.space.check
+ }
+ if$
+ }
+ { format.type.number
+ connect.with.space.check
+ }
+ if$
+ title empty$
+ { add.period$ }
+ { title format.atitle.connect }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % title, english translation of title,
+ % type and number of something (used in misc)
+ %
+FUNCTION {output.misctitle.type.num}
+{ type empty$
+ { format.btitle.type.num }
+ { type "\bibmessage" =
+ type "\bibcomputerprogram" =
+ type "\bibcomputerprogrammanual" =
+ type "\bibcomputerprogramandmanual" =
+ type "\bibcomputersoftware" =
+ type "\bibcomputersoftwaremanual" =
+ type "\bibcomputersoftwareandmanual" =
+ type "\bibprogramminglanguage" =
+ or
+ or
+ or
+ or
+ or
+ or
+ or
+ { format.mtitle.type.num }
+ { format.btitle.type.num }
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % unpublished manuscripts, etc.
+ %
+FUNCTION {unpublished}
+{ check.relevant.fields
+ author empty$
+ %
+ % no author: possibly edited book with editors as authors
+ %
+ { editor empty$
+ %
+ % no author or editor: title serves as author.
+ % title formatted as book title
+ %
+ { format.btitle.type.num output.dot.new.block
+ format.year.month.day.check
+ }
+ %
+ % format editor and year, and check if year is present
+ % format book title, volume, and edition and check if title present
+ %
+ { format.editors.as.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ format.btitle.type.num
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format book title, volume, and edition
+ % and check if title or type present
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ format.btitle.type.num
+ }
+ if$
+ howpublished empty$
+ organization empty$
+ address empty$
+ and
+ and
+ 'skip$
+ { output.dot.new.block
+ howpublished
+ organization connect.with.comma.check
+ address connect.with.comma.check
+ }
+ if$
+ %
+ % format optional note
+ %
+ note empty$
+ { add.period$ }
+ { output.dot.new.block
+ format.note
+ }
+ if$
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % nonprint media and other things that don't fit
+ %
+FUNCTION {misc}
+{ author empty$
+ %
+ % no author: possibly edited item with editors as authors
+ %
+ { editor empty$
+ %
+ % no author or editor: title/type serves as author.
+ % title formatted as book title
+ %
+ % if no title and no type, howpublished is title
+ %
+ { title empty$
+ type empty$
+ and
+ { howpublished empty$
+ { "No author, editor, title, type, and howpublished in "
+ cite$ * warning$ }
+ { howpublished output.dot.new.block }
+ if$
+ format.year.month.day.check output.dot.new.block
+ }
+ { output.misctitle.type.num output.new.block
+ format.year.month.day.check output.dot.new.block
+ output.howpublished
+ }
+ if$
+ }
+ %
+ % format editor and year, and check if year is present
+ % format book title, volume, and edition and check if title present
+ %
+ { format.editors.as.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ output.misctitle.type.num output.new.block
+ output.howpublished
+ }
+ if$
+ }
+ %
+ % format author and year, and check if year is present
+ % format book title, volume, and edition
+ % and check if title or type present
+ %
+ { format.authors start.new.block
+ format.year.month.day.check output.dot.new.block
+ output.misctitle.type.num output.new.block
+ output.howpublished
+ }
+ if$
+ address empty$
+ publisher empty$
+ and
+ 'skip$
+ { format.address.publisher
+ output.dot.new.block
+ }
+ if$
+ %
+ % format optional note
+ %
+ note empty$
+ { "" }
+ { format.note }
+ if$
+ fin.entry
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % for legal cases and other cases that need to be
+ % done by hand
+ %
+FUNCTION {literal}
+{ "key" key warning.if.empty
+ "text" text warning.if.empty
+ text empty$
+ { "" }
+ { text }
+ if$
+ fin.entry
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % following functions not used for APA Manual examples
+ %
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % booklet
+ %
+FUNCTION {booklet}
+{ misc }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % part of a book
+ %
+FUNCTION {inbook}
+{ incollection }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % article in proceedings
+ %
+FUNCTION {inproceedings}
+{ incollection }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % technical documentation
+ %
+FUNCTION {manual}
+{ misc }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % proceedings
+ %
+FUNCTION {proceedings}
+{ misc }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % unknown types
+ %
+FUNCTION {default.type}
+{ misc }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% INITIALIZATION FUNCTIONS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize}
+{ %
+ % Maximum number of names to be formatted .
+ #6 'name.max :=
+% #250 'entry.max$ :=
+% #5000 'global.max$ :=
+}
+
+FUNCTION {init.old.number}
+{ %
+ % For numbering the entries according to current sorting order.
+ #0 'old.number :=
+}
+
+FUNCTION {init.old.label}
+{ %
+ % For comparing labels across entries .
+ "zzzzzz" 'old.label :=
+}
+
+FUNCTION {init.cite.initials.add.to.year}
+{ %
+ % Initialize "cite initials" indicator for all entries.
+ #0 'cite.initials :=
+ %
+ % Initialize "add to year", i.e., whether a, b, etc. must
+ % be added to the year in citation, to "no".
+ #0 'add.to.year :=
+ %
+}
+
+FUNCTION {move.forward}
+{ %
+ % Indicates that we're moving forward (ITERATE) through the entry list .
+ #1 'forward :=
+}
+
+FUNCTION {move.backward}
+{ %
+ % Indicates that we're moving backward (REVERSE) through the entry list .
+ #0 'forward :=
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BASIC BIBLIOGRAPHY OUTPUT FUNCTIONS %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Beginning of the thebibliography environment:
+% Write preamble if there is one, write \begin command
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Write \end{thebibliography} command
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Write the citation labels and reference list entry to
+% the .bbl file.
+
+FUNCTION {write.bbl.entry}
+{ %
+ % Output \bibitem and \citeauthoryear command.
+ %
+ make.cite.labels
+ %
+ % Format and output reference list entry.
+ %
+ call.type$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% READ AND PROCESS ENTRIES, MAKE THEBIBLIOGRAPHY %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% Read entries .
+
+READ
+
+% Some initializations .
+
+EXECUTE { initialize }
+
+% Sort items by title in order to replace each title by
+% its number in later sorting .
+
+ITERATE { make.sort.title }
+
+SORT
+
+EXECUTE { init.old.number }
+
+EXECUTE { init.old.label }
+
+ITERATE { make.title.number }
+
+% Now generate some tentative author-year labels and do some
+% preprocessing for the later definitive author and year
+% labels.
+
+ITERATE { make.tentative.sort.label }
+
+SORT
+
+% Now check whether initials must be added to first author,
+% how many authors must be formatted, whether an "a", "b",
+% etc., must be added to the year label.
+
+ITERATE { init.cite.initials.add.to.year }
+
+EXECUTE { init.initials }
+
+ITERATE { check.add.initials }
+
+EXECUTE { init.initials }
+
+REVERSE { check.add.initials }
+
+ITERATE { tentative.cite.num.names }
+
+EXECUTE { init.cite.num.names }
+
+EXECUTE { move.forward }
+
+ITERATE { definitive.cite.num.names }
+
+EXECUTE { init.cite.num.names }
+
+EXECUTE { move.backward }
+
+REVERSE { definitive.cite.num.names }
+
+
+% Make final sorting label and do definitive sorting .
+
+ITERATE { make.final.sort.key }
+
+SORT
+
+% Write preamble and \begin{thebibliography}{} statement
+
+EXECUTE { begin.bib }
+
+% Make final cite labels, format reference list entry,
+% and write to .bbl file.
+
+ITERATE { write.bbl.entry }
+
+
+% Write \end{thebibliography} statement
+
+EXECUTE { end.bib }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DONE %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% EOF apacitex.bst
+%
diff --git a/Master/texmf-dist/bibtex/bst/asaetr/asaetr.bst b/Master/texmf-dist/bibtex/bst/asaetr/asaetr.bst
new file mode 100644
index 00000000000..0c63fb0e879
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/asaetr/asaetr.bst
@@ -0,0 +1,1209 @@
+% asaetr.bst v0.9 01 Jan 91
+% James Darrell McCauley (jdm5548@diamond.tamu.edu)
+% This is part of a four file set:
+% asaetr.sty - LaTeX style for TRANSACTIONS OF THE ASAE (American Society for
+% Agricultural Engineers)
+% asaetr.bst - BiBTeX style for TRANSACTIONS OF THE ASAE
+% asaetr.tex - example usage of and documentation for above
+% asaetr.bib - part of the above example
+%
+% version = 0.9 of asaetr.bst 1991 January 01
+% James Darrell McCauley
+% Department of Agricultural Engineering
+% Texas A\&M University
+% College Station, Texas 77843-2117
+% jdm5548@diamond.tamu.edu
+
+% new.bst
+% nar.bst was created by Tom Schneider from unsrt.bst
+% version = 3.04 of nar.bst 1990 May 23
+% Tom Schneider
+% National Cancer Institute
+% Laboratory of Mathematical Biology
+% Frederick, Maryland
+% toms@ncifcrf.gov
+
+% BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ doblank straightnames}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #0 'doblank := % put a blanks in output.nonnul if not zero
+ #0 'straightnames := % force names to be J. B. Smith if not zero
+ % otherwise they are Smith, J. B.
+}
+
+STRINGS { s t }
+
+FUNCTION {between}
+{ % what to do between output items TDS (AVOID COMMAS)
+ doblank #0 =
+ {" " * write$}
+ {write$}
+ if$
+}
+
+% from nar.bst, does okay 'cept no periods after titles
+%FUNCTION {output.nonnull}
+%{ 's :=
+% output.state mid.sentence =
+% {
+% between
+% }
+%
+% { output.state after.block =
+% {
+% write$ % TDS NO PERIODS!
+% newline$
+% }
+% { output.state before.all =
+% 'write$
+% {between}
+% if$
+% }
+% if$
+% mid.sentence 'output.state :=
+% }
+% if$
+% s
+%}
+
+% from plain.bst (add periods after title, but also adds
+% commas in other places)
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+% { ", " * write$ }
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names} % needs a total rewrite using 'and' function
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+ straightnames #0 = % takes care of editors
+ { s nameptr "{vv}{ll}{, jj}{, f.}" format.name$ 't := }
+ { s nameptr "{f.{ }}{vv}{ ll}{, jj}" format.name$ 't := }
+ if$
+ numnames #1 >
+ %nameptr #1 =
+ { s nameptr "{f.{ }}{vv}{ ll}{, jj}" format.name$ 't := }
+ {s nameptr "{vv}{ll}{, jj}{, f.}" format.name$ 't := }
+ if$
+ nameptr #1 =
+ {s nameptr "{vv}{ll}{, jj}{, f.}" format.name$ 't := }
+ { s nameptr "{f.{ }}{vv}{ ll}{, jj}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{
+ #1 'straightnames := % names go as J. B. Smith for editors
+ editor empty$
+ { "" }
+ { editor num.names$ #1 >
+ { "ed. " * }
+ { "ed. " * }
+% { ", editors" * }
+% { ", editor" * }
+ if$
+ editor format.names
+ }
+ if$
+ #0 'straightnames := % names go as Smith, J. B. again
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ {" " year "." * * }
+% { month " " * year * }
+ {" " year "." * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title %emphasize not for NAR! TDS
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { " " edition * "l" change.case$ " edition" * } % TDS add space before
+ { " " edition * "t" change.case$ " edition" * } % TDS add space before
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+% { "pp" pages tie.or.space.connect }
+ { "" pages n.dashify tie.or.space.connect }
+ { "" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ " " volume * field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize *}
+ { "In " booktitle emphasize * ", " * format.editors *
+ ", " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+% { "Technical Report" }
+ { "--" }
+ % 'type
+ { type " No.\/" * }
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * } % TDS
+ if$
+ }
+ { "In " key * } % TDS
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In " % TDS
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In " booktitle * } % TDS
+ if$
+ }
+ { "In " key * } % TDS
+ if$
+ }
+ { "In " format.crossref.editor * } % TDS
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ new.block
+ format.title "title" output.check
+% ". " output % give it a period after the title
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+% format.date "year" output.check % TDS move date
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+% note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+
+ format.date "year" output.check % TDS new location
+ new.block
+ #1 'doblank := % remove blanks TDS
+ format.btitle emphasize "title" output.check
+% ". " output % give it a period after the title
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ ": " output
+ publisher "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+% format.date "year" output.check % TDS former location
+ new.block
+% note output
+ fin.entry
+ #0 'doblank := % blanks again TDS
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+% note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+% note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check % TDS
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+% format.date "year" output.check % TDS
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+% note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check % TDS
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output % TDS pages go at the end
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ ": " output % TDS put a colon
+ publisher output
+% format.date "year" output.check
+ }
+ { address output.nonnull
+% format.date "year" output.check
+ new.sentence
+ #1 'doblank := % remove blanks
+ organization output
+ ": " output % TDS put a colon after the location
+%zzz
+ publisher output
+% ". " output % TDS put a period after the publisher
+ #0 'doblank := % put back blanks
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+% format.pages output % TDS pages go at the end
+ }
+ if$
+ new.block
+% note output
+% format.pages output % TDS pages go at the end
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.date output
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+% new.block
+% note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.date "year" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis." format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+% note output
+ fin.entry
+}
+
+FUNCTION {masterthesis} { mastersthesis }
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.date output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+% note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+% note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+% note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.date "year" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ add.period$
+ address output
+ ": " output
+ institution "institution" output.check
+% note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.date "year" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+%% note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/ascelike/ascelike.bst b/Master/texmf-dist/bibtex/bst/ascelike/ascelike.bst
new file mode 100644
index 00000000000..d3738ae1258
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/ascelike/ascelike.bst
@@ -0,0 +1,1461 @@
+%% File: ascelike.bst
+%%
+%% An unofficial bibliography style-file for ASCE-like bibliographies.
+%% Adapted from chicago.bst (24-jan-88 version) of Glenn Paulley
+%% This bst style should be used with document class ascelike.cls
+%% for citations that come out like (Jones, 1986) or variations of such.
+%%
+%% For use with the BibTeX bibliographic formatting tool, Copyright (C) 1988,
+%% all rights reserved. Bibtex is a program for formatting bibliographic
+%% entries. It uses an author's *.bib file which contains a data base of
+%% information on each entry. The entries are formatted in a style
+%% specified in a *.bst file, such as this file, so that the editorial
+%% style of the particular book or journal publisher is met. For example,
+%% this ascelike.bst file prepares bibliographies in an ASCE-like style,
+%% with quotation marks around titles, etc.
+%%
+%% To use this ascelike.bst file, you must prepare a *.bib file of your
+%% bibliographic data base. See The Latex book "LaTeX: A Document
+%% Preparation System" by Leslie Lamport, or in Oren Patashnik's "BibTEXing"
+%% document (contained in the btxdoc.* files on CTAN and in online web
+%% versions, search for "btxdox" or "bibtexing").
+%%
+%% =============================================
+%% IMPORTANT NOTICE:
+%% See the copyright and distribution conditions below.
+%%
+%% Copyright 1999:
+%% Matthew R Kuhn
+%% School of Engineering
+%% University of Portland
+%% 5000 N Willamette Blvd
+%% Portland OR 97203
+%% USA
+%% E-mail: kuhn@egr.up.edu
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed, available from the CTAN
+%% archives; either version 1.1 of the License, or any later version.
+%% Most importantly, you may modify this file, but only if you rename it.
+%%
+%% This is a contributed file to the LaTeX2e system.
+%%
+%% This program consists of the files ascelike.cls and ascelike.bst
+%%
+%% -----------------------------------
+%%
+%% This document class produces bibliographic entries that roughly comply
+%% with the guidelines of the American Society of Civil Engineers.
+%% However, it was not produced by ASCE, its agents, or employees; nor
+%% is it in any way sanctioned or approved by that organization.
+%%
+%% Please contact Matthew Kuhn by email for suggestions, etc.
+%%
+%% -----------------------------------
+%
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label.year label extra.label sort.label sort.year }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ after.quote after.quote.comma
+ t.state o.state title.already org.already }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.quote :=
+ #5 'after.quote.comma :=
+ #0 't.state :=
+ #0 'o.state :=
+ #1 'title.already :=
+ #2 'org.already :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.quote =
+ { ".''\ " * write$ }
+ { output.state after.quote.comma =
+ { ",''\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ after.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {my.full.label}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * } % from Chicago Manual of Style
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+
+}
+
+FUNCTION {format.names.editors}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f. }{vv}{ll}{, jj}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.editors
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { len.minus.1 }
+STRINGS { u v }
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "``" title "t" change.case$ *
+ }
+% { title 'u :=
+% u #1 #1 substring$ 'v :=
+% u text.length$ #1 - 'len.minus.1 :=
+% u #2 len.minus.1 substring$ 'u :=
+% u "l" change.case$ 'u :=
+% "``" v * u *
+% }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "Vol. and No." number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "" pages n.dashify tie.or.space.connect }
+ { "" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle emphasize }
+ { booktitle emphasize ", " * format.editors * }
+% { "In " booktitle emphasize * }
+% { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Report No." }
+ { type }
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+ emphasize
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+%
+% added - gnp. Provide label formatting by organization if editor is null.
+%
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "no key, editor or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { organization }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+%
+% added - gnp. Provide label formatting by organization if author is null.
+%
+{ author empty$
+ { key empty$
+ { organization empty$
+ { "no key, author or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'organization
+ if$
+ }
+ { key }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+%
+% Changed - GNP. See also author.organization.sort, editor.organization.sort
+% Form label for BibTeX entry. The classification of which fields are used
+% for which type of entry (book, inbook, etc.) are taken from alpha.bst.
+% The change here from newapa is to also include organization as a
+% citation label if author or editor is missing.
+%
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+
+ author empty$ % generate the full label citation information.
+ { editor empty$
+ { organization empty$
+ { type$ "manual" =
+ { title empty$
+ { "no author, editor, organization or title in "
+ cite$ * warning$
+ "??"
+ }
+ { title }
+ if$
+ }
+ { "no author, editor, or organization in " cite$ * warning$
+ "??" }
+ if$
+ }
+ { organization }
+ if$
+ }
+ { editor my.full.label }
+ if$
+ }
+ { author my.full.label }
+ if$
+
+% leave label on the stack, to be popped when required.
+
+ "}{" * swap$ * "}{" *
+% year field.or.null purify$ #-1 #4 substring$ *
+%
+% save the year for sort processing afterwards (adding a, b, c, etc.)
+%
+ year field.or.null purify$ #-1 #4 substring$
+ 'label.year :=
+}
+
+FUNCTION {output.bibitem}
+%{ newline$
+% "\bibitem[" write$
+% label write$
+% "]{" write$
+% cite$ write$
+% "}" write$
+% newline$
+% ""
+% before.all 'output.state :=
+%}
+{ newline$
+
+ "\bibitem[\protect\citeauthoryear{" write$
+ calc.label write$
+ sort.year write$
+ "}]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ crossref missing$
+ { journal emphasize "journal" output.check
+ organization output
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ organization output % for apalike
+ address output % there's no year
+ new.sentence % here so things
+ publisher output % are simpler
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ #0 't.state :=
+ #0 'o.state :=
+ author empty$
+ { format.editors output
+ editor empty$
+ { organization empty$
+ { org.already 'o.state :=
+ title empty$
+ { title format.key output }
+ { format.btitle "title" output.check
+ title.already 't.state :=
+ }
+ if$
+ }
+ { organization "organization" output.check
+ org.already 'o.state :=
+ }
+ if$
+ }
+ { }
+ if$
+ }
+ { }
+ if$
+% { format.editors "author and editor" output.check
+% editor format.key output
+% }
+% { format.authors output.nonnull
+% crossref missing$
+% { "author and editor" editor either.or.check }
+% 'skip$
+% if$
+% }
+% if$
+% author format.key output % special for
+ output.year.check % apalike
+ new.block
+ t.state title.already =
+ { }
+ { format.btitle "title" output.check }
+ if$
+% format.btitle "title" output.check
+ o.state org.already =
+ { publisher address new.block.checkb
+ publisher output
+ }
+ { organization address new.block.checkb
+ organization output
+ }
+ if$
+% organization address new.block.checkb
+% organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote.comma 'output.state :=
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+%
+% added - GNP. Stack author or organization for sorting (from alpha.bst).
+% Unlike alpha.bst, we need entire names, not abbreviations
+%
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+%
+% added - GNP. Stack editor or organization for sorting (from alpha.bst).
+% Unlike alpha.bst, we need entire names, not abbreviations
+%
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+%FUNCTION {presort}
+%{ calc.label
+% label sortify
+% " "
+% *
+% type$ "book" =
+% type$ "inbook" =
+% or
+% 'author.editor.sort
+% { type$ "proceedings" =
+% 'editor.sort
+% 'author.sort
+% if$
+% }
+% if$
+% #1 entry.max$ substring$ % for
+% 'sort.label := % apalike
+% sort.label % style
+% *
+% " "
+% *
+% title field.or.null
+% sort.format.title
+% *
+% #1 entry.max$ substring$
+% 'sort.key$ :=
+%}
+FUNCTION {presort}
+%
+% Presort creates the bibentry's label via a call to calc.label, and then
+% sorts the entries based on entry type. Chicago.bst adds support for
+% including organizations as the sort key; the following is stolen from
+% alpha.bst.
+%
+{ calc.label sortify % recalculate bibitem label
+ year field.or.null purify$ #-1 #4 substring$ * % add year
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % added for newapa
+ 'sort.label := % added for newapa
+ sort.label % added for newapa
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+%
+% Pass through all entries, comparing current entry to last one.
+% Need to concatenate year to the stack (done by calc.label) to determine
+% if two entries are the same (see presort)
+%
+{ last.label
+ calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ #1 entry.max$ substring$ = % are they equal?
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ #1 entry.max$ substring$ 'last.label := % assign to last.label
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label.year extra.label * 'sort.year :=
+ extra.label 'next.extra :=
+}
+
+%FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+%{ #0 int.to.chr$ 'last.label :=
+% "" 'next.extra :=
+% #0 'last.extra.num :=
+%}
+%
+%FUNCTION {forward.pass}
+%{ last.label label =
+% { last.extra.num #1 + 'last.extra.num :=
+% last.extra.num int.to.chr$ 'extra.label :=
+% }
+% { "a" chr.to.int$ 'last.extra.num :=
+% "" 'extra.label :=
+% label 'last.label :=
+% }
+% if$
+%}
+%
+%FUNCTION {reverse.pass}
+%{ next.extra "b" =
+%% { "a" 'extra.label := }
+% 'skip$
+% if$
+%% label extra.label * 'label :=
+% label.year extra.label * 'sort.year :=
+% extra.label 'next.extra :=
+%}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/bababbr3-fl.bst b/Master/texmf-dist/bibtex/bst/babelbib/bababbr3-fl.bst
new file mode 100644
index 00000000000..7ed7bd7b7fb
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/bababbr3-fl.bst
@@ -0,0 +1,1343 @@
+%%
+%% This is file `bababbr3-fl.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstshort,bstthree,namevara')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{f.~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #2 >
+ { " " "\btxetalshort {.}" etalfont * *
+ #1 'namesleft := }
+ {
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{f.~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorsshort {.})" * }
+ { "\ (\btxeditorshort {.})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumeshort {.}" }
+ { "\btxvolumeshort {.}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofseriesshort {.}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumbershort {.}" }
+ { "\Btxnumbershort {.}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinseriesshort {.}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionshort {.}" * }
+ { edition "t" language.change.case "~\btxeditionshort {.}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpagesshort {.}" pages n.dashify tie.or.space.connect }
+ { "\btxpageshort {.}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchaptershort {.}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ { "\Btxinshort {.}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{,~f.}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * editor #2 "{vv~}{ll}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinshort {.}\ "
+ }
+ { "\Btxvolumeshort {.}" volume volume.tie.or.space.connect
+ " \btxofseriesshort {.}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanshort {.}"}
+MACRO {feb} {"\btxmonfebshort {.}"}
+MACRO {mar} {"\btxmonmarshort {.}"}
+MACRO {apr} {"\btxmonaprshort {.}"}
+MACRO {may} {"\btxmonmayshort {.}"}
+MACRO {jun} {"\btxmonjunshort {.}"}
+MACRO {jul} {"\btxmonjulshort {.}"}
+MACRO {aug} {"\btxmonaugshort {.}"}
+MACRO {sep} {"\btxmonsepshort {.}"}
+MACRO {oct} {"\btxmonoctshort {.}"}
+MACRO {nov} {"\btxmonnovshort {.}"}
+MACRO {dec} {"\btxmondecshort {.}"}
+MACRO {acmcs} {"ACM Comput.\ Surv.{}"}
+MACRO {acta} {"Acta Inf.{}"}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J.~Res.\ Dev.{}"}
+MACRO {ibmsj} {"IBM Syst.~J.{}"}
+MACRO {ieeese} {"IEEE Trans.\ Softw.\ Eng.{}"}
+MACRO {ieeetc} {"IEEE Trans.\ Comput.{}"}
+MACRO {ieeetcad}
+ {"IEEE Trans.\ Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf.\ Process.\ Lett.{}"}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput.\ Syst.\ Sci.{}"}
+MACRO {scp} {"Sci.\ Comput.\ Programming"}
+MACRO {sicomp} {"SIAM J.~Comput.{}"}
+MACRO {tocs} {"ACM Trans.\ Comput.\ Syst.{}"}
+MACRO {tods} {"ACM Trans.\ Database Syst.{}"}
+MACRO {tog} {"ACM Trans.\ Gr.{}"}
+MACRO {toms} {"ACM Trans.\ Math.\ Softw.{}"}
+MACRO {toois} {"ACM Trans.\ Office Inf.\ Syst.{}"}
+MACRO {toplas} {"ACM Trans.\ Prog.\ Lang.\ Syst.{}"}
+MACRO {tcs} {"Theoretical Comput.\ Sci.{}"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ f{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/bababbr3-lf.bst b/Master/texmf-dist/bibtex/bst/babelbib/bababbr3-lf.bst
new file mode 100644
index 00000000000..526f2ec0b5a
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/bababbr3-lf.bst
@@ -0,0 +1,1341 @@
+%%
+%% This is file `bababbr3-lf.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstshort,bstthree,namevarb')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{,~f.}{~vv}" format.name$ * 't :=
+ namesleft #2 >
+ { " " "\btxetalshort {.}" etalfont * *
+ #1 'namesleft := }
+ {
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{,~f.}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorsshort {.})" * }
+ { "\ (\btxeditorshort {.})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumeshort {.}" }
+ { "\btxvolumeshort {.}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofseriesshort {.}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumbershort {.}" }
+ { "\Btxnumbershort {.}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinseriesshort {.}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionshort {.}" * }
+ { edition "t" language.change.case "~\btxeditionshort {.}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpagesshort {.}" pages n.dashify tie.or.space.connect }
+ { "\btxpageshort {.}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchaptershort {.}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ { "\Btxinshort {.}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{,~f.}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * editor #2 "{vv~}{ll}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinshort {.}\ "
+ }
+ { "\Btxvolumeshort {.}" volume volume.tie.or.space.connect
+ " \btxofseriesshort {.}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanshort {.}"}
+MACRO {feb} {"\btxmonfebshort {.}"}
+MACRO {mar} {"\btxmonmarshort {.}"}
+MACRO {apr} {"\btxmonaprshort {.}"}
+MACRO {may} {"\btxmonmayshort {.}"}
+MACRO {jun} {"\btxmonjunshort {.}"}
+MACRO {jul} {"\btxmonjulshort {.}"}
+MACRO {aug} {"\btxmonaugshort {.}"}
+MACRO {sep} {"\btxmonsepshort {.}"}
+MACRO {oct} {"\btxmonoctshort {.}"}
+MACRO {nov} {"\btxmonnovshort {.}"}
+MACRO {dec} {"\btxmondecshort {.}"}
+MACRO {acmcs} {"ACM Comput.\ Surv.{}"}
+MACRO {acta} {"Acta Inf.{}"}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J.~Res.\ Dev.{}"}
+MACRO {ibmsj} {"IBM Syst.~J.{}"}
+MACRO {ieeese} {"IEEE Trans.\ Softw.\ Eng.{}"}
+MACRO {ieeetc} {"IEEE Trans.\ Comput.{}"}
+MACRO {ieeetcad}
+ {"IEEE Trans.\ Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf.\ Process.\ Lett.{}"}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput.\ Syst.\ Sci.{}"}
+MACRO {scp} {"Sci.\ Comput.\ Programming"}
+MACRO {sicomp} {"SIAM J.~Comput.{}"}
+MACRO {tocs} {"ACM Trans.\ Comput.\ Syst.{}"}
+MACRO {tods} {"ACM Trans.\ Database Syst.{}"}
+MACRO {tog} {"ACM Trans.\ Gr.{}"}
+MACRO {toms} {"ACM Trans.\ Math.\ Softw.{}"}
+MACRO {toois} {"ACM Trans.\ Office Inf.\ Syst.{}"}
+MACRO {toplas} {"ACM Trans.\ Prog.\ Lang.\ Syst.{}"}
+MACRO {tcs} {"Theoretical Comput.\ Sci.{}"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ f{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/bababbr3.bst b/Master/texmf-dist/bibtex/bst/babelbib/bababbr3.bst
new file mode 100644
index 00000000000..91b0c20fdd0
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/bababbr3.bst
@@ -0,0 +1,1342 @@
+%%
+%% This is file `bababbr3.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstshort,bstthree')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{f.~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #2 >
+ { " " "\btxetalshort {.}" etalfont * *
+ #1 'namesleft := }
+ {
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{,~f.}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorsshort {.})" * }
+ { "\ (\btxeditorshort {.})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumeshort {.}" }
+ { "\btxvolumeshort {.}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofseriesshort {.}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumbershort {.}" }
+ { "\Btxnumbershort {.}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinseriesshort {.}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionshort {.}" * }
+ { edition "t" language.change.case "~\btxeditionshort {.}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpagesshort {.}" pages n.dashify tie.or.space.connect }
+ { "\btxpageshort {.}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchaptershort {.}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ { "\Btxinshort {.}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{,~f.}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * editor #2 "{vv~}{ll}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinshort {.}\ "
+ }
+ { "\Btxvolumeshort {.}" volume volume.tie.or.space.connect
+ " \btxofseriesshort {.}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanshort {.}"}
+MACRO {feb} {"\btxmonfebshort {.}"}
+MACRO {mar} {"\btxmonmarshort {.}"}
+MACRO {apr} {"\btxmonaprshort {.}"}
+MACRO {may} {"\btxmonmayshort {.}"}
+MACRO {jun} {"\btxmonjunshort {.}"}
+MACRO {jul} {"\btxmonjulshort {.}"}
+MACRO {aug} {"\btxmonaugshort {.}"}
+MACRO {sep} {"\btxmonsepshort {.}"}
+MACRO {oct} {"\btxmonoctshort {.}"}
+MACRO {nov} {"\btxmonnovshort {.}"}
+MACRO {dec} {"\btxmondecshort {.}"}
+MACRO {acmcs} {"ACM Comput.\ Surv.{}"}
+MACRO {acta} {"Acta Inf.{}"}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J.~Res.\ Dev.{}"}
+MACRO {ibmsj} {"IBM Syst.~J.{}"}
+MACRO {ieeese} {"IEEE Trans.\ Softw.\ Eng.{}"}
+MACRO {ieeetc} {"IEEE Trans.\ Comput.{}"}
+MACRO {ieeetcad}
+ {"IEEE Trans.\ Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf.\ Process.\ Lett.{}"}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput.\ Syst.\ Sci.{}"}
+MACRO {scp} {"Sci.\ Comput.\ Programming"}
+MACRO {sicomp} {"SIAM J.~Comput.{}"}
+MACRO {tocs} {"ACM Trans.\ Comput.\ Syst.{}"}
+MACRO {tods} {"ACM Trans.\ Database Syst.{}"}
+MACRO {tog} {"ACM Trans.\ Gr.{}"}
+MACRO {toms} {"ACM Trans.\ Math.\ Softw.{}"}
+MACRO {toois} {"ACM Trans.\ Office Inf.\ Syst.{}"}
+MACRO {toplas} {"ACM Trans.\ Prog.\ Lang.\ Syst.{}"}
+MACRO {tcs} {"Theoretical Comput.\ Sci.{}"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ f{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/bababbrv-fl.bst b/Master/texmf-dist/bibtex/bst/babelbib/bababbrv-fl.bst
new file mode 100644
index 00000000000..a552d6d183c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/bababbrv-fl.bst
@@ -0,0 +1,1337 @@
+%%
+%% This is file `bababbrv-fl.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstshort,namevara')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{f.~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{f.~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorsshort {.})" * }
+ { "\ (\btxeditorshort {.})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumeshort {.}" }
+ { "\btxvolumeshort {.}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofseriesshort {.}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumbershort {.}" }
+ { "\Btxnumbershort {.}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinseriesshort {.}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionshort {.}" * }
+ { edition "t" language.change.case "~\btxeditionshort {.}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpagesshort {.}" pages n.dashify tie.or.space.connect }
+ { "\btxpageshort {.}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchaptershort {.}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ { "\Btxinshort {.}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{,~f.}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * editor #2 "{vv~}{ll}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinshort {.}\ "
+ }
+ { "\Btxvolumeshort {.}" volume volume.tie.or.space.connect
+ " \btxofseriesshort {.}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanshort {.}"}
+MACRO {feb} {"\btxmonfebshort {.}"}
+MACRO {mar} {"\btxmonmarshort {.}"}
+MACRO {apr} {"\btxmonaprshort {.}"}
+MACRO {may} {"\btxmonmayshort {.}"}
+MACRO {jun} {"\btxmonjunshort {.}"}
+MACRO {jul} {"\btxmonjulshort {.}"}
+MACRO {aug} {"\btxmonaugshort {.}"}
+MACRO {sep} {"\btxmonsepshort {.}"}
+MACRO {oct} {"\btxmonoctshort {.}"}
+MACRO {nov} {"\btxmonnovshort {.}"}
+MACRO {dec} {"\btxmondecshort {.}"}
+MACRO {acmcs} {"ACM Comput.\ Surv.{}"}
+MACRO {acta} {"Acta Inf.{}"}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J.~Res.\ Dev.{}"}
+MACRO {ibmsj} {"IBM Syst.~J.{}"}
+MACRO {ieeese} {"IEEE Trans.\ Softw.\ Eng.{}"}
+MACRO {ieeetc} {"IEEE Trans.\ Comput.{}"}
+MACRO {ieeetcad}
+ {"IEEE Trans.\ Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf.\ Process.\ Lett.{}"}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput.\ Syst.\ Sci.{}"}
+MACRO {scp} {"Sci.\ Comput.\ Programming"}
+MACRO {sicomp} {"SIAM J.~Comput.{}"}
+MACRO {tocs} {"ACM Trans.\ Comput.\ Syst.{}"}
+MACRO {tods} {"ACM Trans.\ Database Syst.{}"}
+MACRO {tog} {"ACM Trans.\ Gr.{}"}
+MACRO {toms} {"ACM Trans.\ Math.\ Softw.{}"}
+MACRO {toois} {"ACM Trans.\ Office Inf.\ Syst.{}"}
+MACRO {toplas} {"ACM Trans.\ Prog.\ Lang.\ Syst.{}"}
+MACRO {tcs} {"Theoretical Comput.\ Sci.{}"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ f{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/bababbrv-lf.bst b/Master/texmf-dist/bibtex/bst/babelbib/bababbrv-lf.bst
new file mode 100644
index 00000000000..413e10efb6e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/bababbrv-lf.bst
@@ -0,0 +1,1335 @@
+%%
+%% This is file `bababbrv-lf.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstshort,namevarb')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{,~f.}{~vv}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{,~f.}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorsshort {.})" * }
+ { "\ (\btxeditorshort {.})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumeshort {.}" }
+ { "\btxvolumeshort {.}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofseriesshort {.}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumbershort {.}" }
+ { "\Btxnumbershort {.}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinseriesshort {.}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionshort {.}" * }
+ { edition "t" language.change.case "~\btxeditionshort {.}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpagesshort {.}" pages n.dashify tie.or.space.connect }
+ { "\btxpageshort {.}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchaptershort {.}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ { "\Btxinshort {.}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{,~f.}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * editor #2 "{vv~}{ll}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinshort {.}\ "
+ }
+ { "\Btxvolumeshort {.}" volume volume.tie.or.space.connect
+ " \btxofseriesshort {.}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanshort {.}"}
+MACRO {feb} {"\btxmonfebshort {.}"}
+MACRO {mar} {"\btxmonmarshort {.}"}
+MACRO {apr} {"\btxmonaprshort {.}"}
+MACRO {may} {"\btxmonmayshort {.}"}
+MACRO {jun} {"\btxmonjunshort {.}"}
+MACRO {jul} {"\btxmonjulshort {.}"}
+MACRO {aug} {"\btxmonaugshort {.}"}
+MACRO {sep} {"\btxmonsepshort {.}"}
+MACRO {oct} {"\btxmonoctshort {.}"}
+MACRO {nov} {"\btxmonnovshort {.}"}
+MACRO {dec} {"\btxmondecshort {.}"}
+MACRO {acmcs} {"ACM Comput.\ Surv.{}"}
+MACRO {acta} {"Acta Inf.{}"}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J.~Res.\ Dev.{}"}
+MACRO {ibmsj} {"IBM Syst.~J.{}"}
+MACRO {ieeese} {"IEEE Trans.\ Softw.\ Eng.{}"}
+MACRO {ieeetc} {"IEEE Trans.\ Comput.{}"}
+MACRO {ieeetcad}
+ {"IEEE Trans.\ Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf.\ Process.\ Lett.{}"}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput.\ Syst.\ Sci.{}"}
+MACRO {scp} {"Sci.\ Comput.\ Programming"}
+MACRO {sicomp} {"SIAM J.~Comput.{}"}
+MACRO {tocs} {"ACM Trans.\ Comput.\ Syst.{}"}
+MACRO {tods} {"ACM Trans.\ Database Syst.{}"}
+MACRO {tog} {"ACM Trans.\ Gr.{}"}
+MACRO {toms} {"ACM Trans.\ Math.\ Softw.{}"}
+MACRO {toois} {"ACM Trans.\ Office Inf.\ Syst.{}"}
+MACRO {toplas} {"ACM Trans.\ Prog.\ Lang.\ Syst.{}"}
+MACRO {tcs} {"Theoretical Comput.\ Sci.{}"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ f{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/bababbrv.bst b/Master/texmf-dist/bibtex/bst/babelbib/bababbrv.bst
new file mode 100644
index 00000000000..fe6570d6fd1
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/bababbrv.bst
@@ -0,0 +1,1336 @@
+%%
+%% This is file `bababbrv.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstshort')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{f.~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{,~f.}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorsshort {.})" * }
+ { "\ (\btxeditorshort {.})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumeshort {.}" }
+ { "\btxvolumeshort {.}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofseriesshort {.}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumbershort {.}" }
+ { "\Btxnumbershort {.}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinseriesshort {.}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionshort {.}" * }
+ { edition "t" language.change.case "~\btxeditionshort {.}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpagesshort {.}" pages n.dashify tie.or.space.connect }
+ { "\btxpageshort {.}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchaptershort {.}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ { "\Btxinshort {.}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechrepshort {.}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{,~f.}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandshort {.}\ " * editor #2 "{vv~}{ll}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinshort {.}\ "
+ }
+ { "\Btxvolumeshort {.}" volume volume.tie.or.space.connect
+ " \btxofseriesshort {.}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanshort {.}"}
+MACRO {feb} {"\btxmonfebshort {.}"}
+MACRO {mar} {"\btxmonmarshort {.}"}
+MACRO {apr} {"\btxmonaprshort {.}"}
+MACRO {may} {"\btxmonmayshort {.}"}
+MACRO {jun} {"\btxmonjunshort {.}"}
+MACRO {jul} {"\btxmonjulshort {.}"}
+MACRO {aug} {"\btxmonaugshort {.}"}
+MACRO {sep} {"\btxmonsepshort {.}"}
+MACRO {oct} {"\btxmonoctshort {.}"}
+MACRO {nov} {"\btxmonnovshort {.}"}
+MACRO {dec} {"\btxmondecshort {.}"}
+MACRO {acmcs} {"ACM Comput.\ Surv.{}"}
+MACRO {acta} {"Acta Inf.{}"}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J.~Res.\ Dev.{}"}
+MACRO {ibmsj} {"IBM Syst.~J.{}"}
+MACRO {ieeese} {"IEEE Trans.\ Softw.\ Eng.{}"}
+MACRO {ieeetc} {"IEEE Trans.\ Comput.{}"}
+MACRO {ieeetcad}
+ {"IEEE Trans.\ Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf.\ Process.\ Lett.{}"}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput.\ Syst.\ Sci.{}"}
+MACRO {scp} {"Sci.\ Comput.\ Programming"}
+MACRO {sicomp} {"SIAM J.~Comput.{}"}
+MACRO {tocs} {"ACM Trans.\ Comput.\ Syst.{}"}
+MACRO {tods} {"ACM Trans.\ Database Syst.{}"}
+MACRO {tog} {"ACM Trans.\ Gr.{}"}
+MACRO {toms} {"ACM Trans.\ Math.\ Softw.{}"}
+MACRO {toois} {"ACM Trans.\ Office Inf.\ Syst.{}"}
+MACRO {toplas} {"ACM Trans.\ Prog.\ Lang.\ Syst.{}"}
+MACRO {tcs} {"Theoretical Comput.\ Sci.{}"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ f{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babalpha-fl.bst b/Master/texmf-dist/bibtex/bst/babelbib/babalpha-fl.bst
new file mode 100644
index 00000000000..219185cdc3b
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babalpha-fl.bst
@@ -0,0 +1,1494 @@
+%%
+%% This is file `babalpha-fl.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstsorted,bstalpha,namevara')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem[" label * "]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{
+ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babalpha-lf.bst b/Master/texmf-dist/bibtex/bst/babelbib/babalpha-lf.bst
new file mode 100644
index 00000000000..c4441c131fd
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babalpha-lf.bst
@@ -0,0 +1,1492 @@
+%%
+%% This is file `babalpha-lf.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstsorted,bstalpha,namevarb')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem[" label * "]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{, jj}{, ff}{~vv}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{, ff}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{
+ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babalpha.bst b/Master/texmf-dist/bibtex/bst/babelbib/babalpha.bst
new file mode 100644
index 00000000000..54af527b1ae
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babalpha.bst
@@ -0,0 +1,1493 @@
+%%
+%% This is file `babalpha.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstsorted,bstalpha')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem[" label * "]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{, ff}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{
+ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babamspl.bst b/Master/texmf-dist/bibtex/bst/babelbib/babamspl.bst
new file mode 100644
index 00000000000..291c150cf51
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babamspl.bst
@@ -0,0 +1,1210 @@
+%%
+%% This is file `babamspl.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bstams')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ mrnumber
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label bysame }
+
+INTEGERS { output.state before.all mid.sentence }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+}
+
+STRINGS { s t language.state change.temp}
+
+FUNCTION {shows}
+{ duplicate$ ":::: `" swap$ * "'" * top$
+}
+
+FUNCTION {showstack}
+{"STACK================================================================"
+top$
+stack$
+"ENDSTACK============================================================="
+top$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {add.space.if.necessary}
+{ duplicate$ "" =
+ 'skip$
+ { "\ " * }
+ if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {missing.warning}
+{ "missing " swap$ * " in " * cite$ * warning$ }
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ t missing.warning }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.nonempty.mrnumber}
+{ duplicate$ missing$
+ { pop$ "" }
+ 'skip$
+ if$
+ duplicate$ empty$
+ 'pop$
+ { " \MR{" swap$ * "}" * write$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ mrnumber output.nonempty.mrnumber
+ newline$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.language}
+{ language empty$
+ { "" }
+ { "\btxprintamslanguage{\btxlanguagename {" language * "}}" * }
+ if$
+}
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " * "\btxetalshort {.}" etalfont * }
+ { " \btxandlong {} " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { bysame "\bysame" =
+ {"\bysame"}
+ { author format.names }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorsshort {.})" * }
+ { "\ (\btxeditorshort {.})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.nonauthor.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", \btxeditorsshort {.}" * }
+ { ", \btxeditorshort {.}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {format.journal.vol.year}
+{ journal empty$
+ { "journal name" missing.warning ""}
+ { journal journalfont }
+ if$
+ volume empty$
+ 'skip$
+ { " " * volume volumefont * }
+ if$
+ year empty$
+ { "year" missing.warning }
+ { " (" * year * ")" * }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "\btxnumbershort {.}~" number * }
+ if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.bookvolume.series.number}
+{ volume empty$
+ { "" % Push the empty string as a placeholder in case everything else
+ % is empty too.
+ series empty$
+ 'skip$
+ { pop$ series } % if series is not empty put in stack
+ if$
+ number empty$
+ 'skip$
+ { duplicate$ empty$ % if no preceding material,
+ 'skip$ % do nothing, otherwise
+ { ", " * } % add a comma and space to separate.
+ if$
+ "\btxnumbershort {.}" number tie.or.space.connect * % add the number information
+ }
+ if$
+ }
+ { "\btxvolumeshort {.}" volume tie.or.space.connect % vol. XX
+ number empty$
+ { series empty$
+ 'skip$
+ { series ", " * swap$ *} % Series Name, vol. XX
+ if$
+ }
+ { series empty$
+ { "can't use both volume and number if series info is missing"
+ warning$
+ "in BibTeX entry type `" type$ * "'" * top$
+ }
+ { ", " * series * ", \btxnumbershort {.}" * number tie.or.space.connect }
+ if$
+ }
+ if$
+ }
+ if$
+
+} % end of format.bookvolume.series.number
+
+FUNCTION {format.inproc.title.address.editors}
+{ booktitle empty$
+ { "" }
+ { booktitle
+ address empty$
+ 'skip$
+ { add.space.if.necessary "(" * address * ")" * }
+ if$
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.incoll.title.editors}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle }
+ { booktitle
+ add.space.if.necessary "(" * format.nonauthor.editors * ")" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" language.change.case " \btxeditionshort {.}" * }
+ { edition "t" language.change.case " \btxeditionshort {.}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont {" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages n.dashify }
+ if$
+}
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpagesshort {.}~" pages n.dashify * }
+ { "\btxpageshort {.}~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.book.pages
+ { type empty$
+ { "\btxchaptershort {.}~" }
+ { type "l" language.change.case " " * }
+ if$
+ chapter *
+ pages empty$
+ 'skip$
+ { ", " * format.book.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "\Btxtechrepshort {.}" }
+ 'type
+ if$
+ number empty$
+ { "t" language.change.case }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\btxinshort {} " journal journalfont * }
+ if$
+ }
+ { "\btxinshort {} " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " \btxetalshort {.}" * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " \btxetalshort {.}" * }
+ { " \btxandlong {} " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\btxinserieslong {} "
+ }
+ { "\btxvolumeshort {.}" volume tie.or.space.connect
+ " \btxofserieslong {} " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\btxinlong {} " * booktitle titlefont * }
+ if$
+ }
+ { "\btxinlong {} " key * }
+ if$
+ }
+ { "\btxinlong {} " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.journal.vol.year output
+ format.number output
+ format.pages "pages" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages "pages" output.check
+ }
+ if$
+ format.issn output
+ format.url output
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.title "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.isbn output
+ format.url output
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished output
+ address output
+ format.date output
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.title "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ format.chapter.pages "chapter and pages" output.check
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.isbn output
+ format.url output
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.incoll.title.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.isbn output
+ format.url output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.inproc.title.address.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.isbn output
+ format.url output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.title "title" output.check
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn output
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished output
+ format.date output
+ format.isbn output
+ format.issn output
+ format.url output
+ note output
+ format.book.pages output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn output
+ format.url output
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.title "title" output.check
+ format.bookvolume.series.number output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ format.isbn output
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn output
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" language.change.case
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label prev.author this.author }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+ "abcxyz" 'prev.author :=
+ "" 'this.author :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ author empty$
+ { editor empty$
+ { "" }
+ 'editor
+ if$
+ }
+ 'author
+ if$
+ 'this.author :=
+ this.author prev.author =
+ { "\bysame" 'bysame := }
+ { "" 'bysame :=
+ this.author "" =
+ { "abcxyz" }
+ 'this.author
+ if$
+ 'prev.author :=
+ }
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {write.lines}
+{ { duplicate$ "." = NOT }
+ { write$ newline$ }
+ while$
+ pop$
+}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providecommand{\bysame}{\leavevmode\hbox to3em{\hrulefill}\thinspace}"
+ write$ newline$
+ " \providecommand{\MR}{\relax\ifhmode\unskip\space\fi MR }"
+ write$ newline$
+ " % \MRhref is called by the amsart/book/proc definition of \MR."
+ write$ newline$
+ " \providecommand{\MRhref}[2]{%" write$ newline$
+ " \href{http://www.ams.org/mathscinet-getitem?mr=#1}{#2}"
+ write$ newline$
+ " }" write$ newline$
+ " \providecommand{\href}[2]{#2}" write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{\textbf}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+ " \providecommand\btxprintamslanguage[1]{\ (#1)}"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babplai3-fl.bst b/Master/texmf-dist/bibtex/bst/babelbib/babplai3-fl.bst
new file mode 100644
index 00000000000..075c0ce1c78
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babplai3-fl.bst
@@ -0,0 +1,1343 @@
+%%
+%% This is file `babplai3-fl.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstthree,namevara')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #2 >
+ { " " "\btxetalshort {.}" etalfont * *
+ #1 'namesleft := }
+ {
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babplai3-lf.bst b/Master/texmf-dist/bibtex/bst/babelbib/babplai3-lf.bst
new file mode 100644
index 00000000000..88015d9f614
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babplai3-lf.bst
@@ -0,0 +1,1341 @@
+%%
+%% This is file `babplai3-lf.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstthree,namevarb')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{, jj}{, ff}{~vv}" format.name$ * 't :=
+ namesleft #2 >
+ { " " "\btxetalshort {.}" etalfont * *
+ #1 'namesleft := }
+ {
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{, ff}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babplai3.bst b/Master/texmf-dist/bibtex/bst/babelbib/babplai3.bst
new file mode 100644
index 00000000000..2df398b6d66
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babplai3.bst
@@ -0,0 +1,1342 @@
+%%
+%% This is file `babplai3.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstthree')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #2 >
+ { " " "\btxetalshort {.}" etalfont * *
+ #1 'namesleft := }
+ {
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{, ff}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babplain-fl.bst b/Master/texmf-dist/bibtex/bst/babelbib/babplain-fl.bst
new file mode 100644
index 00000000000..c6219c2fd82
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babplain-fl.bst
@@ -0,0 +1,1337 @@
+%%
+%% This is file `babplain-fl.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,namevara')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babplain-lf.bst b/Master/texmf-dist/bibtex/bst/babelbib/babplain-lf.bst
new file mode 100644
index 00000000000..ffd819af2dc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babplain-lf.bst
@@ -0,0 +1,1335 @@
+%%
+%% This is file `babplain-lf.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,namevarb')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{, jj}{, ff}{~vv}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{, ff}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babplain.bst b/Master/texmf-dist/bibtex/bst/babelbib/babplain.bst
new file mode 100644
index 00000000000..a6abddc392c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babplain.bst
@@ -0,0 +1,1336 @@
+%%
+%% This is file `babplain.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{, ff}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babunsrt-fl.bst b/Master/texmf-dist/bibtex/bst/babelbib/babunsrt-fl.bst
new file mode 100644
index 00000000000..11724a73da2
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babunsrt-fl.bst
@@ -0,0 +1,1191 @@
+%%
+%% This is file `babunsrt-fl.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstunsorted,namevara')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babunsrt-lf.bst b/Master/texmf-dist/bibtex/bst/babelbib/babunsrt-lf.bst
new file mode 100644
index 00000000000..70ff1da7335
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babunsrt-lf.bst
@@ -0,0 +1,1189 @@
+%%
+%% This is file `babunsrt-lf.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstunsorted,namevarb')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{, jj}{, ff}{~vv}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{, ff}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/babelbib/babunsrt.bst b/Master/texmf-dist/bibtex/bst/babelbib/babunsrt.bst
new file mode 100644
index 00000000000..d52cc1f0bbd
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/babelbib/babunsrt.bst
@@ -0,0 +1,1190 @@
+%%
+%% This is file `babunsrt.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babelbib.dtx (with options: `bst,bststd,bstunsorted')
+%%
+%% babelbib package
+%%
+%% Copyright 2003--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+%% 2005/09/01 v1.15 babelbib: multilingual bibliographies (HH)
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ isbn.command
+ }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$
+ language.state "nolanguage" =
+ 'skip$
+ {
+ "\expandafter\btxselectlanguage\expandafter {"
+ "\btxfallbacklanguage}" * write$
+ newline$
+ }
+ if$
+ "nolanguage" 'language.state :=
+ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.isbn}
+{
+ 'isbn.command :=
+ duplicate$
+ empty$
+ 'pop$
+ {
+ 's :=
+ output.state mid.sentence =
+ {
+ isbn.command * " {, " * write$
+ s "}" *
+ }
+ { output.state after.block =
+ {
+ add.period$
+ write$
+ newline$
+ "\newblock " write$
+ isbn.command " {" * s * ".}" *
+ }
+ { output.state before.all =
+ {
+ write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ output.state before.title =
+ {
+ "\btxauthorcolon\ " * write$
+ isbn.command " {" * write$
+ s "}" *
+ }
+ {
+ add.period$ " " * write$
+ isbn.command " {" * write$
+ s ".}" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{, ff}{~vv}" format.name$ * namefont
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong {})" * }
+ { "\ (\btxeditorlong {})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title titlefont
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong {}" }
+ { "\btxvolumelong {}" }
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong {}\ " * series titlefont * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong {}" }
+ { "\Btxnumberlong {}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong {}\ " * series titlefont * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" language.change.case "~\btxeditionlong {}" * }
+ { edition "t" language.change.case "~\btxeditionlong {}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ {
+ urldate empty$
+ { "\btxurlfont{" url * "}" * }
+ {
+ "\btxurlfont{" url *
+ "}, \btxurldatecomment{} \btxkeywordlanguage {\btxurldatefont{" *
+ urldate * "}}" *
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong {}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong {}" }
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+ { "\btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+ { "\Btxtechreplong {}" }
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong {}\ " journal titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{
+ editor #1 "{ll}{,~jj}{, ff}{~vv}" format.name$ namefont
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}"
+ format.name$ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.issn "\ifbtxprintISSN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn "\ifbtxprintISBN" output.isbn
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/base/abbrv.bst b/Master/texmf-dist/bibtex/bst/base/abbrv.bst
new file mode 100644
index 00000000000..740f569f860
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/base/abbrv.bst
@@ -0,0 +1,1097 @@
+% BibTeX standard bibliography style `abbrv'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/base/acm.bst b/Master/texmf-dist/bibtex/bst/base/acm.bst
new file mode 100644
index 00000000000..1750daa7a17
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/base/acm.bst
@@ -0,0 +1,1134 @@
+% ACM Transactions bibliography style (24-Jan-88 version)
+% A lot like abbrv.bst, but names come out "Last, initials", and in \sc.
+% Some dates are parenthesized.
+%
+% History
+% 2/ 6/86 (HWT) Original version, by Howard Trickey.
+% 3/ 5/86 (HWT) Put in pp. everywhere but articles, as per ACM style.
+% 1/24/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% corrected the abbreviations to "Mar." and "Sept.";
+% THIS `acm' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasizeic}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { ", et~al." * }
+ { ", and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% For names inside entries (e.g., editors of an "In ...");
+% this is exactly ABBRV.BST's `format.names' function.
+FUNCTION {format.innames}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names scapify }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names scapify
+ editor num.names$ #1 >
+ { ", Eds." * }
+ { ", Ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.ineditors}
+{ editor empty$
+ { "" }
+ { editor format.innames
+ editor num.names$ #1 >
+ { ", Eds." * }
+ { ", Ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "no.~" }
+ { "No.~" }
+ if$
+ number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ "~ed." * }
+ { edition "t" change.case$ "~ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages n.dashify }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pp.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.vol.num.date}
+{ journal empty$
+ { "empty journal in " cite$ * warning$
+ ""
+ }
+ { journal
+ volume empty$
+ 'skip$
+ { " " * volume * }
+ if$
+ number empty$
+ 'emphasizeic
+ { emphasize ", " * number * }
+ if$
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { " (" * format.date * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pp.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pp.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { "In " booktitle emphasize *
+ editor empty$
+ 'skip$
+ { ", " * format.ineditors * }
+ if$
+ }
+ if$
+}
+
+% The proceedings title (it's on the stack) gets an (address, date) appended
+FUNCTION {format.proc.date}
+{ duplicate$ empty$
+ { pop$ "" }
+ { year empty$
+ { "empty year in " cite$ * warning$
+ address empty$
+ 'emphasize
+ { emphasizeic
+ " (" * address * ")" *
+ }
+ if$
+ }
+ { emphasizeic
+ " (" *
+ address empty$
+ 'skip$
+ { address * ", " * }
+ if$
+ format.date *
+ ")" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.proc.date}
+{ booktitle empty$
+ { "" }
+ { "In " booktitle format.proc.date * }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.journal.vol.num.date output
+ format.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pp.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.proc.date "booktitle" output.check
+ format.ineditors output
+ format.bvolume output
+ format.number.series output
+ organization output
+ publisher output
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.pp.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization scapify output }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.edition output
+ author empty$
+ { address new.block.checka }
+ { organization address new.block.checkb
+ organization output
+ }
+ if$
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization scapify output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ title format.proc.date "title" output.check
+ format.bvolume output
+ format.number.series output
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Program. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/base/alpha.bst b/Master/texmf-dist/bibtex/bst/base/alpha.bst
new file mode 100644
index 00000000000..33354b6a941
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/base/alpha.bst
@@ -0,0 +1,1257 @@
+% BibTeX standard bibliography style `alpha'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/base/apalike.bst b/Master/texmf-dist/bibtex/bst/base/apalike.bst
new file mode 100644
index 00000000000..dbd41afafc1
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/base/apalike.bst
@@ -0,0 +1,1101 @@
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/base/ieeetr.bst b/Master/texmf-dist/bibtex/bst/base/ieeetr.bst
new file mode 100644
index 00000000000..e582e8cc06d
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/base/ieeetr.bst
@@ -0,0 +1,970 @@
+% IEEE Transactions bibliography style (29-Jan-88 version)
+% numeric labels, order-of-reference, IEEE abbreviations,
+% quotes around article titles, commas separate all fields
+% except after book titles and before "notes". Otherwise,
+% much like the "plain" family, from which this is adapted.
+%
+% History
+% 9/30/85 (HWT) Original version, by Howard Trickey.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `ieeetr' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.quote after.sentence
+ after.quoted.block after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.quote :=
+ #3 'after.sentence :=
+ #4 'after.quoted.block :=
+ #5 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.quote =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.quoted.block =
+ { write$
+ newline$
+ "\newblock " write$
+ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {blank.sep}
+{ after.quote 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ output.state after.quoted.block =
+ 'skip$
+ 'add.period$
+ if$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { output.state after.quote =
+ { after.quoted.block 'output.state := }
+ { after.block 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " {\em et~al.}" * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "``" title "t" change.case$ * ",''" * }
+ if$
+}
+
+FUNCTION {format.title.p}
+{ title empty$
+ { "" }
+ { "``" title "t" change.case$ * ".''" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "no.~" }
+ { "No.~" }
+ if$
+ number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition "l" change.case$ "~ed." * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume * }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "no.~" number * }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { "in " booktitle emphasize *
+ editor empty$
+ 'skip$
+ { " (" * format.editors * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ output.state after.block =
+ { type "t" change.case$ }
+ { type "l" change.case$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "l" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.addr.pub}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { "" }
+ { address ": " * }
+ if$
+ publisher *
+ }
+ if$
+}
+
+FUNCTION {format.paddress}
+{ address empty$
+ { "" }
+ { "(" address * ")" * }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/}" * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.}" * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.}" * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.volume output
+ month empty$
+ { format.number output }
+ 'skip$
+ if$
+ format.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ title empty$
+ { "empty title in " cite$ * warning$
+ howpublished new.sentence.checka
+ }
+ { howpublished empty$ not
+ address empty$ month empty$ year empty$ and and
+ or
+ { format.title.p output.nonnull }
+ { format.title output.nonnull }
+ if$
+ blank.sep
+ }
+ if$
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ format.addr.pub "publisher" output.check
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.addr.pub "publisher" output.check
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.paddress output
+ format.pages output
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title empty$
+ { howpublished new.sentence.checka }
+ { howpublished empty$ not
+ month empty$ year empty$ and
+ or
+ { format.title.p output.nonnull }
+ { format.title output.nonnull }
+ if$
+ blank.sep
+ }
+ if$
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ format.paddress output
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title.p "title" output.check
+ blank.sep
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications ACM"}
+
+MACRO {ibmjrd} {"IBM J. Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Trans. Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Computer-Aided Design"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM J. Computing"}
+
+MACRO {tocs} {"ACM Trans. Computer Systems"}
+
+MACRO {tods} {"ACM Trans. Database Systems"}
+
+MACRO {tog} {"ACM Trans. Graphics"}
+
+MACRO {toms} {"ACM Trans. Mathematical Software"}
+
+MACRO {toois} {"ACM Trans. Office Information Systems"}
+
+MACRO {toplas} {"ACM Trans. Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/base/plain.bst b/Master/texmf-dist/bibtex/bst/base/plain.bst
new file mode 100644
index 00000000000..83286c1a803
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/base/plain.bst
@@ -0,0 +1,1097 @@
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/base/siam.bst b/Master/texmf-dist/bibtex/bst/base/siam.bst
new file mode 100644
index 00000000000..86b86d984f8
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/base/siam.bst
@@ -0,0 +1,1035 @@
+% SIAM bibliography style (29-Jan-88 version)
+% numeric labels, alphabetic order, Mathematical Reviews abbreviations,
+% names in \sc, titles in italics, book titles mixed upper-lower and article
+% titles lowercase, commas separate all fields except before "notes".
+%
+% History
+% 1/30/86 (HWT) Original version, by Howard Trickey.
+% 6/15/87 (HWT) Fix format.editors---Martin Costabel.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ 'write$
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+STRINGS { last.authors }
+
+FUNCTION {init.last.authors}
+{ "" 'last.authors :=
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { author last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { author format.names scapify }
+ if$
+ author 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { organization last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { organization scapify }
+ if$
+ organization 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { editor last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { editor format.names scapify }
+ if$
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ editor 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.ineditors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { "no.~" number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition "l" change.case$ "~ed." * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.year}
+{ volume field.or.null
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { " (" year * ")" * * }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle * }
+ { "in " booktitle * ", " * format.ineditors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "l" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "l" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in " booktitle * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { journal "journal" output.check
+ format.vol.year output
+ }
+ { format.article.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished new.block.checka
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { format.organization output }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ 'skip$
+ { organization output }
+ if$
+ address output
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { format.organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surveys"}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Comm. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~Assoc. Comput. Mach."}
+
+MACRO {jcss} {"J.~Comput. System Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+EXECUTE {init.last.authors}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/base/unsrt.bst b/Master/texmf-dist/bibtex/bst/base/unsrt.bst
new file mode 100644
index 00000000000..bb85ab8b4d0
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/base/unsrt.bst
@@ -0,0 +1,951 @@
+% BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/aaai-named.bst b/Master/texmf-dist/bibtex/bst/beebe/aaai-named.bst
new file mode 100644
index 00000000000..629d4725341
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/aaai-named.bst
@@ -0,0 +1,1283 @@
+%NAME: aaai-named.bst
+% BibTeX `aaai-named' style file for BibTeX version 0.99c, LaTeX version 2.09
+% This version was made by modifying the master file made by
+% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU)
+
+% Copyright (C) 1985, all rights reserved.
+% Modifications Copyright 1988, Peter F. Patel-Schneider
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than
+% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+% This restriction helps ensure that all standard styles are identical.
+
+% There are undoubtably bugs in this style. If you make bug fixes,
+% improvements, etc. please let me know. My e-mail address is:
+% pfps@spar.slb.com
+
+% Citation format: [author-last-name, year]
+% [author-last-name and author-last-name, year]
+% [author-last-name {\em et al.}, year]
+%
+% Reference list ordering: alphabetical by author or whatever passes
+% for author in the absence of one.
+%
+% This BibTeX style has support for short (year only) citations. This
+% is done by having the citations actually look like
+% \citename{name-info, }year
+% The LaTeX style has to have the following
+% \let\@internalcite\cite
+% \def\cite{\def\citename##1{##1}\@internalcite}
+% \def\shortcite{\def\citename##1{}\@internalcite}
+% \def\@biblabel#1{\def\citename##1{##1}[#1]\hfill}
+% which makes \shortcite the macro for short citations.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+
+ numnames #1 =
+ { s #1 "{vv }{ll}" format.name$ }
+ { numnames #2 =
+ { s #1 "{vv }{ll }and " format.name$ s #2 "{vv }{ll}" format.name$ *
+ }
+ { s #1 "{vv }{ll }\bgroup \em et al.\egroup " format.name$ }
+ if$
+ }
+ if$
+
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+
+ "\protect\citename{" swap$ * ", }" *
+ year field.or.null purify$ *
+ 'label :=
+ year field.or.null purify$ *
+
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ *
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+
+ "\begin{thebibliography}{" "}" * write$ newline$
+
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/abstract.bst b/Master/texmf-dist/bibtex/bst/beebe/abstract.bst
new file mode 100644
index 00000000000..c185c90fec1
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/abstract.bst
@@ -0,0 +1,1340 @@
+% BibTeX bibliography style `abstract' by David Kotz
+% modifed from
+% BibTeX standard bibliography style `alpha'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+% DFK added abstract, comment, keyword
+ENTRY
+ { abstract
+ address
+ author
+ booktitle
+ chapter
+ comment
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ keyword
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+% DFK added after.quote to signify end of something not needing period
+INTEGERS { output.state before.all mid.sentence after.sentence after.block after.quote}
+
+% DFk added after.quote
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.quote :=
+}
+
+STRINGS { s t }
+
+% DFK added after.quote handling so no period is printed after quotes
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state after.quote =
+ { write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+% DFK added, variant of output
+FUNCTION {output.quote}
+{ duplicate$ empty$
+ 'pop$
+ { output.nonnull
+ after.quote 'output.state :=}
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% DFK changed to use cite$ for the label
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ cite$ write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+% DFK changed to not put period when after.quote
+FUNCTION {fin.entry}
+{ output.state after.quote =
+ 'skip$
+ 'add.period$
+ if$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% DFK added
+FUNCTION {format.abstract}
+{ abstract empty$
+ { "" }
+ { "\begin{quote} {\bf Abstract:} " abstract * " \end{quote}" *}
+ if$
+}
+
+% DFK added
+FUNCTION {format.keyword}
+{ keyword empty$
+ { "" }
+ { "\begin{quote} {\bf Keyword:} " keyword * " \end{quote}" *}
+ if$
+}
+
+% DFK added
+FUNCTION {format.comment}
+{ comment empty$
+ { "" }
+ { "\begin{quote} {\bf Comment:} " comment * " \end{quote}" *}
+ if$
+}
+
+% DFK added
+FUNCTION {dfk.stuff}
+{ new.block
+ format.abstract output.quote
+% new.block
+ format.keyword output.quote
+% new.block
+ format.comment output.quote
+}
+
+% DFK: added a call to dfk.stuff in all entry-type functions below
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ dfk.stuff
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+% DFK throw away stuff above and use cite$ for sort key
+ pop$
+ cite$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/annotate.bst b/Master/texmf-dist/bibtex/bst/beebe/annotate.bst
new file mode 100644
index 00000000000..d0ec29f70ff
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/annotate.bst
@@ -0,0 +1,1280 @@
+% BibTeX bibliography style `annotate'
+% based on alpha.
+
+ENTRY
+ { address
+ annotate
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.annotate}
+{ annotate empty$
+ { "" }
+ { " \begin{quotation}\noindent "
+ annotate
+ * " \end{quotation} " *
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+ newline$
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+ newline$
+
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+ newline$
+
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+
+ format.annotate write$
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+ format.annotate write$
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+ format.annotate write$
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/annotation.bst b/Master/texmf-dist/bibtex/bst/beebe/annotation.bst
new file mode 100644
index 00000000000..0cae6604c79
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/annotation.bst
@@ -0,0 +1,1105 @@
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ annote
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ "\begin{quotation}\noindent{\sc Key:\ }" cite$ * write$
+ annote missing$
+ 'skip$
+ { "\\{\sc Annotation:\ }" write$ annote write$ }
+ if$
+ "\end{quotation}" write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/apa.bst b/Master/texmf-dist/bibtex/bst/beebe/apa.bst
new file mode 100644
index 00000000000..783d423f61b
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/apa.bst
@@ -0,0 +1,1130 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Alan Rogers",
+%%% version = "1.1",
+%%% date = "June 27, 1992",
+%%% filename = "apa.bst",
+%%% address = "Dept of Anthropology, University of Utah,
+%%% Salt Lake City, UT 84112",
+%%% checksum = "21129 1130 3156 23582",
+%%% email = "rogers@anthro.utah.edu",
+%%% supported = "no",
+%%% docstring = "Adapted from apalike.bst.
+%%% Usage: \documentstyle[astron]{...}
+%%% ...
+%%% \bibliographystyle{apa}
+%%% ...
+%%% This file incorporates features of Sake J.
+%%% Hogeveen's `astron.bst' into`apalike.bst'.
+%%% The \documentstyle command above invokes
+%%% Hogeveen's `astron.sty', which must be in
+%%% TeX's search path.
+%%%
+%%% The modifications implement `\cite*{}', which
+%%% generates references in short form. For
+%%% example, `Rogers \cite*{...}' would produce
+%%% `Rogers (1992)'."
+%%% }
+%%% ====================================================================
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label} % this function came from ASTRON.BST (ARR)
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ "\protect\astroncite{" swap$ * "}{" % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ * % the mathing closing "}" comes in at the reverse.pass
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass} % this function came from ASTRON.BST (ARR)
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/apalike2.bst b/Master/texmf-dist/bibtex/bst/beebe/apalike2.bst
new file mode 100644
index 00000000000..8109d80d24e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/apalike2.bst
@@ -0,0 +1,1273 @@
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% Local modifications 10/89 -- Brian Reiser
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {eho.special.output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { % add.period$ write$
+ ": " write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { % add.period$ " " * write$
+ ": " * write$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {eho.special.output}
+{ duplicate$ empty$
+ 'pop$
+ 'eho.special.output.nonnull
+ if$
+}
+
+%% Added by Eric Ho <eho@word> on Wed Jan 10 20:13:56 1990
+%% A special patch for output.nonnull in book environment.
+
+FUNCTION {eho.output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ": " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+%% Added by Eric Ho <eho@word> on Wed Jan 10 20:13:56 1990
+%% A special patch for output in book environment.
+
+FUNCTION {eho.output}
+{ duplicate$ empty$
+ 'pop$
+ 'eho.output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+%% Added by Eric Ho <eho@word> on Wed Jan 10 20:13:56 1990
+%% A special patch for output.check in book environment.
+
+FUNCTION {eho.output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'eho.output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " \& " * t * } % changed from " and " for names -- BJR 10/5/89
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%% Added by Fri Jan 12 19:03:22 1990 on Fri Jan 12 19:03:27 1990
+%% Mainly to make sure that editors have initials before last names.
+
+FUNCTION {eho.format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.} {vv~}{ll}{, jj}" format.name$ 't := %% initials first.
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " \& " * t * } % changed from " and " for names -- BJR 10/5/89
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", Eds." * } % changed from ", editors" -- BJR 10/5/89
+ { ", Ed." * } % changed from ", editor" -- BJR 10/5/89
+ if$
+ }
+ if$
+}
+
+%% Added by Eric Ho <eho@word> Fri Jan 12 19:11:12 1990
+%% Mainly to call eho.format.names instead of format.names and
+%% to make Eds or Ed to be surrounded by pararentheses instead of preceeded by
+%% a comma.
+
+FUNCTION {eho.format.editors}
+{ editor empty$
+ { "" }
+ { editor eho.format.names
+ editor num.names$ #1 >
+ { " (Eds.)" * } % changed from ", editors" -- BJR 10/5/89
+ { " (Ed.)" * } % changed from ", editor" -- BJR 10/5/89
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+% { "pages" pages n.dashify tie.or.space.connect }
+% { "page" pages tie.or.space.connect }
+ { "(pp.\" pages n.dashify tie.or.space.connect }
+ { "(pp.\" pages tie.or.space.connect }
+ if$
+ ")." *
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * } % changed from ":" for vol,pgs -- BJR 10/5/89
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+%% Added by Eric Ho <eho@word> Fri Jan 12 19:17:37 1990
+%% Primarily to call eho.format.editors instead of format.editors.
+
+FUNCTION {eho.format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " eho.format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+%% Modified by Eric Ho <eho@word> on Wed Jan 10 20:30:11 1990
+%% Making it to call eho.output.check instead of output.check and eho.output
+%% instead of output.
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+% publisher "publisher" output.check
+% address output
+% switched order of publisher and address for book -- BJR 10/5/89
+ address eho.output % Using eho.output instead of output.
+ publisher "publisher" eho.output.check % Using eho.output.check
+ % instead of output.check.
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+%% Modified by Eric Ho <eho@word> on Wed Jan 10 20:27:26 1990
+%% Making it to call eho.output.check instead of output.check and eho.output
+%% instead of output.
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" eho.output.check % Using eho.output.check instead
+ % of output.check.
+ address eho.output % Using eho.output instead of output.
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+%% Modified by Eric Ho <eho@word> on Wed Jan 10 20:27:26 1990
+%% Making it to call eho.output.check instead of output.check and eho.output
+%% instead of output. Also modified by Eric Ho <eho@word> on Fri Jan 12
+%% 19:21:59 1990 so as to call eho.format.in.ed.booktitle instead of the old
+%% format.in.ed.booktitle.
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { eho.format.in.ed.booktitle "booktitle" output.check
+ % The above line is changed by Eric Ho <eho@word> on Fri Jan 12
+ % 19:20:28 1990 so that it'll call eho.format.in.ed.booktitle instead
+ % of format.in.ed.booktitle.
+
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages eho.special.output
+ new.sentence
+% publisher "publisher" output.check
+% address output
+% switched order of publisher and address for incollection -- BJR 1/3/90
+ address eho.output % Use eho.output instead of output.
+ publisher "publisher" eho.output.check % Use eho.output.check instead
+ % of output.check.
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { % format.in.ed.booktitle "booktitle" output.check
+ eho.format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages eho.special.output
+ address eho.special.output % for apalike
+ new.sentence % there's no year
+ organization eho.special.output % here so things
+ publisher eho.special.output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.title "title" output.check
+ format.btitle "title" output.check % change to ital title -- BJR
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * } % " and " -- BJR 10/5/89
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/astron.bst b/Master/texmf-dist/bibtex/bst/beebe/astron.bst
new file mode 100644
index 00000000000..b8b6e881720
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/astron.bst
@@ -0,0 +1,1175 @@
+% Copyright (C) 1990 Sake J. Hogeveen.
+
+% This is ASTRON.BST, a BibTeX style for use with BibTeX version 0.99c.
+% ASTRON.BST has to be used in conjunction with the LaTeX style ASTRON.STY.
+% The use of both styles is documented in ASTDOC.TEX.
+
+% ASTRON.BST is an adaptation of APALIKE.BST by Oren Patashnik and Suzan King.
+
+% This style produces citations in the `author-year' format, which is widely
+% used among astronomical journals.
+% It supports two forms of citation: the \cite command produces: (Author, year)
+% in the text; the \cite* command only: (year) .
+
+% The long an short citation trickery is adapted from NAMED.BST by
+% Peter F. Patel-Schneider.
+
+% Copyright Notice:
+% The files ASTRON.BST, ASTRON.STY, ASTDOC.TEX, ASTDOC.BIB, EXAMPLE.TEX,
+% EXAMPLE.BIB, MNEMONIC.BIB, and TEMPLATE.BIB are a package.
+% You may copy and distribute them freely for non-commercial purposes,
+% provided that you keep the package together and this copyright notice
+% in tact.
+% You may not alter or modify the files; this helps to ensure that all
+% distributions of ASTRON.BST and related files are the same.
+% If you make any modifications, then you must give the files new names,
+% other than the present.
+% The author bears no responsibilities for errors in this document or
+% the software it describes; and shall not be held liable for any indirect,
+% incidental, or consequential damages.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { ", " * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { ", " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull.extra}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { ", " * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { ", " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.extra}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull.extra
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.extra}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.extra
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ ": " year * extra.label *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.ed.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.extra}
+{ editor empty$
+ { "" }
+ { editor format.ed.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {first.page.number}
+{ 't :=
+ ""
+ { t "" =
+ { #0 }
+ { t #1 #1 substring$ "-" = not }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "No." }
+ { "No." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp" pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.page}
+{ pages empty$
+ { "" }
+ { "p.~" pages first.page.number * }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { boldface ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.page}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { boldface ", " * pages first.page.number * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "Chapt." }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " format.editors.extra * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "in" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "in" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check.extra
+ format.vol.num.page output.extra
+ }
+ { format.article.crossref output.nonnull
+ format.page output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.title "title" output.check
+% new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.title "title" output.check
+% new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ address output % for apalike
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.title "title" output.check
+% new.block
+ "Master's thesis" emphasize format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.btitle "title" output.check
+% new.block
+ "Ph.D. thesis" emphasize format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr,"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ "\protect\astroncite{" swap$ * "}{" % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ * % the mathing closing "}" comes in at the reverse.pass
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst b/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst
new file mode 100644
index 00000000000..8942b0f6e4e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst
@@ -0,0 +1,1309 @@
+% This BibTeX 0.99 style file is intended for documents that use the
+% author-date citation system. It should be used in conjunction with the
+% authordate1-4.sty (or equivalent) LaTeX style-option.
+%
+% In deciding on the bibliography layout to be implemented, the following
+% works have been consulted:
+% 1. British Standard 5605: "Citing publications by bibliographic
+% references", 1978.
+% 2. British Standard 1629: "Bibliographic references", 1976.
+% (Note: There is now a 1989 edition.)
+% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981.
+% 4. "The Oxford Dictionary for Writers and Editors", Oxford University
+% Press, 1981 (for abbreviations).
+% 5. "The Chicago Manual of Style", Chicago University Press, 1982.
+%
+% Discretion has been used in certain matters. In particular:
+% - Titles are italic except when there is a "contribution title" and
+% a "main publication title", in which case the "contribution title"
+% is roman while the "main publication title" is italic.
+% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of
+% publication"; output is of the form "place-of-publication: publisher".
+% When there is an ORGANIZATION as well as a PUBLISHER, output is of the
+% form "place-of-publication: publisher, for organization". Otherwise,
+% it is assumed that ADDRESS is a postal address, and output is of the
+% form "institution, address", "organization, address", "school, address"
+% or "howpublished, address".
+% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the
+% MONTH is used on the assumption that it contains information that is
+% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents
+% that have a PUBLISHER, but output after YEAR for anything else.
+% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that
+% these fields are being used to pick out particular pages of interest
+% (as an alternative to using the optional [...] argument of \cite);
+% the information is put at the very end of the entry, in line with BS 1629.
+% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS,
+% it is assumed that the fields are being used to specify the location of
+% the part/article of interest; the information is put before the
+% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters".
+% - Since "volume" can be used in various ways (see page 219 of Butcher),
+% this file assumes that, when there is a SERIES, any VOLUME and NUMBER
+% refer to position in the SERIES (i.e. Butcher's meaning 4).
+% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers
+% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3).
+% For INPROCEEDINGS and INCOLLECTION, this information goes after the
+% BOOKTITLE. (If you prefer to have volume information before EDITOR,
+% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.)
+%
+% This file differs from authordate2.bst, authordate3.bst and authordate4.bst
+% in that:
+% - The titles of articles, journals and books are left in whatever
+% combination of upper-case and lower-case appears in the .bib file.
+% - Author's and editor's names are in roman.
+%
+% The combination of authordate1.bst and authordate1-4.sty allows citations
+% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}.
+% When
+% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ...
+% appears in the input file,
+% ... (Bloggs, 1960) ... (1960) ...
+% appears in the final document.
+%
+% This file was developed from apalike.bst. It also uses code taken from
+% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst.
+%
+% David Rhead
+% Cripps Computing Centre
+% Nottingham University
+% March 1990
+%
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.year.month.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { add.period$ write$
+ month empty$
+ { " " year * extra.label * "." *
+ after.sentence 'output.state :=
+ }
+ { " " year * extra.label * " (" * month * ")." *
+ after.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { add.period$ write$
+ " " year * extra.label * "." *
+ after.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { ", {\em et~al.\ }\relax" * }
+ { ", \& " * t * } % Butcher, pages
+ if$ % 186-189.
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 > % Use ODWE abbrevs.
+ { " (eds)" * } % to avoid
+ { " (ed)" * } % ambiguity between
+ if$ % "editor" and
+ } % "edition".
+ if$
+}
+
+FUNCTION {format.title} % Nothing needs
+{ title empty$ % doing here in
+ { "" } % authordate1.bst
+ { title } % or
+ if$ % authordate3.bst.
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { "" } % Don't change case
+ { title emphasize } % in
+ if$ % authordate1.bst
+} % or
+ % authordate3.bst.
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.numberinseries}
+{ number empty$
+ { "" }
+ { number multi.page.check
+ { ", nos. " number n.dashify tie.or.space.connect }
+ { ", no. " number tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {booklike.series.volume.number} % Chicago, pages
+{ series empty$ % 450-451.
+ { volume empty$
+ { " " }
+ { " Vol. " volume * }
+ if$
+ }
+ {
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {incollectionlike.series.volume.number}
+{ series empty$
+ { volume empty$
+ { " " }
+ { " vol. " volume * }
+ if$
+ }
+ { new.block
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn." * }
+ { edition "t" change.case$ " edn." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "" pages n.dashify tie.or.space.connect }
+ { "" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pagesinbook} % By the time the
+{ pages empty$ % reader has read
+ { "" } % address, pub'r,
+ { pages multi.page.check % note (where the
+ { "Pages " pages n.dashify tie.or.space.connect } % note may end with
+ { "Page " pages tie.or.space.connect } % numbers), s/he
+ if$ % may not recognise
+ } % a number-range as
+ if$ % meaning pages.
+} % Avoid ambiguity
+ % (Butcher, p.181).
+
+FUNCTION {format.vol.num.date.pages}
+{ volume empty$
+ { month empty$
+ { "" }
+ { month }
+ if$
+ }
+ { volume boldface field.or.null
+ number empty$
+ { month empty$
+ 'skip$
+ { "(" month * ")" * * }
+ if$
+ }
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages.inbook}
+{ chapter empty$
+ 'format.pagesinbook
+ { type empty$
+ { "Chap." }
+ { type }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pagesinbook "l" change.case$ * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages.incoll}
+{ chapter empty$
+ { pages empty$
+ { "{\em In:} " }
+ { "{\em " format.pagesinbook " of:} " * * }
+ if$
+ }
+ { type empty$
+ { "{\em Chap. " chapter * }
+ { "{\em " type * " " * chapter * }
+ if$
+ pages empty$
+ { " of:} " * }
+ { ", " * format.pagesinbook "l" change.case$ " of:} " * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle} % Achieves effect
+{ booktitle empty$ % shown in 16.51
+ { "" } % of Chicago, at
+ { editor empty$ % expense of not
+ { format.chapter.pages.incoll % achieving effects
+ booktitle emphasize * } % shown in 16.50
+ { format.chapter.pages.incoll % of Chicago, on
+ format.editors * ", " * % page 189 of
+ booktitle emphasize * } % Butcher and in
+ if$ % 4.4 of BS 1629.
+ }
+ if$ % Don't change
+} % case.
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type % Don't change
+ } % case.
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. rept." } % ODWE abbrevs.
+ 'type
+ if$
+ number empty$
+ { } % Whatever was
+ { number tie.or.space.connect } % having its case
+ if$ % changed, leave
+} % it alone.
+
+FUNCTION {format.addr.pub}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { "" }
+ { address ": " * }
+ if$
+ publisher *
+ }
+ if$
+}
+
+FUNCTION {format.addr.pub.org} % If there's an
+{ address empty$ % an organization
+ { publisher * ", for " * organization * } % and a publisher
+ { address ": " * publisher * ", for " * organization * } % too.
+ if$
+}
+
+FUNCTION {format.addr.inst}
+{ address empty$
+ { institution empty$
+ { "" }
+ { institution }
+ if$
+ }
+ { institution empty$
+ { "" }
+ { institution ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.addr.org}
+{ address empty$
+ { organization empty$
+ { "" }
+ { organization }
+ if$
+ }
+ { organization empty$
+ { "" }
+ { organization ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "{\em In:}"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "{\em In:}"
+ }
+ { " Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "{\em In:}"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize % Don't change
+ "journal" output.check % case.
+ format.vol.num.date.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { new.sentence
+ format.edition output
+ new.block
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { new.sentence
+ format.edition output
+ new.block
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ new.block % BS 1629 (rather
+ format.chapter.pages.inbook "chapter and pages" output.check
+ fin.entry % than Chicago,
+} % p. 451)
+
+FUNCTION {incollection}
+{ output.bibitem
+ author empty$
+ { format.editors "editor" output.check
+ editor format.key output }
+ { format.authors "author" output.check
+ author format.key output }
+ if$
+ output.year.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$ % Chapter and/or
+ { format.in.ed.booktitle output % page numbers can
+ format.edition output % come out via this
+ incollectionlike.series.volume.number output % route, too.
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ new.block
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ publisher empty$
+ { output.year.month.check }
+ { output.year.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ incollectionlike.series.volume.number output
+ new.block
+ publisher empty$
+ {
+ organization empty$
+ 'skip$
+ { format.addr.org output }
+ if$
+ }
+ {
+ organization empty$
+ { format.addr.pub output }
+ { format.addr.pub.org output }
+ if$
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.sentence
+ format.edition output
+ new.block
+ organization address new.block.checkb
+ format.addr.org output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev.
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.D. thesis" format.thesis.type output.nonnull % Butcher,
+ school "school" output.check % page 174.
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors "author and editor" output.check
+ editor format.key output
+ publisher empty$
+ { output.year.month.check }
+ { output.year.check }
+ if$
+ new.block
+ format.btitle "title" output.check
+ new.block
+ booklike.series.volume.number output
+ new.block
+ publisher empty$
+ {
+ organization empty$
+ 'skip$
+ { format.addr.org output }
+ if$
+ }
+ {
+ organization empty$
+ { format.addr.pub output }
+ { format.addr.pub.org output }
+ if$
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ new.sentence
+ format.addr.inst "institution" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."} % ODWE, "months", &
+ % Chicago, p. 383.
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.\ }\relax" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.\ }\relax" * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+ { type$ "book" =
+ type$ "inbook" =
+ type$ "incollection" = % For sensible
+ or or % treatment of
+ 'author.editor.key.label % Singer in
+ { type$ "proceedings" = % BS 1629.
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ duplicate$
+ year empty$
+ {
+ "\protect\citename{" swap$ * ", }" *
+ "n.d." * 'label := % Chicago,
+ } % page 457.
+ {
+ "\protect\citename{" swap$ * ", }" *
+ year
+ *
+ 'label :=
+ }
+ if$
+ year field.or.null purify$ *
+ sortify 'sort.label :=
+}
+
+
+FUNCTION {sort.format.names} % To produce the
+{ 's := % order of entries
+ #1 'nameptr := % specified in item
+ "" % (3) on page 187
+ s num.names$ 'numnames := % of Butcher.
+ numnames 'namesleft :=
+ { namesleft #0 > nameptr #3 < and } % Only 1st 2 names
+ { nameptr #1 > % matter for
+ { " " * } % sorting.
+ 'skip$
+ if$ % Anything that's
+ nameptr #2 = numnames #2 > and % "et al" goes
+ { "zzzzz" * } % after works by 2
+ { % authors.
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort} % Two sorting
+{ calc.label % passes, from
+ label sortify % apalike.bst.
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ type$ "incollection" = % For Singer
+ or or % in BS 1629.
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$ % Code needed here
+ % if \citeauthor
+ % and \citeyear
+ label extra.label * 'label := % were supported.
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst b/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst
new file mode 100644
index 00000000000..b777fe80789
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst
@@ -0,0 +1,1310 @@
+% This BibTeX 0.99 style file is intended for documents that use the
+% author-date citation system. It should be used in conjunction with the
+% authordate1-4.sty (or equivalent) LaTeX style-option.
+%
+% In deciding on the bibliography layout to be implemented, the following
+% works have been consulted:
+% 1. British Standard 5605: "Citing publications by bibliographic
+% references", 1978.
+% 2. British Standard 1629: "Bibliographic references", 1976.
+% (Note: There is now a 1989 edition.)
+% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981.
+% 4. "The Oxford Dictionary for Writers and Editors", Oxford University
+% Press, 1981 (for abbreviations).
+% 5. "The Chicago Manual of Style", Chicago University Press, 1982.
+%
+% Discretion has been used in certain matters. In particular:
+% - Titles are italic except when there is a "contribution title" and
+% a "main publication title", in which case the "contribution title"
+% is roman while the "main publication title" is italic.
+% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of
+% publication"; output is of the form "place-of-publication: publisher".
+% When there is an ORGANIZATION as well as a PUBLISHER, output is of the
+% form "place-of-publication: publisher, for organization". Otherwise,
+% it is assumed that ADDRESS is a postal address, and output is of the
+% form "institution, address", "organization, address", "school, address"
+% or "howpublished, address".
+% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the
+% MONTH is used on the assumption that it contains information that is
+% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents
+% that have a PUBLISHER, but output after YEAR for anything else.
+% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that
+% these fields are being used to pick out particular pages of interest
+% (as an alternative to using the optional [...] argument of \cite);
+% the information is put at the very end of the entry, in line with BS 1629.
+% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS,
+% it is assumed that the fields are being used to specify the location of
+% the part/article of interest; the information is put before the
+% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters".
+% - Since "volume" can be used in various ways (see page 219 of Butcher),
+% this file assumes that, when there is a SERIES, any VOLUME and NUMBER
+% refer to position in the SERIES (i.e. Butcher's meaning 4).
+% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers
+% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3).
+% For INPROCEEDINGS and INCOLLECTION, this information goes after the
+% BOOKTITLE. (If you prefer to have volume information before EDITOR,
+% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.)
+%
+% This file differs from authordate1.bst, authordate3.bst and authordate4.bst
+% in that:
+% - Titles of journals, articles and boooks are "downstyle". Apart from the
+% first character, and the first character following : and white space,
+% uppercase letters are converted to lowercase unless protected by {}.
+% - Author's and editor's names are in roman.
+%
+% The combination of authordate2.bst and authordate1-4.sty allows citations
+% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}.
+% When
+% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ...
+% appears in the input file,
+% ... (Bloggs, 1960) ... (1960) ...
+% appears in the final document.
+%
+% This file was developed from apalike.bst. It also uses code taken from
+% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst.
+%
+% David Rhead
+% Cripps Computing Centre
+% Nottingham University
+% March 1990
+%
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.year.month.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { add.period$ write$
+ month empty$
+ { " " year * extra.label * "." *
+ after.sentence 'output.state :=
+ }
+ { " " year * extra.label * " (" * month * ")." *
+ after.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { add.period$ write$
+ " " year * extra.label * "." *
+ after.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { ", {\em et~al.\ }\relax" * }
+ { ", \& " * t * } % Butcher, pages
+ if$ % 186-189.
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 > % Use ODWE abbrevs.
+ { " (eds)" * } % to avoid
+ { " (ed)" * } % ambiguity between
+ if$ % "editor" and
+ } % "edition".
+ if$
+}
+
+FUNCTION {format.title} % Howells example
+{ title empty$ % in BS 5605 comes
+ { "" } % out wrong because
+ { title "t" change.case$ } % Patashnik
+ if$ % capitalizes
+} % after a colon.
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.numberinseries}
+{ number empty$
+ { "" }
+ { number multi.page.check
+ { ", nos. " number n.dashify tie.or.space.connect }
+ { ", no. " number tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {booklike.series.volume.number} % Chicago, pages
+{ series empty$ % 450-451.
+ { volume empty$
+ { " " }
+ { " Vol. " volume * }
+ if$
+ }
+ {
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {incollectionlike.series.volume.number}
+{ series empty$
+ { volume empty$
+ { " " }
+ { " vol. " volume * }
+ if$
+ }
+ { new.block
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn." * }
+ { edition "t" change.case$ " edn." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "" pages n.dashify tie.or.space.connect }
+ { "" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pagesinbook} % By the time the
+{ pages empty$ % reader has read
+ { "" } % address, pub'r,
+ { pages multi.page.check % note (where the
+ { "Pages " pages n.dashify tie.or.space.connect } % note may end with
+ { "Page " pages tie.or.space.connect } % numbers), s/he
+ if$ % may not recognise
+ } % a number-range as
+ if$ % meaning pages.
+} % Avoid ambiguity
+ % (Butcher, p.181).
+
+FUNCTION {format.vol.num.date.pages}
+{ volume empty$
+ { month empty$
+ { "" }
+ { month }
+ if$
+ }
+ { volume boldface field.or.null
+ number empty$
+ { month empty$
+ 'skip$
+ { "(" month * ")" * * }
+ if$
+ }
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages.inbook}
+{ chapter empty$
+ 'format.pagesinbook
+ { type empty$
+ { "Chap." }
+ { type }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pagesinbook "l" change.case$ * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages.incoll}
+{ chapter empty$
+ { pages empty$
+ { "{\em In:} " }
+ { "{\em " format.pagesinbook " of:} " * * }
+ if$
+ }
+ { type empty$
+ { "{\em Chap. " chapter * }
+ { "{\em " type * " " * chapter * }
+ if$
+ pages empty$
+ { " of:} " * }
+ { ", " * format.pagesinbook "l" change.case$ " of:} " * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle} % Achieves effect
+{ booktitle empty$ % shown in 16.51
+ { "" } % of Chicago, at
+ { editor empty$ % expense of not
+ { format.chapter.pages.incoll % achieving effects
+ booktitle "t" change.case$ emphasize * } % shown in 16.50
+ { format.chapter.pages.incoll % of Chicago, on
+ format.editors * ", " * % page 189 of
+ booktitle "t" change.case$ emphasize * } % Butcher and in
+ if$ % 4.4 of BS 1629.
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. rept." } % ODWE abbrevs.
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.addr.pub}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { "" }
+ { address ": " * }
+ if$
+ publisher *
+ }
+ if$
+}
+
+FUNCTION {format.addr.pub.org} % If there's an
+{ address empty$ % an organization
+ { publisher * ", for " * organization * } % and a publisher
+ { address ": " * publisher * ", for " * organization * } % too.
+ if$
+}
+
+FUNCTION {format.addr.inst}
+{ address empty$
+ { institution empty$
+ { "" }
+ { institution }
+ if$
+ }
+ { institution empty$
+ { "" }
+ { institution ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.addr.org}
+{ address empty$
+ { organization empty$
+ { "" }
+ { organization }
+ if$
+ }
+ { organization empty$
+ { "" }
+ { organization ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "{\em In:}"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "{\em In:}"
+ }
+ { " Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "{\em In:}"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal "t" change.case$ emphasize
+ "journal" output.check
+ format.vol.num.date.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { new.sentence
+ format.edition output
+ new.block
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { new.sentence
+ format.edition output
+ new.block
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ new.block % BS 1629 (rather
+ format.chapter.pages.inbook "chapter and pages" output.check
+ fin.entry % than Chicago,
+} % p. 451)
+
+FUNCTION {incollection}
+{ output.bibitem
+ author empty$
+ { format.editors "editor" output.check
+ editor format.key output }
+ { format.authors "author" output.check
+ author format.key output }
+ if$
+ output.year.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$ % Chapter and/or
+ { format.in.ed.booktitle output % page numbers can
+ format.edition output % come out via this
+ incollectionlike.series.volume.number output % route, too.
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ new.block
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ publisher empty$
+ { output.year.month.check }
+ { output.year.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ incollectionlike.series.volume.number output
+ new.block
+ publisher empty$
+ {
+ organization empty$
+ 'skip$
+ { format.addr.org output }
+ if$
+ }
+ {
+ organization empty$
+ { format.addr.pub output }
+ { format.addr.pub.org output }
+ if$
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.sentence
+ format.edition output
+ new.block
+ organization address new.block.checkb
+ format.addr.org output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev.
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.D. thesis" format.thesis.type output.nonnull % Butcher,
+ school "school" output.check % page 174.
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors "author and editor" output.check
+ editor format.key output
+ publisher empty$
+ { output.year.month.check }
+ { output.year.check }
+ if$
+ new.block
+ format.btitle "title" output.check
+ new.block
+ booklike.series.volume.number output
+ new.block
+ publisher empty$
+ {
+ organization empty$
+ 'skip$
+ { format.addr.org output }
+ if$
+ }
+ {
+ organization empty$
+ { format.addr.pub output }
+ { format.addr.pub.org output }
+ if$
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ new.sentence
+ format.addr.inst "institution" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."} % ODWE, "months", &
+ % Chicago, p. 383.
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.\ }\relax" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.\ }\relax" * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+ { type$ "book" =
+ type$ "inbook" =
+ type$ "incollection" = % For sensible
+ or or % treatment of
+ 'author.editor.key.label % Singer in
+ { type$ "proceedings" = % BS 1629.
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ duplicate$
+ year empty$
+ {
+ "\protect\citename{" swap$ * ", }" *
+ "n.d." * 'label := % Chicago,
+ } % page 457.
+ {
+ "\protect\citename{" swap$ * ", }" *
+ year
+ *
+ 'label :=
+ }
+ if$
+ year field.or.null purify$ *
+ sortify 'sort.label :=
+}
+
+
+FUNCTION {sort.format.names} % To produce the
+{ 's := % order of entries
+ #1 'nameptr := % specified in item
+ "" % (3) on page 187
+ s num.names$ 'numnames := % of Butcher.
+ numnames 'namesleft :=
+ { namesleft #0 > nameptr #3 < and } % Only 1st 2 names
+ { nameptr #1 > % matter for
+ { " " * } % sorting.
+ 'skip$
+ if$ % Anything that's
+ nameptr #2 = numnames #2 > and % "et al" goes
+ { "zzzzz" * } % after works by 2
+ { % authors.
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort} % Two sorting
+{ calc.label % passes, from
+ label sortify % apalike.bst.
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ type$ "incollection" = % For Singer
+ or or % in BS 1629.
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$ % Code needed here
+ % if \citeauthor
+ % and \citeyear
+ label extra.label * 'label := % were supported.
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst b/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst
new file mode 100644
index 00000000000..4abade9bde8
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst
@@ -0,0 +1,1309 @@
+% This BibTeX 0.99 style file is intended for documents that use the
+% author-date citation system. It should be used in conjunction with the
+% authordate1-4.sty (or equivalent) LaTeX style-option.
+%
+% In deciding on the bibliography layout to be implemented, the following
+% works have been consulted:
+% 1. British Standard 5605: "Citing publications by bibliographic
+% references", 1978.
+% 2. British Standard 1629: "Bibliographic references", 1976.
+% (Note: There is now a 1989 edition.)
+% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981.
+% 4. "The Oxford Dictionary for Writers and Editors", Oxford University
+% Press, 1981 (for abbreviations).
+% 5. "The Chicago Manual of Style", Chicago University Press, 1982.
+%
+% Discretion has been used in certain matters. In particular:
+% - Titles are italic except when there is a "contribution title" and
+% a "main publication title", in which case the "contribution title"
+% is roman while the "main publication title" is italic.
+% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of
+% publication"; output is of the form "place-of-publication: publisher".
+% When there is an ORGANIZATION as well as a PUBLISHER, output is of the
+% form "place-of-publication: publisher, for organization". Otherwise,
+% it is assumed that ADDRESS is a postal address, and output is of the
+% form "institution, address", "organization, address", "school, address"
+% or "howpublished, address".
+% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the
+% MONTH is used on the assumption that it contains information that is
+% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents
+% that have a PUBLISHER, but output after YEAR for anything else.
+% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that
+% these fields are being used to pick out particular pages of interest
+% (as an alternative to using the optional [...] argument of \cite);
+% the information is put at the very end of the entry, in line with BS 1629.
+% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS,
+% it is assumed that the fields are being used to specify the location of
+% the part/article of interest; the information is put before the
+% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters".
+% - Since "volume" can be used in various ways (see page 219 of Butcher),
+% this file assumes that, when there is a SERIES, any VOLUME and NUMBER
+% refer to position in the SERIES (i.e. Butcher's meaning 4).
+% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers
+% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3).
+% For INPROCEEDINGS and INCOLLECTION, this information goes after the
+% BOOKTITLE. (If you prefer to have volume information before EDITOR,
+% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.)
+%
+% This file differs from authordate1.bst, authordate2.bst and authordate4.bst
+% in that:
+% - The titles of articles, journals and books are left in whatever
+% combination of upper-case and lower-case appears in the .bib file.
+% - Author's and editor's names are in small capitals.
+%
+% The combination of authordate3.bst and authordate1-4.sty allows citations
+% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}.
+% When
+% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ...
+% appears in the input file,
+% ... (Bloggs, 1960) ... (1960) ...
+% appears in the final document.
+%
+% This file was developed from apalike.bst. It also uses code taken from
+% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst.
+%
+% David Rhead
+% Cripps Computing Centre
+% Nottingham University
+% March 1990
+%
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.year.month.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { add.period$ write$
+ month empty$
+ { " " year * extra.label * "." *
+ after.sentence 'output.state :=
+ }
+ { " " year * extra.label * " (" * month * ")." *
+ after.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { add.period$ write$
+ " " year * extra.label * "." *
+ after.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { ", {\em et~al.\ }\relax" * }
+ { ", \& " * t * } % Butcher, pages
+ if$ % 186-189.
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" } % Small capitals
+ { "{\sc " * author format.names "}" * } % for
+ if$ % authordate3.bst
+} % and
+ % authordate4.bst.
+FUNCTION {format.key}
+{ empty$
+ { "{\sc " * key field.or.null "}" * } % Small capitals.
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" } % Small capitals.
+ { "{\sc " * editor format.names "}" *
+ editor num.names$ #1 > % Use ODWE abbrevs.
+ { " (eds)" * } % to avoid
+ { " (ed)" * } % ambiguity between
+ if$ % "editor" and
+ } % "edition".
+ if$
+}
+
+FUNCTION {format.title} % Nothing needs
+{ title empty$ % doing here in
+ { "" } % authordate1.bst
+ { title } % or
+ if$ % authordate3.bst.
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { "" } % Don't change case
+ { title emphasize } % in
+ if$ % authordate1.bst
+} % or
+ % authordate3.bst.
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.numberinseries}
+{ number empty$
+ { "" }
+ { number multi.page.check
+ { ", nos. " number n.dashify tie.or.space.connect }
+ { ", no. " number tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {booklike.series.volume.number} % Chicago, pages
+{ series empty$ % 450-451.
+ { volume empty$
+ { " " }
+ { " Vol. " volume * }
+ if$
+ }
+ {
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {incollectionlike.series.volume.number}
+{ series empty$
+ { volume empty$
+ { " " }
+ { " vol. " volume * }
+ if$
+ }
+ { new.block
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn." * }
+ { edition "t" change.case$ " edn." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "" pages n.dashify tie.or.space.connect }
+ { "" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pagesinbook} % By the time the
+{ pages empty$ % reader has read
+ { "" } % address, pub'r,
+ { pages multi.page.check % note (where the
+ { "Pages " pages n.dashify tie.or.space.connect } % note may end with
+ { "Page " pages tie.or.space.connect } % numbers), s/he
+ if$ % may not recognise
+ } % a number-range as
+ if$ % meaning pages.
+} % Avoid ambiguity
+ % (Butcher, p.181).
+
+FUNCTION {format.vol.num.date.pages}
+{ volume empty$
+ { month empty$
+ { "" }
+ { month }
+ if$
+ }
+ { volume boldface field.or.null
+ number empty$
+ { month empty$
+ 'skip$
+ { "(" month * ")" * * }
+ if$
+ }
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages.inbook}
+{ chapter empty$
+ 'format.pagesinbook
+ { type empty$
+ { "Chap." }
+ { type }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pagesinbook "l" change.case$ * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages.incoll}
+{ chapter empty$
+ { pages empty$
+ { "{\em In:} " }
+ { "{\em " format.pagesinbook " of:} " * * }
+ if$
+ }
+ { type empty$
+ { "{\em Chap. " chapter * }
+ { "{\em " type * " " * chapter * }
+ if$
+ pages empty$
+ { " of:} " * }
+ { ", " * format.pagesinbook "l" change.case$ " of:} " * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle} % Achieves effect
+{ booktitle empty$ % shown in 16.51
+ { "" } % of Chicago, at
+ { editor empty$ % expense of not
+ { format.chapter.pages.incoll % achieving effects
+ booktitle emphasize * } % shown in 16.50
+ { format.chapter.pages.incoll % of Chicago, on
+ format.editors * ", " * % page 189 of
+ booktitle emphasize * } % Butcher and in
+ if$ % 4.4 of BS 1629.
+ }
+ if$ % Don't change
+} % case.
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type % Don't change
+ } % case.
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. rept." } % ODWE abbrevs.
+ 'type
+ if$
+ number empty$
+ { } % Whatever was
+ { number tie.or.space.connect } % having its case
+ if$ % changed, leave
+} % it alone.
+
+FUNCTION {format.addr.pub}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { "" }
+ { address ": " * }
+ if$
+ publisher *
+ }
+ if$
+}
+
+FUNCTION {format.addr.pub.org} % If there's an
+{ address empty$ % an organization
+ { publisher * ", for " * organization * } % and a publisher
+ { address ": " * publisher * ", for " * organization * } % too.
+ if$
+}
+
+FUNCTION {format.addr.inst}
+{ address empty$
+ { institution empty$
+ { "" }
+ { institution }
+ if$
+ }
+ { institution empty$
+ { "" }
+ { institution ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.addr.org}
+{ address empty$
+ { organization empty$
+ { "" }
+ { organization }
+ if$
+ }
+ { organization empty$
+ { "" }
+ { organization ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "{\em In:}"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "{\em In:}"
+ }
+ { " Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "{\em In:}"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize % Don't change
+ "journal" output.check % case.
+ format.vol.num.date.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { new.sentence
+ format.edition output
+ new.block
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { new.sentence
+ format.edition output
+ new.block
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ new.block % BS 1629 (rather
+ format.chapter.pages.inbook "chapter and pages" output.check
+ fin.entry % than Chicago,
+} % p. 451)
+
+FUNCTION {incollection}
+{ output.bibitem
+ author empty$
+ { format.editors "editor" output.check
+ editor format.key output }
+ { format.authors "author" output.check
+ author format.key output }
+ if$
+ output.year.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$ % Chapter and/or
+ { format.in.ed.booktitle output % page numbers can
+ format.edition output % come out via this
+ incollectionlike.series.volume.number output % route, too.
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ new.block
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ publisher empty$
+ { output.year.month.check }
+ { output.year.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ incollectionlike.series.volume.number output
+ new.block
+ publisher empty$
+ {
+ organization empty$
+ 'skip$
+ { format.addr.org output }
+ if$
+ }
+ {
+ organization empty$
+ { format.addr.pub output }
+ { format.addr.pub.org output }
+ if$
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.sentence
+ format.edition output
+ new.block
+ organization address new.block.checkb
+ format.addr.org output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev.
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.D. thesis" format.thesis.type output.nonnull % Butcher,
+ school "school" output.check % page 174.
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors "author and editor" output.check
+ editor format.key output
+ publisher empty$
+ { output.year.month.check }
+ { output.year.check }
+ if$
+ new.block
+ format.btitle "title" output.check
+ new.block
+ booklike.series.volume.number output
+ new.block
+ publisher empty$
+ {
+ organization empty$
+ 'skip$
+ { format.addr.org output }
+ if$
+ }
+ {
+ organization empty$
+ { format.addr.pub output }
+ { format.addr.pub.org output }
+ if$
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ new.sentence
+ format.addr.inst "institution" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."} % ODWE, "months", &
+ % Chicago, p. 383.
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.\ }\relax" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.\ }\relax" * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+ { type$ "book" =
+ type$ "inbook" =
+ type$ "incollection" = % For sensible
+ or or % treatment of
+ 'author.editor.key.label % Singer in
+ { type$ "proceedings" = % BS 1629.
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ duplicate$
+ year empty$
+ {
+ "\protect\citename{" swap$ * ", }" *
+ "n.d." * 'label := % Chicago,
+ } % page 457.
+ {
+ "\protect\citename{" swap$ * ", }" *
+ year
+ *
+ 'label :=
+ }
+ if$
+ year field.or.null purify$ *
+ sortify 'sort.label :=
+}
+
+
+FUNCTION {sort.format.names} % To produce the
+{ 's := % order of entries
+ #1 'nameptr := % specified in item
+ "" % (3) on page 187
+ s num.names$ 'numnames := % of Butcher.
+ numnames 'namesleft :=
+ { namesleft #0 > nameptr #3 < and } % Only 1st 2 names
+ { nameptr #1 > % matter for
+ { " " * } % sorting.
+ 'skip$
+ if$ % Anything that's
+ nameptr #2 = numnames #2 > and % "et al" goes
+ { "zzzzz" * } % after works by 2
+ { % authors.
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort} % Two sorting
+{ calc.label % passes, from
+ label sortify % apalike.bst.
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ type$ "incollection" = % For Singer
+ or or % in BS 1629.
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$ % Code needed here
+ % if \citeauthor
+ % and \citeyear
+ label extra.label * 'label := % were supported.
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst b/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst
new file mode 100644
index 00000000000..b41f2504361
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst
@@ -0,0 +1,1310 @@
+% This BibTeX 0.99 style file is intended for documents that use the
+% author-date citation system. It should be used in conjunction with the
+% authordate1-4.sty (or equivalent) LaTeX style-option.
+%
+% In deciding on the bibliography layout to be implemented, the following
+% works have been consulted:
+% 1. British Standard 5605: "Citing publications by bibliographic
+% references", 1978.
+% 2. British Standard 1629: "Bibliographic references", 1976.
+% (Note: There is now a 1989 edition.)
+% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981.
+% 4. "The Oxford Dictionary for Writers and Editors", Oxford University
+% Press, 1981 (for abbreviations).
+% 5. "The Chicago Manual of Style", Chicago University Press, 1982.
+%
+% Discretion has been used in certain matters. In particular:
+% - Titles are italic except when there is a "contribution title" and
+% a "main publication title", in which case the "contribution title"
+% is roman while the "main publication title" is italic.
+% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of
+% publication"; output is of the form "place-of-publication: publisher".
+% When there is an ORGANIZATION as well as a PUBLISHER, output is of the
+% form "place-of-publication: publisher, for organization". Otherwise,
+% it is assumed that ADDRESS is a postal address, and output is of the
+% form "institution, address", "organization, address", "school, address"
+% or "howpublished, address".
+% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the
+% MONTH is used on the assumption that it contains information that is
+% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents
+% that have a PUBLISHER, but output after YEAR for anything else.
+% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that
+% these fields are being used to pick out particular pages of interest
+% (as an alternative to using the optional [...] argument of \cite);
+% the information is put at the very end of the entry, in line with BS 1629.
+% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS,
+% it is assumed that the fields are being used to specify the location of
+% the part/article of interest; the information is put before the
+% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters".
+% - Since "volume" can be used in various ways (see page 219 of Butcher),
+% this file assumes that, when there is a SERIES, any VOLUME and NUMBER
+% refer to position in the SERIES (i.e. Butcher's meaning 4).
+% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers
+% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3).
+% For INPROCEEDINGS and INCOLLECTION, this information goes after the
+% BOOKTITLE. (If you prefer to have volume information before EDITOR,
+% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.)
+%
+% This file differs from authordate1.bst, authordate2.bst and authordate3.bst
+% in that:
+% - Titles of articles, journals and books are "downstyle". Apart from the
+% first character, and the first character following : and white space,
+% uppercase letters are converted to lowercase unless protected by {}.
+% - Author's and editor's names are in small capitals.
+%
+% The combination of authordate4.bst and authordate1-4.sty allows citations
+% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}.
+% When
+% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ...
+% appears in the input file,
+% ... (Bloggs, 1960) ... (1960) ...
+% appears in the final document.
+%
+% This file was developed from apalike.bst. It also uses code taken from
+% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst.
+%
+% David Rhead
+% Cripps Computing Centre
+% Nottingham University
+% March 1990
+%
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.year.month.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { add.period$ write$
+ month empty$
+ { " " year * extra.label * "." *
+ after.sentence 'output.state :=
+ }
+ { " " year * extra.label * " (" * month * ")." *
+ after.sentence 'output.state :=
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { add.period$ write$
+ " " year * extra.label * "." *
+ after.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { ", {\em et~al.\ }\relax" * }
+ { ", \& " * t * } % Butcher, pages
+ if$ % 186-189.
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" } % Small capitals
+ { "{\sc " * author format.names "}" * } % for
+ if$ % authordate3.bst
+} % and
+ % authordate4.bst.
+FUNCTION {format.key}
+{ empty$
+ { "{\sc " * key field.or.null "}" * } % Small capitals.
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" } % Small capitals.
+ { "{\sc " * editor format.names "}" *
+ editor num.names$ #1 > % Use ODWE abbrevs.
+ { " (eds)" * } % to avoid
+ { " (ed)" * } % ambiguity between
+ if$ % "editor" and
+ } % "edition".
+ if$
+}
+
+FUNCTION {format.title} % Howells example
+{ title empty$ % in BS 5605 comes
+ { "" } % out wrong because
+ { title "t" change.case$ } % Patashnik
+ if$ % capitalizes
+} % after a colon.
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.numberinseries}
+{ number empty$
+ { "" }
+ { number multi.page.check
+ { ", nos. " number n.dashify tie.or.space.connect }
+ { ", no. " number tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {booklike.series.volume.number} % Chicago, pages
+{ series empty$ % 450-451.
+ { volume empty$
+ { " " }
+ { " Vol. " volume * }
+ if$
+ }
+ {
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {incollectionlike.series.volume.number}
+{ series empty$
+ { volume empty$
+ { " " }
+ { " vol. " volume * }
+ if$
+ }
+ { new.block
+ volume empty$
+ { number empty$
+ { series }
+ { series format.numberinseries * }
+ if$
+ }
+ { number empty$
+ { series ", vol. " volume * * }
+ { series ", vol. " * volume * format.numberinseries * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn." * }
+ { edition "t" change.case$ " edn." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "" pages n.dashify tie.or.space.connect }
+ { "" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pagesinbook} % By the time the
+{ pages empty$ % reader has read
+ { "" } % address, pub'r,
+ { pages multi.page.check % note (where the
+ { "Pages " pages n.dashify tie.or.space.connect } % note may end with
+ { "Page " pages tie.or.space.connect } % numbers), s/he
+ if$ % may not recognise
+ } % a number-range as
+ if$ % meaning pages.
+} % Avoid ambiguity
+ % (Butcher, p.181).
+
+FUNCTION {format.vol.num.date.pages}
+{ volume empty$
+ { month empty$
+ { "" }
+ { month }
+ if$
+ }
+ { volume boldface field.or.null
+ number empty$
+ { month empty$
+ 'skip$
+ { "(" month * ")" * * }
+ if$
+ }
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages.inbook}
+{ chapter empty$
+ 'format.pagesinbook
+ { type empty$
+ { "Chap." }
+ { type }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pagesinbook "l" change.case$ * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages.incoll}
+{ chapter empty$
+ { pages empty$
+ { "{\em In:} " }
+ { "{\em " format.pagesinbook " of:} " * * }
+ if$
+ }
+ { type empty$
+ { "{\em Chap. " chapter * }
+ { "{\em " type * " " * chapter * }
+ if$
+ pages empty$
+ { " of:} " * }
+ { ", " * format.pagesinbook "l" change.case$ " of:} " * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle} % Achieves effect
+{ booktitle empty$ % shown in 16.51
+ { "" } % of Chicago, at
+ { editor empty$ % expense of not
+ { format.chapter.pages.incoll % achieving effects
+ booktitle "t" change.case$ emphasize * } % shown in 16.50
+ { format.chapter.pages.incoll % of Chicago, on
+ format.editors * ", " * % page 189 of
+ booktitle "t" change.case$ emphasize * } % Butcher and in
+ if$ % 4.4 of BS 1629.
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. rept." } % ODWE abbrevs.
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.addr.pub}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { "" }
+ { address ": " * }
+ if$
+ publisher *
+ }
+ if$
+}
+
+FUNCTION {format.addr.pub.org} % If there's an
+{ address empty$ % an organization
+ { publisher * ", for " * organization * } % and a publisher
+ { address ": " * publisher * ", for " * organization * } % too.
+ if$
+}
+
+FUNCTION {format.addr.inst}
+{ address empty$
+ { institution empty$
+ { "" }
+ { institution }
+ if$
+ }
+ { institution empty$
+ { "" }
+ { institution ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.addr.org}
+{ address empty$
+ { organization empty$
+ { "" }
+ { organization }
+ if$
+ }
+ { organization empty$
+ { "" }
+ { organization ", " * }
+ if$
+ address *
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "{\em In:}"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "{\em In:}"
+ }
+ { " Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "{\em In:}"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal "t" change.case$ emphasize
+ "journal" output.check
+ format.vol.num.date.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { new.sentence
+ format.edition output
+ new.block
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { new.sentence
+ format.edition output
+ new.block
+ booklike.series.volume.number output
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ new.block % BS 1629 (rather
+ format.chapter.pages.inbook "chapter and pages" output.check
+ fin.entry % than Chicago,
+} % p. 451)
+
+FUNCTION {incollection}
+{ output.bibitem
+ author empty$
+ { format.editors "editor" output.check
+ editor format.key output }
+ { format.authors "author" output.check
+ author format.key output }
+ if$
+ output.year.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$ % Chapter and/or
+ { format.in.ed.booktitle output % page numbers can
+ format.edition output % come out via this
+ incollectionlike.series.volume.number output % route, too.
+ new.block
+ format.addr.pub "publisher" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ new.block
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ publisher empty$
+ { output.year.month.check }
+ { output.year.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ incollectionlike.series.volume.number output
+ new.block
+ publisher empty$
+ {
+ organization empty$
+ 'skip$
+ { format.addr.org output }
+ if$
+ }
+ {
+ organization empty$
+ { format.addr.pub output }
+ { format.addr.pub.org output }
+ if$
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.sentence
+ format.edition output
+ new.block
+ organization address new.block.checkb
+ format.addr.org output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev.
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.D. thesis" format.thesis.type output.nonnull % Butcher,
+ school "school" output.check % page 174.
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors "author and editor" output.check
+ editor format.key output
+ publisher empty$
+ { output.year.month.check }
+ { output.year.check }
+ if$
+ new.block
+ format.btitle "title" output.check
+ new.block
+ booklike.series.volume.number output
+ new.block
+ publisher empty$
+ {
+ organization empty$
+ 'skip$
+ { format.addr.org output }
+ if$
+ }
+ {
+ organization empty$
+ { format.addr.pub output }
+ { format.addr.pub.org output }
+ if$
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ new.sentence
+ format.addr.inst "institution" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.month.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."} % ODWE, "months", &
+ % Chicago, p. 383.
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.\ }\relax" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.\ }\relax" * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+ { type$ "book" =
+ type$ "inbook" =
+ type$ "incollection" = % For sensible
+ or or % treatment of
+ 'author.editor.key.label % Singer in
+ { type$ "proceedings" = % BS 1629.
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ duplicate$
+ year empty$
+ {
+ "\protect\citename{" swap$ * ", }" *
+ "n.d." * 'label := % Chicago,
+ } % page 457.
+ {
+ "\protect\citename{" swap$ * ", }" *
+ year
+ *
+ 'label :=
+ }
+ if$
+ year field.or.null purify$ *
+ sortify 'sort.label :=
+}
+
+
+FUNCTION {sort.format.names} % To produce the
+{ 's := % order of entries
+ #1 'nameptr := % specified in item
+ "" % (3) on page 187
+ s num.names$ 'numnames := % of Butcher.
+ numnames 'namesleft :=
+ { namesleft #0 > nameptr #3 < and } % Only 1st 2 names
+ { nameptr #1 > % matter for
+ { " " * } % sorting.
+ 'skip$
+ if$ % Anything that's
+ nameptr #2 = numnames #2 > and % "et al" goes
+ { "zzzzz" * } % after works by 2
+ { % authors.
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort} % Two sorting
+{ calc.label % passes, from
+ label sortify % apalike.bst.
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ type$ "incollection" = % For Singer
+ or or % in BS 1629.
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$ % Code needed here
+ % if \citeauthor
+ % and \citeyear
+ label extra.label * 'label := % were supported.
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/bbs.bst b/Master/texmf-dist/bibtex/bst/beebe/bbs.bst
new file mode 100644
index 00000000000..ff4df8fdafc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/bbs.bst
@@ -0,0 +1,1162 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Alan Rogers",
+%%% version = "1.1",
+%%% date = "Feb 15, 1991",
+%%% filename = "bbs.bst",
+%%% address = "Dept of Anthropology, University of Utah,
+%%% Salt Lake City, UT 84112",
+%%% checksum = "63919 1162 3279 24277",
+%%% email = "rogers@anthro.utah.edu",
+%%% supported = "no",
+%%% docstring = "The file produces bibliographies more or
+%%% less in the format of Behavioral and Brain
+%%% Sciences. It was adapted from apalike.bst,
+%%% incorporating features of Sake J.
+%%% Hogeveen's `astron.bst'.
+%%%
+%%% Usage: \documentstyle[astron]{...}
+%%% ...
+%%% \bibliographystyle{bbs}
+%%% ...
+%%%
+%%% The \documentstyle command above invokes
+%%% Hogeveen's `astron.sty', which must be in
+%%% TeX's search path.
+%%%
+%%% The modifications implement `\cite*{}',
+%%% which generates references in short form.
+%%% For example, `Rogers \cite*{...}' would
+%%% produce `Rogers (1992)'."
+%%% }
+%%% ====================================================================
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.ed.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { output.state mid.sentence =
+ {"ed. " editor format.ed.names * }
+ { editor format.ed.names ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { "(" edition "l" change.case$ * " ed.)" * }
+ { "(" edition "t" change.case$ * " ed.)" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In: " booktitle emphasize * }
+ { "In: " booktitle emphasize * ", " * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+% address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+% address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+% address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+% address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.edition output
+ organization address new.block.checkb
+ organization output
+% address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+% address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+% address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label} % this function came from ASTRON.BST (ARR)
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ "\protect\astroncite{" swap$ * "}{" % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ * % the mathing closing "}" comes in at the reverse.pass
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass} % this function came from ASTRON.BST (ARR)
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/bibtoref.bst b/Master/texmf-dist/bibtex/bst/beebe/bibtoref.bst
new file mode 100644
index 00000000000..e33cf5e0418
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/bibtoref.bst
@@ -0,0 +1,201 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Ciaran McHale",
+%%% version = "1.00",
+%%% date = "21 July 1992",
+%%% time = "12:34:24 MDT",
+%%% filename = "bibtoref.bst",
+%%% address = "Department of Computer Science,
+%%% Trinity College,
+%%% Dublin 2,
+%%% Ireland",
+%%% telephone = "+353-1-772941 ext 1538",
+%%% FAX = "+353-1-772204",
+%%% telex = "93782 TCD EI",
+%%% checksum = "04276 201 698 5689",
+%%% email = "cjmchale@cs.tcd.ie or
+%%% cjmchale%cs.tcd.ie@cunyvm.cuny.edu"
+%%% codetable = "ISO/ASCII",
+%%% keywords = "",
+%%% supported = "no",
+%%% docstring = "This BibTeX style file translates selected
+%%% BibTeX bibliographies entries into UNIX
+%%% refer format. It is based on a bib style
+%%% file by Kannan Varadhan.
+%%%
+%%% To use it, create a temporary LaTeX file
+%%% that contains the \cite{...} entries you
+%%% want to convert, or else use \nocite{*} to
+%%% convert all of them. Such a file might
+%%% look like this:
+%%%
+%%% \documentstyle{article}
+%%% \begin{document}
+%%% \bibliographystyle{bibtoref}
+%%% \nocite{*} % or \cite{...,...,...}
+%%% \bibliography{BIBFILENAME}
+%%% \end{document}
+%%%
+%%% Run latex then bibtex on the sample file;
+%%% the UNIX refer bibliography will appear in
+%%% the corresponding .bbl file.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+
+ENTRY
+ { % entry fields
+ abstract % non standard
+ address
+ annote % non standard
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ keywords % non standard
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {} % no integer entry variables
+ { label extra.label sort.label } % label entry variables
+
+
+STRINGS { s t a.name }
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {handle.names}
+{ 't := % type e.g. "A" for authors, "E" for editors
+ 's := % the string containing the names
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 'a.name :=
+
+ a.name "others" =
+ 'skip$ % don't print out "%A others"
+ { "%" t * " " * a.name * write$ newline$ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {handle.maybe.empty}
+{
+ 't :=
+ duplicate$
+ empty$
+ 'pop$
+ { "%" t * " " * swap$ * write$ newline$ }
+ if$
+}
+
+FUNCTION {translate}
+{
+ newline$ % get a blank line between each entry
+
+ title "T" handle.maybe.empty
+ booktitle "B" handle.maybe.empty
+
+ % there may be multiple authors so handle it differently
+ author empty$
+ { " empty author in " cite$ * warning$ }
+ { author "A" handle.names }
+ if$
+ editor "E" handle.maybe.empty
+ journal "J" handle.maybe.empty
+ keywords "K" handle.maybe.empty
+ cite$ "L" handle.maybe.empty
+ volume "V" handle.maybe.empty
+ abstract "X" handle.maybe.empty
+
+ % The date, if present may be just the year or both the month and year
+ % or might even be just the month
+ month empty$ year empty$ and
+ 'skip$ % no date of publication so nothing to do
+ {
+ month empty$ % I'm using the if statement because I'm not
+ { "" } % sure that--- month " " year * --- would work.
+ { month " " * } % (The manual doesn't mention anything about
+ if$ % this so I'm playing safe)
+ year empty$
+ { "" }
+ { year }
+ if$
+ *
+ "D" handle.maybe.empty
+ }
+ if$
+ pages "P" handle.maybe.empty
+ note "O" handle.maybe.empty
+ number "N" handle.maybe.empty
+ series "S" handle.maybe.empty
+ annote "Y" handle.maybe.empty
+ address "C" handle.maybe.empty
+
+}
+
+
+FUNCTION {article} { translate }
+FUNCTION {book} { translate }
+FUNCTION {booklet} { translate }
+FUNCTION {inbook} { translate }
+FUNCTION {incollection} { translate }
+FUNCTION {inproceedings} { translate }
+FUNCTION {manual} { translate }
+FUNCTION {mastersthesis} { translate }
+FUNCTION {misc} { translate }
+FUNCTION {phdthesis} { translate }
+FUNCTION {proceedings} { translate }
+FUNCTION {techreport} { translate }
+FUNCTION {unpublished} { translate }
+FUNCTION {default.type} { translate }
+
+
+READ
+
+ITERATE {call.type$}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/cbe.bst b/Master/texmf-dist/bibtex/bst/beebe/cbe.bst
new file mode 100644
index 00000000000..85c176fa861
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/cbe.bst
@@ -0,0 +1,1161 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Alan Rogers",
+%%% version = "1.1",
+%%% date = "1990",
+%%% filename = "cbe.bst",
+%%% address = "Dept of Anthropology, University of Utah,
+%%% Salt Lake City, UT 84112",
+%%% checksum = "13520 1161 3284 24308",
+%%% email = "rogers@anthro.utah.edu",
+%%% supported = "no",
+%%% docstring = "The file produces bibliographies more or
+%%% less in the Council of Biology Editors
+%%% format, which is used by Evolution,
+%%% American Naturalist, & lots of other
+%%% journals. It was adapted from apalike.bst,
+%%% incorporating features of Sake J.
+%%% Hogeveen's `astron.bst'.
+%%%
+%%% Usage: \documentstyle[astron]{...}
+%%% ...
+%%% \bibliographystyle{cbe}
+%%% ...
+%%%
+%%% The \documentstyle command above invokes
+%%% Hogeveen's `astron.sty', which must be in
+%%% TeX's search path.
+%%%
+%%% The modifications implement `\cite*{}',
+%%% which generates references in short form.
+%%% For example, `Rogers \cite*{...}' would
+%%% produce `Rogers (1992)'."
+%%% }
+%%% ====================================================================
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " " year * extra.label *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {smallcaps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.editor.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names smallcaps }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.editor.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title %emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ { "" }
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+% { "{\em In} " booktitle emphasize * }
+% { "{\em In} " format.editors * ", " * booktitle emphasize * }
+ { "{\em In} " booktitle * }
+ { "{\em In} " format.editors * ", " * booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize " " * format.vol.num.pages * output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ format.pages output
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label} % this function came from ASTRON.BST (ARR)
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ "\protect\astroncite{" swap$ * "}{" % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ * % the mathing closing "}" comes in at the reverse.pass
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass} % this function came from ASTRON.BST (ARR)
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/cell.bst b/Master/texmf-dist/bibtex/bst/beebe/cell.bst
new file mode 100644
index 00000000000..4d831b7a619
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/cell.bst
@@ -0,0 +1,1442 @@
+% BibTex `cell' bibliography style
+% version = 1.25 of cell.bst 1994 October 15
+% from version = 1.27 of jmb.bst 1992 October 22
+
+% conversion from JMB to Cell by:
+% changing emphasis to roman (\em to \rm)
+% bold face to roman (\bf to \rm) (on volume)
+% making the volume be italics
+% removing the comma after the journal name
+%
+% Thomas Schneider
+% National Cancer Institute
+% Laboratory of Mathematical Biology
+% Frederick, Maryland 21702-1013
+% toms@ncifcrf.gov
+%
+% This file is available by anonymous ftp from ncifcrf.gov in pub/delila.
+%
+% TITLES can be turned on and off!
+% Just nocite the reference TitlesOn in the paper (i.e. \nocite{TitlesOn})
+% and have a bibliography article in your database with that cite key!
+%
+% WARNING: Since I use mostly article, book and inproceedings, these
+% are formatted pretty closely to the Journal of Theoretical Biology style
+% while other things are neglected. Also, I can't guarantee that the style
+% is exactly right.
+%
+% The following documentation is identical from the source of jmb.bst,
+% which was the apalike.bst taken from the Clarkson archive on 1989 June 19.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The program was further modified by Tom Schneider:
+%
+% 1989 June 19 (TDS) Renamed jmb.bst. Items that do not have years were
+% listed in the bibliography without identifiers. However, they
+% have identifiers in the text. The identifier was added.
+% Titles were removed :-(.
+%
+% 1989 October 2 (TDS) Made labels in the paper use the & symbol rather
+% than `and', as required by JMB.
+% 1989 October 3 (TDS) Made et~al. be in italics.
+% Removed comma after journal name. (actually, all
+% mid sentence commas go!)
+% Made volume number be bold faced.
+% Converted colon (:) after volume number to a comma (,).
+% If a journal name does NOT end in a period, add
+% a comma after the name.
+% 1989 October 14 (TDS) Without a year the program used to sort on the
+% title. I made it sort on the cite$ if there is no year.
+% 1989 October 18 (TDS) If there is one reference without a year, put
+% an "a" at the end of its label, so that it comes out
+% as (Smith, a) in the text. in FUNCTION {forward.pass}
+% 1989 November 2 (TDS) Unpublished papers now give the title.
+% 1989 November 18 (TDS) TITLES can be turned on and off!
+% Just nocite the reference TitlesOn in the paper
+% and have a bibliography article in your database
+% with that cite key!
+% 1989 December 5 (TDS) I can't stand sorting to fall back on the
+% titles of the article - no control! So in function
+% bib.sort.order the default is now cite$.
+% 1990 November 14 (TDS) Changes to match JTB better:
+% Names in the bibliography are now connected
+% with "\&" instead of "and", since this fits JTB better.
+% "In" is now "In:".
+% "editors" and "editor" are now "eds" and "ed".
+% booktitle follows editors. editors in parenthesis.
+% pp. and p. instead of pages and page.
+% location followed by colon (:) and then publisher.
+% 1992 October 22 (TDS) Publisher address is at the end of books.
+% with no colon after address.
+% no comma before & in name list in bibliography.
+% The extra.label (as the a of 1991a) is emphasized.
+% "In:" goes back to "In"!
+% publisher address is at the end of inproceedings.
+% volume is "vol.", with comma after number.
+% ed.", and comma after ) closing editors.
+% as a colon (:), JMB does NOT want the next
+% ed, but the format.title function uses
+% which leaves it capitalized. To fix this, a
+% place change.case$ must be written.
+%
+% When a title has a colon (:), JMB does NOT want the next
+% word capitalized, but the format.title function uses
+% change.case$, which leaves it capitalized. To fix this, a
+% function to replace change.case$ was written:
+% special.change.case
+%
+% edition should follow TITLE for books!
+
+% possible bug: sorting order probably should be first author followed
+% by year; but this is not absolutely clear. Sorting here is (I think)
+% by all authors (or perhaps the key) then year.
+
+
+ENTRY % declare variables that have a value for each entry on the list
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ docomma givetitles }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #0 'docomma := % if it is 0 then don't do commas, otherwise do them.
+}
+
+FUNCTION {init.toggle.switches}
+{% set switches for controlling the output!
+ #0 'givetitles := % if it is 0 then don't give titles, otherwise do them.
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+% "in of output.nonnull" warning$
+
+% % { ", " * write$ } % the comma here is responsible for every comma!
+% % % But JMB doesn't want commas, so away it goes!
+% { " " * write$ } % That does it!
+
+ { % doing a comma is controlled specifically in JMB using docomma
+ docomma #0 =
+ { " " * write$ }
+ { ", " * write$ }
+ if$
+ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+% "out of output.nonnull" warning$
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+% "in output.check" warning$
+ duplicate$ empty$
+ { t "title" =
+ { pop$ } % jmb ignores titles and does not object if missing
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ if$
+ }
+ 'output.nonnull % block periods
+ % { pop$ } % don't do anything
+ if$
+% "ouT of output.check" warning$
+}
+
+% t "title" =
+% { "zowie" warning$ }
+% { duplicate$ empty$
+% { pop$ "EmPtY " t * " in " * cite$ * warning$ }
+% 'output.nonnull
+% }
+% if$
+% if$
+%}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ {
+ "empty year in " cite$ ", using label: " extra.label * * * warning$
+ write$
+% " (" extra.label * ")" * % TDS UNemphasized label
+
+% zzz here is the problem:
+% extra.label "BLURB" * warning$
+ " ({\rm{" extra.label * "}})" * % TDS emphasized label
+% "BLORB" warning$
+
+ { label "{\rm{" extra.label "}}" * * * 'label :=}
+% "BLUBEL" warning$
+
+ mid.sentence 'output.state :=
+% "BLIP" warning$
+ }
+ { write$
+
+% " (" year * extra.label * ")" * % TDS UNemphasized label
+ " (" year * "{\rm{" extra.label "}}" * * * ")" * % TDS emphasized label
+
+ mid.sentence 'output.state :=
+ }
+ if$
+% "POW" warning$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\rm " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+% { "," * } % remove this comma TDS
+ { " " * }
+ 'skip$
+ if$
+ t "others" =
+ { " {\rm et~al.}" * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds" * } % TDS
+ { ", ed." * } % TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {special.change.case}
+% change the entire string to lower case except
+% for the first letter and things inside {}
+% That is, force the first letter after a colon (:) to be lower case
+% but otherwise use the change.case$ rules.
+{
+% title "t" change.case$ % TDS this line was the original method
+
+% start with the first letter of the title, hang on stack
+title #1 #1 substring$
+
+% unearth this to see the breakpoint
+%"|---|" *
+
+% take the title, change to entire lower case.
+title "l" change.case$
+
+% take from second position of lowered title to end of title
+#2
+global.max$
+substring$
+
+% concatenate first letter to rest of title
+*
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { % decide whether to give the title or not
+ givetitles #1 =
+% { title "t" change.case$ } % produce the title % TDS original function
+ { special.change.case } % produce the title
+ { title pop$ "" } % don't produce the title
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+% { "volume" volume tie.or.space.connect % TDS
+ { "vol." volume "," * tie.or.space.connect % made vol.
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+% "volume and number" number either.or.check % TDS
+ "vol. and num." number either.or.check % made vol.
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect } % TDS
+ { "p." pages tie.or.space.connect } % TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ "{\rm " volume "}" * * field.or.null % make volume bold face
+
+% cell does not take numbers
+% number empty$
+% 'skip$
+%% { " (" number * ")" * *
+% { " ({\em " number "\/}" * * ")" * * % CELL IS ITALICS
+%% zzz
+% volume empty$
+% { "there's a number but no volume in " cite$ * warning$ }
+% 'skip$
+% if$
+% }
+% if$
+
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+% { ":" * pages n.dashify * } % no more colons after the volume
+ { ", " * pages n.dashify * } % comma's instead
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * } % TDS
+ { "In " booktitle emphasize * ", " * % That's the comma after the title
+ "(" format.editors ")," * * * } % TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike % TDS
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In " % TDS
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike % TDS
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{
+ cite$ "TitlesOn" =
+ 'skip$ % Don't write out an article of this kind, it's a toggle switch!
+ {
+ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+% "===> about to" warning$
+ output.year.check % apalike
+% "===> after it" warning$
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { % figure out the last character of the journal name.
+ % "<<" journal #-1 #1 substring$ ">>" * * % for testing
+ % "<" journal ">" * * % this works ok % for testing
+
+ journal #-1 #1 substring$ "." =
+ { journal } % journal ended in period so don't do anything
+% { journal ", " *} % journal ended without period, so add comma
+ { journal " " *} % journal ended without period, so add comma NONE FOR CELL
+ if$
+ emphasize "journal" output.check
+
+% journal * emphasize "journal" output.check % the original method
+
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ }
+ if$
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ #1 'docomma := % TURN COMMAS ON FOR JMB
+ crossref missing$
+ {
+ format.bvolume output
+ new.block
+ format.number.series output
+ format.edition output % TDS JMB position for edition
+% new.sentence
+% #0 'docomma := % no comma after address
+% address ":" * output % TDS
+ publisher "publisher" output.check % TDS
+% #1 'docomma := % comma back on
+% publisher "publisher" output.check
+% address output
+ address output % TDS - no colon!
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+% format.edition output % TDS original position of edition
+ new.block
+ note output
+ fin.entry
+ #0 'docomma := % TURN COMMAS OFF
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ #0 'docomma := % no comma after address
+ address ":" * output % TDS
+ publisher "publisher" output.check % TDS
+ #1 'docomma := % comma back on
+% publisher "publisher" output.check
+% address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ {
+% #1 'docomma := % TURN COMMAS ON FOR JMB, BUT NOT FOR JTB: inconsistent. TDS NOW
+ format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages
+ pages empty$
+ { output }
+ { "," * output } % TDS toss in comma instead of period
+ if$
+
+% address output % TDS address is below for JTB
+% new.sentence % TDS remove period
+ organization output
+ #0 'docomma := % NO COMMA AFTER ADDRESS
+ publisher "publisher" output.check % TDS
+ #1 'docomma := % comma back on
+
+% publisher output % are simpler
+ address output % TDS
+ #0 'docomma := % TURN COMMAS OFF
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis," format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+% "===> about to unpuBLISH" warning$
+ output.year.check % apalike
+% "===> out of to unpuBLISH" warning$
+ new.block
+% "===> PLEASE PLEASE BE HERE" warning$
+
+% Since format.title is out of commission, the original method won't work:
+% format.title "title" output.check
+% so do the equivalent of the format.title procedure: (TDS)
+ title empty$
+ { "" }
+ { title "t" change.case$ } % produce the title
+ if$
+% "===> perfidity 1" warning$
+ "title" output.check
+% "===> perfidity" warning$
+
+ new.block
+ note "note" output.check
+ fin.entry
+
+% "===> GOlly done" warning$
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+% ***********************************************************
+
+FUNCTION {check.for.titlecommand}
+% go through each entry and see if one of them has the key
+% 'TitlesOn'. If this is found, then do titles!
+% 1989 November 18 TDS
+{
+% "|" label "|" * * write$ newline$ % |Arrhenius {\rm et~al.}, 1986|
+% "|" cite$ "|" * * write$ newline$ % |Arrhenius1986|
+% so cite$ is the thing I want to detect...
+
+ cite$ "TitlesOn" =
+ { % got it!
+% "FOUND TitlesOn" write$ newline$
+ "Titles Will Be Printed" warning$
+ #1 'givetitles := % give titles!
+ }
+ 'skip$
+ if$
+}
+EXECUTE {init.toggle.switches}
+ITERATE {check.for.titlecommand}
+% ***********************************************************
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " {\rm et~al.}" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\rm et~al.}" * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ % note new use of & rather than `and'. TDS
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "{\rm et al}" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+% pass through the references forward
+{
+%"\\ label=" label "//" * * write$ newline$ % display the label
+%"\\last.label=" last.label "//" * * write$ newline$ % display the label
+
+ last.label label = % if the label repeats the previous label...
+ { % then increment the extra number
+ last.extra.num #1 + 'last.extra.num :=
+ % and convert it to a label
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { % else set things up for the next entry
+ "a" chr.to.int$ 'last.extra.num :=
+
+ % However, if the year was missing, tack on an extra "a". TDS
+ year empty$
+ {"a" 'extra.label :=}
+ {"" 'extra.label :=}
+ if$
+
+% "" 'extra.label := % the original method was not to do anything TDS
+
+ label 'last.label := % capture this label for next time
+ }
+ if$
+%"\\extra.label = " extra.label "//" * * write$ newline$ % display the label
+}
+
+FUNCTION {reverse.pass}
+% pass through the references backwards
+% add extra characters to the end of the label string
+{
+%"{{" label "}}" * * write$ newline$ % display the label
+ next.extra "b" =
+% original logic:
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+
+% next.extra "b" = { "next.extra was = b" write$ newline$} 'skip$ if$
+
+% new as of 1989 Oct 18
+% { "a" 'extra.label := }
+% { % Put on an "a" at the end of the label if the year is missing. TDS
+% year empty$
+% { "a" 'extra.label := }
+% %{ label "a" * 'label := }
+% 'skip$ % otherwise leave it alone (orignial method)
+% if$ }
+% if$
+
+% label extra.label * 'label := % TDS ORIGINAL LABEL METHOD
+
+% stick {\rm } around extra.label if it's not empty TDS
+ extra.label "" =
+ 'skip$
+ { label "{\rm{" extra.label "}}" * * * 'label :=}
+ if$
+
+ extra.label 'next.extra :=
+%"{{" label "}}" * * write$ newline$ % display the label
+}
+
+FUNCTION {bib.sort.order}
+% Generate the sort.key$ variables for sorting.
+% The sorting is first on the sort.label (ie, author's name), followed
+% by the year then the title. If there is no year, the cite$ is used.
+{
+ sort.label % this is based on the author name
+ " " * % tack on some space
+% original apa command was to use the year or an empty string:
+% year field.or.null sortify
+%
+% Replace that with the use of the cite$, when there is no year:
+ year duplicate$ empty$
+ {pop$ cite$}
+ 'skip$
+ if$
+
+ * " " * % tack on some space
+
+% I CAN'T STAND SORTING ON TITLE!!! TDS 1989 Dec 5
+% title field.or.null
+% sort.format.title
+% * % attach them together
+ cite$
+ * % use cite$ instead!!
+
+ % note: if there is no year, then the cite$ will override the sorting
+ % on the title. Oh well. Title sorting is sorta (ha ha) awful.
+
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+
+ % The following line helps debug the program. It shows what the sort.key$ is.
+ % "%" sort.key$ * write$ newline$
+}
+
+% Here is the place that the actual executions of the labeling and sorting
+% functions are done.
+
+
+EXECUTE {initialize.extra.label.stuff} % initialize variables
+ITERATE {bib.sort.order} % set up the sorting keys
+SORT % by sort.label, year, title---giving final bibliography order
+% Having sorted NOW we apply the extra letters at the end!
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/chicago.bst b/Master/texmf-dist/bibtex/bst/beebe/chicago.bst
new file mode 100644
index 00000000000..511f3aa5fa1
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/chicago.bst
@@ -0,0 +1,1654 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Glenn Paulley",
+%%% version = "4",
+%%% date = "28 August 1992",
+%%% time = "10:23:39 199",
+%%% filename = "chicago.bst",
+%%% address = "Data Structuring Group
+%%% Department of Computer Science
+%%% University of Waterloo
+%%% Waterloo, Ontario, Canada
+%%% N2L 3G1",
+%%% telephone = "(519) 885-1211",
+%%% FAX = "(519) 885-1208",
+%%% checksum = "26323 1654 5143 37417",
+%%% email = "gnpaulle@bluebox.uwaterloo.ca",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "",
+%%% supported = "yes",
+%%% abstract = "A BibTeX bibliography style that follows the
+%%% `B' reference style of the 13th Edition of
+%%% the Chicago Manual of Style. A detailed
+%%% feature list is given below.",
+%%% docstring = "The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+%
+% "Chicago" BibTeX style, chicago.bst
+% ===================================
+%
+% BibTeX `chicago' style file for BibTeX version 0.99c, LaTeX version 2.09
+% Place it in a file called chicago.bst in the BibTeX search path.
+% You need to include chicago.sty as a \documentstyle option.
+% (Placing it in the same directory as the LaTeX document should also work.)
+% This "chicago" style is based on newapa.bst (American Psych. Assoc.)
+% found at ymir.claremont.edu.
+%
+% Citation format: (author-last-name year)
+% (author-last-name and author-last-name year)
+% (author-last-name, author-last-name, and author-last-name year)
+% (author-last-name et al. year)
+% (author-last-name)
+% author-last-name (year)
+% (author-last-name and author-last-name)
+% (author-last-name et al.)
+% (year) or (year,year)
+% year or year,year
+%
+% Reference list ordering: alphabetical by author or whatever passes
+% for author in the absence of one.
+%
+% This BibTeX style has support for abbreviated author lists and for
+% year-only citations. This is done by having the citations
+% actually look like
+%
+% \citeauthoryear{full-author-info}{abbrev-author-info}{year}
+%
+% The LaTeX style has to have the following (or similar)
+%
+% \let\@internalcite\cite
+% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite}
+% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite}
+% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite}
+% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite}
+% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite}
+%
+% These TeX macro definitions are found in chicago.sty. Additional
+% commands to manipulate different components of a citation can be defined
+% so that, for example, you can list author's names without parentheses
+% if using a citation as a noun or object in a sentence.
+%
+% This file was originally copied from newapa.bst at ymir.claremont.edu.
+%
+% Features of chicago.bst:
+% =======================
+%
+% - full names used in citations, but abbreviated citations are available
+% (see above)
+% - if an entry has a "month", then the month and year are also printed
+% as part of that bibitem.
+% - all conjunctions use "and" instead of "\&"
+% - major modification from Chicago Manual of Style (13th ed.) is that
+% only the first author in a reference appears last name first-
+% additional authors appear as J. Q. Public.
+% - pages are listed as "pp. xx-xx" in all entry types except
+% article entries.
+% - book, inbook, and manual use "location: publisher" (or organization)
+% for address and publisher. All other types list publishers separately.
+% - "pp." are used to identify page numbers for all entry types except
+% articles.
+% - organization is used as a citation label if neither author nor editor
+% is present (for manuals).
+% - "et al." is used for long author and editor lists, or when "others"
+% is used.
+%
+% Modifications and bug fixes from newapa.bst:
+% ===========================================
+%
+% - added month, year to bib entries if month is present
+% - fixed bug with In proceedings, added necessary comma after title
+% - all conjunctions changed to "and" from "\&"
+% - fixed bug with author labels in my.full.label: "et al." now is
+% generated when "others" is an author name
+% - major modification from Chicago Manual of Style (13th ed.) is that
+% only the first author in a reference appears last name first-
+% additional authors appear as J. Q. Public.
+% - pages are listed as "pp. xx-xx" in all entry types except
+% article entries. Unnecessary (IMHO) "()" around page numbers
+% were removed, and page numbers now don't end with a period.
+% - created chicago.sty for use with this bibstyle (required).
+% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume,
+% number, and /or pages. Renamed to format.jour.vol.
+% - fixed bug in formatting booktitles: additional period an error if
+% book has a volume.
+% - fixed bug: editors usually given redundant period before next clause
+% (format.editors.dot) removed.
+% - added label support for organizations, if both author and editor
+% are missing (from alpha.bst). If organization is too long, then
+% the key field is used for abbreviated citations.
+% - In proceedings or books of several volumes, no comma was written
+% between the "Volume x" and the page numbers (this was intentional
+% in newapa.bst). Fixed.
+% - Some journals may not have volumes/numbers, only month/year (eg.
+% IEEE Computer). Fixed bug in article style that assumed volume/number
+% was always present.
+%
+% Original documentation for newapa.sty:
+% =====================================
+%
+% This version was made by modifying the master file made by
+% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX
+% style of Peter F. Patel-Schneider.
+%
+% Copyright (C) 1985, all rights reserved.
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than 'newapa.bst'.
+% There are undoubtably bugs in this style. If you make bug fixes,
+% improvements, etc. please let me know. My e-mail address is:
+% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com
+%
+% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst',
+% with lots of tweaking to make it look like APA style, along with tips
+% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label.year extra.label sort.year sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t u }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% Use a colon to separate output. Used only for address/publisher
+% combination in book/inbook types, address/institution for manuals,
+% and organization:publisher for proceedings (inproceedings).
+%
+FUNCTION {output.nonnull.colon}
+{ 's :=
+ output.state mid.sentence =
+ { ": " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.colon}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull.colon
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.colon}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.colon
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label *
+ month empty$
+ { ")" * }
+ { ", " * month * ")" * }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+%
+% Emphasize the top string on the stack.
+%
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+%
+% Emphasize the top string on the stack, but add a trailing space.
+%
+FUNCTION {emphasize.space}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+%
+% Format bibliographical entries with the first author last name first,
+% and subsequent authors with initials followed by last name.
+% All names are formatted in this routine.
+%
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { nameptr #1 =
+ {s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := }
+ {s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * } % from Chicago Manual of Style
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {my.full.label}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * } % from Chicago Manual of Style
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+
+}
+
+FUNCTION {format.names.fml}
+%
+% Format names in "familiar" format, with first initial followed by
+% last name. Like format.names, ALL names are formatted.
+%
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+% { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+%
+% Format editor names for use in the "in" types: inbook, incollection,
+% inproceedings: first initial, then last names. When editors are the
+% LABEL for an entry, then format.editor is used which lists editors
+% by last name first.
+%
+FUNCTION {format.editors.fml}
+{ editor empty$
+ { "" }
+ { editor format.names.fml
+ editor num.names$ #1 >
+ { " (Eds.)" * }
+ { " (Ed.)" * }
+ if$
+ }
+ if$
+}
+
+%
+% Format editor names for use in labels, last names first.
+%
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (Eds.)" * }
+ { " (Ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+% Note that the APA style requres case changes
+% in article titles. The following does not
+% change cases. If you perfer it, uncomment the
+% following and comment out the above.
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title }
+% if$
+%}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ edition empty$
+ { title emphasize }
+ { title empty$
+ { title emphasize }
+ { volume empty$ % gnp - check for volume, then don't need period
+ { "{\em " title * "\/} (" * edition * " ed.)" * "." * }
+ { "{\em " title * "\/} (" * edition * " ed.)" * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.emphasize.booktitle}
+{ edition empty$
+ { booktitle emphasize }
+ { booktitle empty$
+ { booktitle emphasize }
+ { volume empty$ % gnp - extra period an error if book has a volume
+ { "{\em " booktitle * "\/} (" * edition * " ed.)" * "." *}
+ { "{\em " booktitle * "\/} (" * edition * " ed.)" * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Volume" volume tie.or.space.connect % gnp - changed to mixed case
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "Number" } % gnp - changed to mixed case always
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.\ " pages n.dashify tie.or.space.connect } % gnp - removed ()
+ { "pp.\ " pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+% By Young (and Spencer)
+% GNP - fixed bugs with missing volume, number, and/or pages
+%
+% Format journal, volume, number, pages for article types.
+%
+FUNCTION {format.jour.vol}
+{ journal empty$
+ { "no journal in " cite$ * warning$
+ "" }
+ { journal emphasize.space }
+ if$
+ number empty$
+ { volume empty$
+ { "no number and no volume in " cite$ * warning$
+ "" * }
+ { "~{\em " * Volume * "}" * }
+ if$
+ }
+ { volume empty$
+ {"no volume for " cite$ * warning$
+ "~(" * number * ")" * }
+ { "~" *
+ volume emphasize.space
+ "(" * number * ")" * * }
+ if$
+ }
+ if$
+ pages empty$
+ {"page numbers missing in " cite$ * warning$
+ "" * } % gnp - place a null string on the stack for output
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * } % gnp - removed pp. for articles
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "Chapter" } % gnp - changed to mixed case
+ { type "t" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ {"page numbers missing in " cite$ * warning$} % gnp - added check
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " format.emphasize.booktitle * }
+ { "In " format.editors.fml * ", " * format.emphasize.booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "See"
+ "\citeN{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect % gnp - changed to mixed case
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \citeN{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "See"
+ " \citeN{" * crossref * "}" *
+}
+
+% format.lab.names:
+%
+% determines "short" names for the abbreviated author information.
+% "Long" labels are created in calc.label, using the routine my.full.label
+% to format author and editor fields.
+%
+% There are 4 cases for labels. (n=3 in the example)
+% a) one author Foo
+% b) one to n Foo, Bar and Baz
+% c) use of "and others" Foo, Bar et al.
+% d) more than n Foo et al.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #2 > % change number to number of others allowed before
+ % forcing "et al".
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ {
+ numnames #1 - 'namesleft :=
+ #2 'nameptr :=
+ s #1 "{vv~}{ll}" format.name$
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s nameptr "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ { ", " * s nameptr "{vv~}{ll}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { "no key, author in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { "no key, editor in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+%
+% added - gnp. Provide label formatting by organization if author is null.
+%
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "no key, author or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { organization }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+%
+% added - gnp. Provide label formatting by organization if editor is null.
+%
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "no key, editor or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { organization }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "no key, author, or editor in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+%
+% Changed - GNP. See also author.organization.sort, editor.organization.sort
+% Form label for BibTeX entry. The classification of which fields are used
+% for which type of entry (book, inbook, etc.) are taken from alpha.bst.
+% The change here from newapa is to also include organization as a
+% citation label if author or editor is missing.
+%
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+
+ author empty$ % generate the full label citation information.
+ { editor empty$
+ { organization empty$
+ { "no author, editor, or organization in " cite$ * warning$
+ "??" }
+ { organization }
+ if$
+ }
+ { editor my.full.label }
+ if$
+ }
+ { author my.full.label }
+ if$
+
+% leave label on the stack, to be popped when required.
+
+ "}{" * swap$ * "}{" *
+% year field.or.null purify$ #-1 #4 substring$ *
+%
+% save the year for sort processing afterwards (adding a, b, c, etc.)
+%
+ year field.or.null purify$ #-1 #4 substring$
+ 'label.year :=
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[\protect\citeauthoryear{" write$
+ calc.label write$
+ sort.year write$
+ "}]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.jour.vol output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors
+ "author and editor" output.check }
+ { format.authors
+ output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors
+ "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages
+ "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ publisher
+ "publisher" output.check.colon
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle
+ "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output % gnp - was special.output.nonnull
+% left out comma before page numbers
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+ }
+ { format.incoll.inproc.crossref
+ output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle
+ "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ format.pages output
+ new.sentence
+ organization output
+ publisher output.colon
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { organization "organization" output.check
+ organization format.key output } % if all else fails, use key
+ { format.editors "author and editor" output.check }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ organization address new.block.checkb
+% Reversed the order of "address" and "organization", added the ":".
+ address output
+ organization "organization" output.check.colon
+% address output
+% ":" output
+% organization output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ title howpublished new.block.checkb
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ new.block
+ "Ph.\ D. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output
+ organization format.key output } % gnp - changed from author format.key
+ { format.editors output.nonnull }
+ if$
+% author format.key output % gnp - removed (should be either
+% editor or organization
+ output.year.check % added (newapa)
+ new.block
+ format.btitle
+ "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ new.sentence
+ organization output
+ publisher output.colon
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution
+ "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {ai} {"Artificial Intelligence"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { " et~al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ "" }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { "missing author in " cite$ * warning$
+ editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+%
+% added - GNP. Stack author or organization for sorting (from alpha.bst).
+% Unlike alpha.bst, we need entire names, not abbreviations
+%
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+%
+% added - GNP. Stack editor or organization for sorting (from alpha.bst).
+% Unlike alpha.bst, we need entire names, not abbreviations
+%
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+%
+% Presort creates the bibentry's label via a call to calc.label, and then
+% sorts the entries based on entry type. Chicago.bst adds support for
+% including organizations as the sort key; the following is stolen from
+% alpha.bst.
+%
+{ calc.label sortify % recalculate bibitem label
+ year field.or.null purify$ #-1 #4 substring$ * % add year
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % added for newapa
+ 'sort.label := % added for newapa
+ sort.label % added for newapa
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, year, author/editor, title
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+%
+% Pass through all entries, comparing current entry to last one.
+% Need to concatenate year to the stack (done by calc.label) to determine
+% if two entries are the same (see presort)
+%
+{ last.label
+ calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ #1 entry.max$ substring$ = % are they equal?
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ #1 entry.max$ substring$ 'last.label := % assign to last.label
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label.year extra.label * 'sort.year :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title --- giving final bib. order.
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
diff --git a/Master/texmf-dist/bibtex/bst/beebe/chicagoa.bst b/Master/texmf-dist/bibtex/bst/beebe/chicagoa.bst
new file mode 100644
index 00000000000..5816719e3e8
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/chicagoa.bst
@@ -0,0 +1,1684 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Glenn Paulley",
+%%% version = "4",
+%%% date = "28 August 1992",
+%%% time = "10:24:38 199",
+%%% filename = "chicagoa.bst",
+%%% address = "Data Structuring Group
+%%% Department of Computer Science
+%%% University of Waterloo
+%%% Waterloo, Ontario, Canada
+%%% N2L 3G1",
+%%% telephone = "(519) 885-1211",
+%%% FAX = "(519) 885-1208",
+%%% checksum = "62428 1684 5231 38311",
+%%% email = "gnpaulle@bluebox.uwaterloo.ca",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "",
+%%% supported = "yes",
+%%% abstract = "A BibTeX bibliography style that follows the
+%%% `B' reference style of the 13th Edition of
+%%% the Chicago Manual of Style. Supports annotated
+%%% bibliographies through the BibTeX field
+%%% `annotation'. A detailed feature list is given
+%%% below.",
+%%% docstring = "The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+%
+% "Chicago" BibTeX style, chicagoa.bst - Chicago style with annotations
+% =====================================================================
+%
+% BibTeX `chicagoa' style file for BibTeX version 0.99c, LaTeX version 2.09
+% Place it in a file called chicagoa.bst in the BibTeX search path.
+% You need to include chicago.sty as a \documentstyle option.
+% (Placing it in the same directory as the LaTeX document should also work.)
+% This "chicago" style is based on newapa.bst (American Psych. Assoc.)
+% found at ymir.claremont.edu. Annotation support added 07/09/92.
+% Modifications are loosely based on Chicago Manual of Style.
+%
+% Citation format: (author-last-name year)
+% (author-last-name and author-last-name year)
+% (author-last-name, author-last-name, and author-last-name year)
+% (author-last-name et al. year)
+% (author-last-name)
+% author-last-name (year)
+% (author-last-name and author-last-name)
+% (author-last-name et al.)
+% (year) or (year,year)
+% year or year,year
+%
+% Reference list ordering: alphabetical by author or whatever passes
+% for author in the absence of one.
+%
+% This BibTeX style has support for abbreviated author lists and for
+% year-only citations. This is done by having the citations
+% actually look like
+%
+% \citeauthoryear{full-author-info}{abbrev-author-info}{year}
+%
+% The LaTeX style has to have the following (or similar)
+%
+% \let\@internalcite\cite
+% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite}
+% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite}
+% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite}
+% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite}
+% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite}
+%
+% These TeX macro definitions are found in chicago.sty. Additional
+% commands to manipulate different components of a citation can be defined
+% so that, for example, you can list author's names without parentheses
+% if using a citation as a noun or object in a sentence.
+%
+% This file was originally copied from newapa.bst at ymir.claremont.edu.
+%
+% Features of chicago.bst:
+% =======================
+%
+% - supports an "annotation" field for annotated bibliographies.
+% - full names used in citations, but abbreviated citations are available
+% (see above)
+% - if an entry has a "month", then the month and year are also printed
+% as part of that bibitem.
+% - all conjunctions use "and" instead of "\&"
+% - major modification from Chicago Manual of Style (13th ed.) is that
+% only the first author in a reference appears last name first-
+% additional authors appear as J. Q. Public.
+% - pages are listed as "pp. xx-xx" in all entry types except
+% article entries.
+% - book, inbook, and manual use "location: publisher" (or organization)
+% for address and publisher. All other types list publishers separately.
+% - "pp." are used to identify page numbers for all entry types except
+% articles.
+% - organization is used as a citation label if neither author nor editor
+% is present (for manuals).
+% - "et al." is used for long author and editor lists, or when "others"
+% is used.
+%
+% Modifications and bug fixes from newapa.bst:
+% ===========================================
+%
+% - added month, year to bib entries if month is present
+% - fixed bug with In proceedings, added necessary comma after title
+% - all conjunctions changed to "and" from "\&"
+% - fixed bug with author labels in my.full.label: "et al." now is
+% generated when "others" is an author name
+% - major modification from Chicago Manual of Style (13th ed.) is that
+% only the first author in a reference appears last name first-
+% additional authors appear as J. Q. Public.
+% - pages are listed as "pp. xx-xx" in all entry types except
+% article entries. Unnecessary (IMHO) "()" around page numbers
+% were removed, and page numbers now don't end with a period.
+% - created chicago.sty for use with this bibstyle (required).
+% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume,
+% number, and /or pages. Renamed to format.jour.vol.
+% - fixed bug in formatting booktitles: additional period an error if
+% book has a volume.
+% - fixed bug: editors usually given redundant period before next clause
+% (format.editors.dot) removed.
+% - added label support for organizations, if both author and editor
+% are missing (from alpha.bst). If organization is too long, then
+% the key field is used for abbreviated citations.
+% - In proceedings or books of several volumes, no comma was written
+% between the "Volume x" and the page numbers (this was intentional
+% in newapa.bst). Fixed.
+% - Some journals may not have volumes/numbers, only month/year (eg.
+% IEEE Computer). Fixed bug in article style that assumed volume/number
+% was always present.
+%
+% Original documentation for newapa.sty:
+% =====================================
+%
+% This version was made by modifying the master file made by
+% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX
+% style of Peter F. Patel-Schneider.
+%
+% Copyright (C) 1985, all rights reserved.
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than 'newapa.bst'.
+% There are undoubtably bugs in this style. If you make bug fixes,
+% improvements, etc. please let me know. My e-mail address is:
+% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com
+%
+% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst',
+% with lots of tweaking to make it look like APA style, along with tips
+% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'.
+
+ENTRY
+ { address
+ annotation
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label.year extra.label sort.year sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t u }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% Use a colon to separate output. Used only for address/publisher
+% combination in book/inbook types, address/institution for manuals,
+% and organization:publisher for proceedings (inproceedings).
+%
+FUNCTION {output.nonnull.colon}
+{ 's :=
+ output.state mid.sentence =
+ { ": " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.colon}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull.colon
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.colon}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.colon
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label *
+ month empty$
+ { ")" * }
+ { ", " * month * ")" * }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+%
+% Emphasize the top string on the stack.
+%
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+%
+% Emphasize the top string on the stack, but add a trailing space.
+%
+FUNCTION {emphasize.space}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+%
+% Format bibliographical entries with the first author last name first,
+% and subsequent authors with initials followed by last name.
+% All names are formatted in this routine.
+%
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { nameptr #1 =
+ {s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := }
+ {s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * } % from Chicago Manual of Style
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {my.full.label}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * } % from Chicago Manual of Style
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+
+}
+
+FUNCTION {format.names.fml}
+%
+% Format names in "familiar" format, with first initial followed by
+% last name. Like format.names, ALL names are formatted.
+%
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+% { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {format.annotation}
+{ annotation empty$
+ { "" }
+ { " \begin{quotation}\noindent "
+ annotation
+ * " \end{quotation} " *
+ }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+%
+% Format editor names for use in the "in" types: inbook, incollection,
+% inproceedings: first initial, then last names. When editors are the
+% LABEL for an entry, then format.editor is used which lists editors
+% by last name first.
+%
+FUNCTION {format.editors.fml}
+{ editor empty$
+ { "" }
+ { editor format.names.fml
+ editor num.names$ #1 >
+ { " (Eds.)" * }
+ { " (Ed.)" * }
+ if$
+ }
+ if$
+}
+
+%
+% Format editor names for use in labels, last names first.
+%
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (Eds.)" * }
+ { " (Ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+% Note that the APA style requres case changes
+% in article titles. The following does not
+% change cases. If you perfer it, uncomment the
+% following and comment out the above.
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title }
+% if$
+%}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ edition empty$
+ { title emphasize }
+ { title empty$
+ { title emphasize }
+ { volume empty$ % gnp - check for volume, then don't need period
+ { "{\em " title * "\/} (" * edition * " ed.)" * "." * }
+ { "{\em " title * "\/} (" * edition * " ed.)" * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.emphasize.booktitle}
+{ edition empty$
+ { booktitle emphasize }
+ { booktitle empty$
+ { booktitle emphasize }
+ { volume empty$ % gnp - extra period an error if book has a volume
+ { "{\em " booktitle * "\/} (" * edition * " ed.)" * "." *}
+ { "{\em " booktitle * "\/} (" * edition * " ed.)" * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Volume" volume tie.or.space.connect % gnp - changed to mixed case
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "Number" } % gnp - changed to mixed case always
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.\ " pages n.dashify tie.or.space.connect } % gnp - removed ()
+ { "pp.\ " pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+% By Young (and Spencer)
+% GNP - fixed bugs with missing volume, number, and/or pages
+%
+% Format journal, volume, number, pages for article types.
+%
+FUNCTION {format.jour.vol}
+{ journal empty$
+ { "no journal in " cite$ * warning$
+ "" }
+ { journal emphasize.space }
+ if$
+ number empty$
+ { volume empty$
+ { "no number and no volume in " cite$ * warning$
+ "" * }
+ { "~{\em " * Volume * "}" * }
+ if$
+ }
+ { volume empty$
+ {"no volume for " cite$ * warning$
+ "~(" * number * ")" * }
+ { "~" *
+ volume emphasize.space
+ "(" * number * ")" * * }
+ if$
+ }
+ if$
+ pages empty$
+ {"page numbers missing in " cite$ * warning$
+ "" * } % gnp - place a null string on the stack for output
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * } % gnp - removed pp. for articles
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "Chapter" } % gnp - changed to mixed case
+ { type "t" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ {"page numbers missing in " cite$ * warning$} % gnp - added check
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " format.emphasize.booktitle * }
+ { "In " format.editors.fml * ", " * format.emphasize.booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "See"
+ "\citeN{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect % gnp - changed to mixed case
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \citeN{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "See"
+ " \citeN{" * crossref * "}" *
+}
+
+% format.lab.names:
+%
+% determines "short" names for the abbreviated author information.
+% "Long" labels are created in calc.label, using the routine my.full.label
+% to format author and editor fields.
+%
+% There are 4 cases for labels. (n=3 in the example)
+% a) one author Foo
+% b) one to n Foo, Bar and Baz
+% c) use of "and others" Foo, Bar et al.
+% d) more than n Foo et al.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #2 > % change number to number of others allowed before
+ % forcing "et al".
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ {
+ numnames #1 - 'namesleft :=
+ #2 'nameptr :=
+ s #1 "{vv~}{ll}" format.name$
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s nameptr "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ { ", " * s nameptr "{vv~}{ll}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { "no key, author in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { "no key, editor in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+%
+% added - gnp. Provide label formatting by organization if author is null.
+%
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "no key, author or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { organization }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+%
+% added - gnp. Provide label formatting by organization if editor is null.
+%
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "no key, editor or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { organization }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "no key, author, or editor in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+%
+% Changed - GNP. See also author.organization.sort, editor.organization.sort
+% Form label for BibTeX entry. The classification of which fields are used
+% for which type of entry (book, inbook, etc.) are taken from alpha.bst.
+% The change here from newapa is to also include organization as a
+% citation label if author or editor is missing.
+%
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+
+ author empty$ % generate the full label citation information.
+ { editor empty$
+ { organization empty$
+ { "no author, editor, or organization in " cite$ * warning$
+ "??" }
+ { organization }
+ if$
+ }
+ { editor my.full.label }
+ if$
+ }
+ { author my.full.label }
+ if$
+
+% leave label on the stack, to be popped when required.
+
+ "}{" * swap$ * "}{" *
+% year field.or.null purify$ #-1 #4 substring$ *
+%
+% save the year for sort processing afterwards (adding a, b, c, etc.)
+%
+ year field.or.null purify$ #-1 #4 substring$
+ 'label.year :=
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[\protect\citeauthoryear{" write$
+ calc.label write$
+ sort.year write$
+ "}]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.jour.vol output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+ newline$
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors
+ "author and editor" output.check }
+ { format.authors
+ output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+ newline$
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors
+ "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages
+ "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ publisher
+ "publisher" output.check.colon
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle
+ "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output % gnp - was special.output.nonnull
+% left out comma before page numbers
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+ }
+ { format.incoll.inproc.crossref
+ output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle
+ "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ format.pages output
+ new.sentence
+ organization output
+ publisher output.colon
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { organization "organization" output.check
+ organization format.key output } % if all else fails, use key
+ { format.editors "author and editor" output.check }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ organization address new.block.checkb
+% Reversed the order of "address" and "organization", added the ":".
+ address output
+ organization "organization" output.check.colon
+% address output
+% ":" output
+% organization output
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ title howpublished new.block.checkb
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ new.block
+ "Ph.\ D. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output
+ organization format.key output } % gnp - changed from author format.key
+ { format.editors output.nonnull }
+ if$
+% author format.key output % gnp - removed (should be either
+% editor or organization
+ output.year.check % added (newapa)
+ new.block
+ format.btitle
+ "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ new.sentence
+ organization output
+ publisher output.colon
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution
+ "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+ format.annotation write$
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {ai} {"Artificial Intelligence"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { " et~al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ "" }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { "missing author in " cite$ * warning$
+ editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+%
+% added - GNP. Stack author or organization for sorting (from alpha.bst).
+% Unlike alpha.bst, we need entire names, not abbreviations
+%
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+%
+% added - GNP. Stack editor or organization for sorting (from alpha.bst).
+% Unlike alpha.bst, we need entire names, not abbreviations
+%
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+%
+% Presort creates the bibentry's label via a call to calc.label, and then
+% sorts the entries based on entry type. Chicago.bst adds support for
+% including organizations as the sort key; the following is stolen from
+% alpha.bst.
+%
+{ calc.label sortify % recalculate bibitem label
+ year field.or.null purify$ #-1 #4 substring$ * % add year
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % added for newapa
+ 'sort.label := % added for newapa
+ sort.label % added for newapa
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, year, author/editor, title
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+%
+% Pass through all entries, comparing current entry to last one.
+% Need to concatenate year to the stack (done by calc.label) to determine
+% if two entries are the same (see presort)
+%
+{ last.label
+ calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ #1 entry.max$ substring$ = % are they equal?
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ calc.label year field.or.null purify$ #-1 #4 substring$ * % add year
+ #1 entry.max$ substring$ 'last.label := % assign to last.label
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label.year extra.label * 'sort.year :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title --- giving final bib. order.
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
diff --git a/Master/texmf-dist/bibtex/bst/beebe/econometrica.bst b/Master/texmf-dist/bibtex/bst/beebe/econometrica.bst
new file mode 100644
index 00000000000..1ebf5065bee
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/econometrica.bst
@@ -0,0 +1,1292 @@
+%%% Econometrica bibliography style
+%%% For use with harvard.sty and LaTeX2e (NFSS) or LaTeX 2.09
+%%% 24-aug-94
+%%%
+%%% Based on makebst, but with modifications by
+%%% kcb@hss.caltech.edu (KC Border)
+%%% Please report any problems to me.
+%%%
+%%% The main changes from the ouput of makebst are:
+%%% 1. Addition of a function to replace repeated authors with a 3 em dash.
+%%% (Search for compare.names, this function is portable.)
+%%% 2. Modification of output.nonnull to allow commas inside quotation marks
+%%% and no comma after year.
+%%% 3.Eliminated feature (bug?) of the harvard style of citation.
+%%% It creates a short label for subsequent citations. This alleged
+%%% feature shortens both Aliprantis, Border, and Luxemburg (1991) and
+%%% Aliprantis, Brown, and Burkinshaw (1991) to Aliprantis et~al. (1991).
+%%% This creates the need to label these as
+%%% Aliprantis, Border, and Luxemburg (1991a) and
+%%% Aliprantis, Brown, and Burkinshaw (1991b), despite the fact
+%%% that these entries have different authors. I used my own format
+%%% for creating the labels, and used the same label for
+%%% both the short and long forms. I know that the
+%%% _Chicago_Manual_of_Style recommends using Aliprantis et~al,
+%% but Econometrica regularly writes out three authors,
+%% and it is rare to cite an article with more than four authors in
+%%% Econometrica. (I couldn't find an example of even four being cited,
+%%% but I didn't spend a lot of time looking.)
+%%% 4. Addition of macros to handle editions. (My own idiosycracy.)
+%%% 5. A new entry type called issue for special issues of a journal.
+%%% (Another idiosyncracy.)
+%%% 6. Many details to conform to Econometrica's quirks.
+%%% (Search for KCB )
+%%% 7. I wrote this for use with LaTeX2e and the NFSS2. However, I did
+%%% add some macros so it will work with LaTeX 2.09.
+%%% (Search for \ifx\undefined\emph )
+%%% The remainder of this file was generated by makebst, except for
+%%% modifications marked with KCB.
+%%
+%% This is file `em.bst', generated
+%% on <1994/8/17> with the docstrip utility (2.2h).
+%%
+%% The original source files were:
+%%
+%% genbst.mbs (with options: `ay,har,nm-rev1,nmft-sc,dt-beg,yr-par,tit-qq,atit-u,thtit-a,volp-com,edby,blk-com,pp,ed,abr,and-com,nfss')
+%% ----------------------------------------
+%% *** Econometrica style ***
+%%
+%% (Here are the specifications of the source file)
+%% \def\filename{genbst.mbs}
+%% \def\filedate{1994 July 1}
+%% \def\fileversion{1.3}
+%% For use with BibTeX version 0.99a or later, LaTeX version 2.09
+%%-------------------------------------------------------------------
+%% NOTICE:
+%% This file may be used for non-profit purposes.
+%% It may not be distributed in exchange for money,
+%% other than distribution costs.
+%%
+%% The author provides it `as is' and does not guarantee it in any way.
+%%
+%% Copyright (C) 1994 Patrick W. Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Postfach 20
+%% D-37189 Katlenburg-Lindau
+%% Germany
+%%
+%% E-mail:
+%% SPAN-- nsp::linmpi::daly (note nsp also known as ecd1)
+%% Internet-- daly@linmpi.dnet.gwdg.de
+%%-----------------------------------------------------------
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%---------------------------------------------------------------------
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a style option to function properly.
+ % The appropriate style file is: harvard.sty
+ % The form of the bibitem entries is
+ % \harvarditem[Jones et al.]{Jones, Baker, and Smith}{1990}{key}...
+ % There are style changes that may be specified in the text with
+ % the command \citationstyle.
+ % \citeasnoun{key} ==>> Jones et al. (1990)
+ % \cite{key} ==>> (Jones et al. 1990)
+ % \cite[chap. 2]{key} ==>> (Jones et al. 1990, chap. 2)
+ % On the first citation of any work, the full author list is used.
+%%---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label } %%%KCB: removed long.label
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+%%%KCB: new output state, no.comma
+INTEGERS { no.comma}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'no.comma := %%%KCB
+}
+
+STRINGS { s t }
+
+
+%%%KCB: revise to use new output state
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state no.comma = %%%KCB: if in this state, write a space
+ { " " * write$ before.all 'output.state := } %%%KCB
+ { output.state mid.sentence = %%%KCB: add brace at beginning
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ } %%%KCB: matching brace
+ if$ %%%KCB: test for no.comma state
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\harvarditem[" write$
+ label write$
+ "]{" label * "}{" * write$ %%%KCB: replaced long.label with label
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ extra.label * "}{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+%%%KCB: Here is a portable set of routines to check for repeated authors
+%%% and replace them with a 3 em dash
+%%% According to _Chicago_Manual_of_Style_, a dash is used to
+%%% replace an author's name only if the entire list is the same, so:
+%%% Compare names. See if prev.name is identical to CurrList.
+%%% If not, then just output CurrList.
+%%% If so, replace with \BySame
+%%% I use a conservative matching scheme,
+%%% and check to see if full names are identical,
+%%% even though we only use initials.
+%%% This may mean that you have to correct your .bib database
+%%% to ensure consistency.
+%%%
+%%% sample usage:
+%%% search for {format.author}
+
+INTEGERS {currNum prevNum}
+
+STRINGS {PrevList CurrList prev.name PrevTemp CurrTemp}
+
+%%%KCB: Initialize prev.name ot some nonsense string:
+
+FUNCTION {init.prev.name}
+{
+"My puppy Harley" 'prev.name :=
+}
+
+%%%KCB: Must EXECUTE {init.prev.name} after READ
+
+%%%KCB: <CurrList> compare.names <modified name list>
+FUNCTION {compare.names}
+{ prev.name 'PrevList :=
+ duplicate$ 'prev.name := % make current list the new previous list
+ 'CurrList :=
+ PrevList num.names$ 'prevNum :=
+ CurrList num.names$ 'currNum :=
+%
+ prevNum currNum = %% If prevNum = currNum
+ { "" 'PrevTemp := %% Then take this branch
+ "" 'CurrTemp :=
+ #1 'nameptr := %%% start with first name in each list
+ { nameptr prevNum > not }%% while nameptr <= prevNum
+%% Format both lists the same way.
+%% Use full names: bib file might need to be corrected
+ {
+ PrevList nameptr "{ff }{vv~}{ll}{ jj}" format.name$ PrevTemp * 'PrevTemp :=
+ CurrList nameptr "{ff }{vv~}{ll}{ jj}" format.name$ CurrTemp * 'CurrTemp :=
+ nameptr #1 + 'nameptr := }
+ while$
+%% Now compare :
+ PrevTemp CurrTemp = %% If PrevTemp = CurrTemp
+ { "\BySame{}" }
+ { CurrList }
+ if$
+ }
+ { CurrList } %% If not prevNum = currNum
+ if$ %% If prevNum = currNum
+}
+
+%%%
+%%%
+%%%KCB: End of new routine.
+
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ ", " *
+ t "others" =
+ { " et~al." * }
+ { " {\small and} " * t * } %%%KCB: added \small
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.names.ed}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ ", " *
+ t "others" =
+ { " et~al." * }
+ { " {\small and} " * t * } %%%KCB: added \small
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { "\textsc{" author compare.names format.names * "} " * }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { "\textsc{" editor compare.names format.names * " }" *
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ "``" swap$ * ",'' " *
+ }
+no.comma 'output.state := %%%KCB:
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ "in " }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+ " (" swap$ * extra.label * "):" * %%%KCB: added :
+ before.all 'output.state := %%%KCB:
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+no.comma 'output.state := %%%KCB:
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "no." }
+ { "No." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn." * }
+ { edition "t" change.case$ " edn." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chap." }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize * ", ed. by " * %%%KCB: abbrv ed.
+ format.in.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Discussion Paper" } %%%KCB: changed default
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { "vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ format.title "title" output.check
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ format.btitle "title" output.check
+ mid.sentence 'output.state := %%%KCB:
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ format.title "title" output.check
+ howpublished output
+ address output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output
+ new.sentence
+ organization output
+ publisher output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+%%%KCB: special issue of a journal with a special editor
+
+FUNCTION {issue}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ format.btitle "title" output.check
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ format.btitle "title" output.check
+ organization output
+ address output
+ format.edition output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ format.title "title" output.check
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ format.title output
+ howpublished output
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ format.title "title" output.check
+ "Ph.D. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ new.sentence
+ organization output
+ publisher output
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ format.title "title" output.check
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+%%%KCB: removed computer science journal macros
+%%%KCB: added following macros for editions
+MACRO {first} {"1st "}
+MACRO {second} {"2d "}
+MACRO {third} {"3d "}
+MACRO {fourth} {"4th "}
+MACRO {fifth} {"5th "}
+MACRO {sixth} {"6th"}
+MACRO {seventh} {"7th "}
+MACRO {eighth} {"8th "}
+MACRO {ninth} {"9th "}
+MACRO {tenth} {"10th "}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+%%%KCB: Change format of labels:
+FUNCTION {format.lab.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%%%KCB: removed FUNCTION {format.long.lab.names}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+%%%KCB: use entire year field as label
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ type$ "issue" = %%%KCB: need for new entry type
+ or %%%KCB
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ ", "
+ *
+ year field.or.null
+ *
+ 'label :=
+}
+
+FUNCTION {calc.short.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'label :=
+}
+
+%%%KCB: removed FUNCTION {calc.long.label}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ type$ "issue" = %%%KCB: need for new entry type
+ or %%%KCB
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+EXECUTE {init.prev.name} %%%KCB: needed for replacing repeated authors
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+ calc.short.label
+%%%KCB: removed calc.long.label
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+%%%KCB: add defn of \BySame, can be overridden in document
+"\ifx\undefined\BySame" write$ newline$
+ "\newcommand{\BySame}{\leavevmode\rule[.5ex]{3em}{.5pt}\ }"
+ write$ newline$
+ "\fi" write$ newline$
+%%% KCB: For those who still cling to LaTeX 2.09
+"\ifx\undefined\textsc" write$ newline$
+ "\newcommand{\textsc}[1]{{\sc #1}}"
+ write$ newline$
+ "\newcommand{\emph}[1]{{\em #1\/}}"
+ write$ newline$
+"\let\tmpsmall\small" write$ newline$
+"\renewcommand{\small}{\tmpsmall\sc}" write$ newline$
+ "\fi" write$ newline$
+%%%
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+"Done." top$ %%%KCB: Signal end for NeXTeX's TexView
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
diff --git a/Master/texmf-dist/bibtex/bst/beebe/humanbio.bst b/Master/texmf-dist/bibtex/bst/beebe/humanbio.bst
new file mode 100644
index 00000000000..039498ebd7a
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/humanbio.bst
@@ -0,0 +1,1134 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Alan Rogers",
+%%% version = "1.1",
+%%% date = "1990",
+%%% filename = "humanbio.bst",
+%%% address = "Dept of Anthropology, University of Utah,
+%%% Salt Lake City, UT 84112",
+%%% checksum = "32432 1134 3172 23669",
+%%% email = "rogers@anthro.utah.edu",
+%%% supported = "no",
+%%% docstring = "The file produces bibliographies more or
+%%% less in the format of the journal Human
+%%% Biology. It was adapted from apalike.bst,
+%%% incorporating features of Sake J.
+%%% Hogeveen's `astron.bst'.
+%%%
+%%% Usage: \documentstyle[astron]{...}
+%%% ...
+%%% \bibliographystyle{humanbio}
+%%% ...
+%%%
+%%% The \documentstyle command above invokes
+%%% Hogeveen's `astron.sty', which must be in
+%%% TeX's search path.
+%%%
+%%% The modifications implement `\cite*{}',
+%%% which generates references in short form.
+%%% For example, `Rogers \cite*{...}' would
+%%% produce `Rogers (1992)'."
+%%% }
+%%% ====================================================================
+%%%%%%%%%%
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " " year * extra.label * "" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label} % this function came from ASTRON.BST (ARR)
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ "\protect\astroncite{" swap$ * "}{" % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ * % the mathing closing "}" comes in at the reverse.pass
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass} % this function came from ASTRON.BST (ARR)
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/humannat.bst b/Master/texmf-dist/bibtex/bst/beebe/humannat.bst
new file mode 100644
index 00000000000..425ac08d789
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/humannat.bst
@@ -0,0 +1,1205 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Alan Rogers",
+%%% version = "1.03",
+%%% date = "29 June 1992",
+%%% time = "09:34:02 MDT",
+%%% filename = "humanbio.bst",
+%%% address = "Dept of Anthropology, University of Utah,
+%%% Salt Lake City, UT 84112",
+%%% checksum = "39728 1205 3408 25147",
+%%% email = "rogers@anthro.utah.edu",
+%%% supported = "no",
+%%% docstring = "The file produces bibliographies more or
+%%% less in the format of the journals Human
+%%% Nature and American Anthropologist. It was
+%%% adapted from apalike.bst, incorporating
+%%% features of Sake J. Hogeveen's
+%%% `astron.bst'.
+%%%
+%%% Usage: \documentstyle[astron]{...}
+%%% ...
+%%% \bibliographystyle{humannat}
+%%% ...
+%%%
+%%% The \documentstyle command above invokes
+%%% Hogeveen's `astron.sty', which must be in
+%%% TeX's search path.
+%%%
+%%% The modifications implement `\cite*{}',
+%%% which generates references in short form.
+%%% For example, `Rogers \cite*{...}' would
+%%% produce `Rogers (1992)'."
+%%% }
+%%% ====================================================================
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+% " (" year * extra.label * ")" *
+ " " year * extra.label * % for humannature
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := % last name last
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.editor.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+ "\leavevmode\nopagebreak\newline" * % for humannature
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { author empty$
+ { editor format.names }
+ { editor format.editor.names }
+ if$
+ editor num.names$ #1 >
+ { ", eds." * } % for humannature
+ { ", ed." * } % for humannature
+ if$
+ }
+ if$
+ author empty$
+ { "\leavevmode\nopagebreak\newline" * }
+ { "" * }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.address.publisher}
+{ address empty$
+ {
+ publisher empty$
+ { "" }
+ { publisher }
+ if$
+ }
+ {
+ publisher empty$
+ { address ": [publisher unknown]" * }
+ { address ": " * publisher * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "Pp.~" pages n.dashify tie.or.space.connect }
+ { "P.~" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " booktitle emphasize * ", " * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ new.block
+ format.address.publisher output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.block
+ format.address.publisher output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.block
+ format.address.publisher output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label} % this function came from ASTRON.BST (ARR)
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ "\protect\astroncite{" swap$ * "}{" % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ * % the mathing closing "}" comes in at the reverse.pass
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass} % this function came from ASTRON.BST (ARR)
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/is-abbrv.bst b/Master/texmf-dist/bibtex/bst/beebe/is-abbrv.bst
new file mode 100644
index 00000000000..5e4eaa102ac
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/is-abbrv.bst
@@ -0,0 +1,1833 @@
+%% =====================================================================
+%% WARNING: Do NOT edit this file. It was produced automatically by
+%% Nelson H. F. Beebe <beebe@plot79.math.utah.edu>
+%% from file://plot79.math.utah.edu/u/sy/beebe/tex/bib/merge/xbtxbst.doc
+%% on Wed May 15 10:36:03 MDT 1996.
+%% =====================================================================
+%%%=====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "2.03",
+%%% date = "15 May 1996",
+%%% time = "10:35:51 MDT",
+%%% filename = "is-abbrv.bst",
+%%% address = "Center for Scientific Computing
+%%% Department of Mathematics
+%%% University of Utah
+%%% Salt Lake City, UT 84112
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 581 4148",
+%%% URL = "http://www.math.utah.edu/~beebe",
+%%% checksum = "47504 1833 4630 37425",
+%%% email = "beebe@math.utah.edu (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "BibTeX, style, bibliography",
+%%% supported = "yes",
+%%% docstring = "This file is a modification of the standard
+%%% BibTeX btxbst.doc file, or is a .bst file
+%%% derived from that modification. It contains
+%%% optional added support for CODEN, ISBN, ISSN,
+%%% LCCN, and PRICE fields, extended PAGES
+%%% fields, the PERIODICAL entry, and extended
+%%% citation label suffixing.
+%%%
+%%% In addition, date formatting supports a day
+%%% keyword, so that bibliography entries can be
+%%% written with
+%%%
+%%% day = {23},
+%%% month = aug,
+%%%
+%%% instead of the language-dependent awkward
+%%% forms required by the standard styles
+%%%
+%%% month = {23~} # aug,
+%%% month = aug # {~23},
+%%%
+%%% These older forms are, of course, still
+%%% handled correctly.
+%%%
+%%% The UNIX C preprocessor can be used to
+%%% extract the standard styles, as follows:
+%%%
+%%% cpp -P -DPLAIN xbtxbst.doc >plain.bst
+%%% cpp -P -DUNSRT xbtxbst.doc >unsrt.bst
+%%% cpp -P -DALPHA xbtxbst.doc >alpha.bst
+%%% cpp -P -DABBRV xbtxbst.doc >abbrv.bst
+%%%
+%%% To obtain correct file header checksums, pipe
+%%% the output through the checksum program, e.g.
+%%%
+%%% cpp -P -DPLAIN xbtxbst.doc | checksum >plain.bst
+%%%
+%%% The accompanying UNIX Makefile automates this
+%%% job, and provides some extra leading comments
+%%% in the generated style files warning the user
+%%% not to modify them.
+%%%
+%%% Additional optional definitions are recognized
+%%% to provide extensions to the standard styles:
+%%%
+%%% -D_CODEN for CODEN output
+%%%
+%%% -D_ISBN for ISBN output
+%%%
+%%% -D_ISSN for ISSN output
+%%%
+%%% -D_LCCN for LCCN output
+%%%
+%%% -D_PRICE for price output,
+%%%
+%%% -D_BOOKPAGES for book, techreport, manual,
+%%% and thesis pages output.
+%%%
+%%% -D_URL to get World-Wide Web Uniform
+%%% Resource Locator (URL) output.
+%%%
+%%% -D_NUMERIC_SUFFIXES to get numeric
+%%% label suffixes -1, -2, ..., -26, instead of
+%%% letters a, b, ..., z, so as to correctly
+%%% handle alpha-style bibliographies with more
+%%% than 26 entries for a single author in one
+%%% year. Change letter suffix code to switch
+%%% to numeric suffixes if more than 26 letters
+%%% are used, so that no matter which scheme is
+%%% selected, correct output will always be
+%%% obtained.
+%%%
+%%% The CODEN, ISBN, ISSN, LCCN, PRICE, and URL
+%%% values are wrapped inside macros \showCODEN{}
+%%% etc. that the user can provide alternate
+%%% definitions of to change the formatting, or
+%%% to suppress their output altogether. That
+%%% way, output identical to that of the four
+%%% standard BibTeX style files can be obtained
+%%% with these extended files, if these macros
+%%% are defined to expand to empty strings.
+%%%
+%%% URL handling is slightly more complex,
+%%% because URLs can contain characters which TeX
+%%% must handle in verbatim mode in a typewriter
+%%% font, and such text cannot readily appear
+%%% inside nested macro arguments. Consequently,
+%%% URLs are formatted in the .bbl file like
+%%% this:
+%%% \ifshowURL {\showURL \path|...|} \fi
+%%% where \showURL takes no argument, and
+%%% normally expands to the 4-character string
+%%% URL<space>. The grouping braces ensure that
+%%% any font changes made by \showURL remain
+%%% localized. Vertical bar is chosen as the
+%%% verbatim path delimiter, because it cannot
+%%% appear in URLs. The other prohibited ISO
+%%% Latin 1 characters are the non-printing
+%%% control characters 0..31, plus those in the
+%%% range 128..255, plus the ten special
+%%% characters
+%%%
+%%% { } [ ] \ ^ ~ < > `
+%%%
+%%% See Internet RFC 1630 (June 1994) for more
+%%% details. (Backquote is not even mentioned
+%%% there.)
+%%%
+%%% As an example of font changes, in LaTeX 2e
+%%% you might define
+%%% \newcommand{\showURL}{URL
+%%% \let \oldtt = \tt
+%%% \renewcommand{\tt}{\oldtt \itshape}}
+%%% to get URLs set in a typewriter italic font.
+%%%
+%%% If desired, a sed script can be used to
+%%% eliminate non-essential comments (this
+%%% reduces the file size by 2/3); a command
+%%% filter step like
+%%% sed -e '/^%$/d' -e '/^%[^%].*$/d'
+%%% will accomplish that job.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+%%% Revision history (reverse time order):
+%%%
+%%% 2.03 [15-May-1996]
+%%% Add CODEN support, ISBN and ISSN output for Article entries,
+%%% and ISBN output for TechReport entries (yes, these sometimes
+%%% do have ISBNs).
+%%%
+%%% Add wrapper macros \showXYZ{} (XYZ = CODEN, ISBN, ISSN, LCCN,
+%%% PRICE, and URL) defined inside the thebibliography environment
+%%% to expand to XYZ (except for PRICE) and their arguments,
+%%% PROVIDED they are not already defined. That way, the user can
+%%% provide alternate definitions outside the thebibliography
+%%% environment, for example, to suppress particular ones, or
+%%% to alter the font used.
+%%%
+%%% Substantially revise leading comments to better document the
+%%% extensions.
+%%%
+%%% 2.02 [01-Apr-1996]
+%%% Add day keyword support with new code in format.date function.
+%%% Oren Patashnik will include this new keyword in standard styles
+%%% in BibTeX 1.0.
+%%%
+%%% Add new function collapse.pagerange, and use it to collapse
+%%% page ranges with identical initial and final numbers to a
+%%% single number, so that bibliography files can distinguish
+%%% between one-page documents, and documents missing final page
+%%% numbers.
+%%%
+%%% 2.01 [25-Oct-1994]
+%%% Add URL output support.
+%%%
+%%% 2.00 [12-Oct-1994]
+%%% Add support for pages in theses and manuals, treating them
+%%% like Book and InBook pages.
+%%%
+%%% Correct ISSN support: a typo caused output of ISBN instead of
+%%% ISSN.
+%%%
+%%% Wherever ISBNs are output, also output an ISSN, if one
+%%% exists, and vice versa. The reason is that some periodicals
+%%% (e.g. The X Resource, published by O'Reilly and Associates)
+%%% have both ISSN and ISBN numbers, and can be purchased either
+%%% as journal subscriptions, or as single volumes.
+%%%
+%%% For InProceedings and Proceedings output, issue a warning for
+%%% a missing publisher: even though that field is optional, a
+%%% bibliographic reference without it is incomplete.
+%%%
+%%% Remove harmless, but unneeded, single horizontal space before
+%%% price output added with version 1.03.
+%%%
+%%% Change Proceedings and InProceedings to treat address values
+%%% as publisher addresses, as they are with every other document
+%%% type, rather than as conference addresses, which belong in
+%%% the title field (that is how major libraries, including OCLC
+%%% and Library of Congress, with nearly 60M holdings, represent
+%%% them). The need for this change has been discussed with
+%%% BibTeX's author, Oren Patashnik, and there is a good
+%%% possibility that BibTeX 1.0 will contain the change
+%%% implemented here. This is an INCOMPATIBLE change that will
+%%% produce different .bbl file formatting. However, the TUG and
+%%% BibNet bibliography projects have consistently used address
+%%% to me publisher/organization/institution address, and so
+%%% already conform to the new practice.
+%%%
+%%% 1.05 [30-May-1994]
+%%% Add NUMERIC_SUFFIXES support.
+%%%
+%%% Change all preprocessor statements to put else and endif
+%%% labels inside C-style comments to conform to 1989 ISO/ANSI C
+%%% Standard.
+%%%
+%%% 1.04 [11-Nov-1993]
+%%% Add underscore prefix to new processor symbols to prevent
+%%% substitution in comments
+%%%
+%%% 1.03 [11-Oct-1993]
+%%% Add support for LCCN (Library of Congress Catalog Number)
+%%% and price fields, and make ISBN, ISSN, LCCN, and price
+%%% selectable by preprocessor conditionals.
+%%%
+%%% 1.02 [12-Sep-1991]
+%%% Merge in Barbara N. Beeton's suggestion for hyphen-less
+%%% line breaks around volume(number):page.
+%%%
+%%% 1.01 [10-Sep-1991]
+%%% Update file comment header and use Solovay checksum program.
+%%%
+%%% 1.00 [17-Oct-1990]
+%%% Original version merging hand-edits of is-xxx.bst files into
+%%% this master file, xbtxbst.doc.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% BibTeX `plain' family
+%% version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+%% Copyright (C) 1985, all rights reserved.
+%% Copying of this file is authorized only if either
+%% (1) you make absolutely no changes to your copy, including name, or
+%% (2) if you do make changes, you name it something other than
+%% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+%% This restriction helps ensure that all standard styles are identical.
+%% The file btxbst.doc has the documentation for this style.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+
+ coden
+
+ day
+ edition
+ editor
+ howpublished
+ institution
+
+ isbn
+
+
+ issn
+
+ journal
+ key
+
+ lccn
+
+ month
+ note
+ number
+ organization
+ pages
+
+ price
+
+ publisher
+ school
+ series
+ title
+ type
+
+ URL
+
+ volume
+ year
+ }
+ {}
+
+ { label }
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+
+STRINGS { b e new.pages original.t s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+
+FUNCTION {format.coden}
+{ coden empty$
+ { "" }
+ { new.block "\showCODEN{" coden * "}" *}
+ if$
+}
+
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { new.block "\showISBN{" isbn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { new.block "\showISSN{" issn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.lccn}
+{ lccn empty$
+ { "" }
+ { new.block "\showLCCN{" lccn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.price}
+{ price empty$
+ { "" }
+ { new.block "\showPRICE{" price * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { new.block "\ifshowURL {\showURL \path|" url * "|}\fi" *}
+ if$
+}
+
+
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+
+
+FUNCTION {collapse.pagerange}
+{ 't := % save input page range string
+ t 'original.t := % save original page range
+ "" 'b := % beginning page number
+ "" 'e := % ending page number
+ { t empty$ not } % while-loop Boolean condition
+ { % while-loop body
+ t #1 #2 substring$ "--" = % have we found the en-dash?
+ {
+ t #3 global.max$ substring$ 'e := % yes, save ending page number
+ "" 't := % and set t to empty string to terminate loop
+ }
+ {
+ b t #1 #1 substring$ * 'b := % no, just accumulate this character
+ t #2 global.max$ substring$ 't := % and set t to the remaining string
+ }
+ if$
+ }
+ while$ % on exit, t has ending page number string
+ e b = % are beginning and ending numbers the same?
+ { b } % yes, return the beginning page number string
+ { original.t } % no, return the original page number string
+ if$
+}
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ {
+ day empty$
+ { "" }
+ { "there's a day but no month or year in " cite$ * warning$ }
+ if$
+ }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ day empty$
+ { }
+ { " " * day * }
+ if$
+ }
+ if$
+ }
+ { month empty$
+ {
+ day empty$
+ { year }
+ { "there's a day and year but no month in " cite$ * warning$ }
+ if$
+ }
+ {
+ month " " *
+ day empty$
+ { }
+ { day * ", " * }
+ if$
+ year *
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { new.block pages " pp." * }
+ if$
+}
+
+
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ {
+ pages multi.page.check
+ { pages collapse.pagerange 'new.pages := }
+ { pages 'new.pages := }
+ if$
+ new.pages multi.page.check
+ { "pages" new.pages n.dashify tie.or.space.connect }
+ { "page" new.pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":\penalty0 " * pages collapse.pagerange n.dashify * }
+ if$
+ }
+ if$
+}
+
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.book.pages output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.book.pages output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher "publisher" output.check
+ format.date "year" output.check
+ }
+ { new.sentence
+ organization output
+ publisher "publisher" output.check
+ address output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {conference} { inproceedings }
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+
+ format.book.pages output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+
+ format.book.pages output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+
+ format.book.pages output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {periodical}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ title emphasize "title" output.check
+ format.vol.num.pages output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.sentence
+ publisher output
+ address output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher "publisher" output.check %%% <- new check for missing
+ format.date "year" output.check
+ }
+ { new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher "publisher" output.check
+ address output.nonnull
+ format.date "year" output.check
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+
+ format.isbn output % NB: TechReports occasionally have ISBNs
+
+
+ format.book.pages output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+
+ format.url output
+
+ fin.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+
+
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+
+
+
+
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+
+
+
+READ
+
+
+
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+
+
+
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+
+{ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+
+SORT
+
+
+
+
+
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+
+
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+
+ "\ifx \showCODEN \undefined \def \showCODEN #1{CODEN #1} \fi" write$ newline$
+
+
+ "\ifx \showISBN \undefined \def \showISBN #1{ISBN #1} \fi" write$ newline$
+
+
+ "\ifx \showISSN \undefined \def \showISSN #1{ISSN #1} \fi" write$ newline$
+
+
+ "\ifx \showLCCN \undefined \def \showLCCN #1{LCCN #1} \fi" write$ newline$
+
+
+ "\ifx \showPRICE \undefined \def \showPRICE #1{#1} \fi" write$ newline$
+
+
+ "\ifx \showURL \undefined \def \showURL {URL } \fi" write$ newline$
+ "\ifx \path \undefined \input path.sty \fi" write$ newline$
+ "\ifx \ifshowURL \undefined" write$ newline$
+ " \newif \ifshowURL" write$ newline$
+ " \showURLtrue" write$ newline$
+ "\fi" write$ newline$
+
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+
+ITERATE {call.type$}
+
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/is-alpha.bst b/Master/texmf-dist/bibtex/bst/beebe/is-alpha.bst
new file mode 100644
index 00000000000..8e30c422a18
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/is-alpha.bst
@@ -0,0 +1,2020 @@
+%% =====================================================================
+%% WARNING: Do NOT edit this file. It was produced automatically by
+%% Nelson H. F. Beebe <beebe@plot79.math.utah.edu>
+%% from file://plot79.math.utah.edu/u/sy/beebe/tex/bib/merge/xbtxbst.doc
+%% on Wed May 15 10:36:04 MDT 1996.
+%% =====================================================================
+%%%=====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "2.03",
+%%% date = "15 May 1996",
+%%% time = "10:35:51 MDT",
+%%% filename = "is-alpha.bst",
+%%% address = "Center for Scientific Computing
+%%% Department of Mathematics
+%%% University of Utah
+%%% Salt Lake City, UT 84112
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 581 4148",
+%%% URL = "http://www.math.utah.edu/~beebe",
+%%% checksum = "49675 2020 5086 41225",
+%%% email = "beebe@math.utah.edu (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "BibTeX, style, bibliography",
+%%% supported = "yes",
+%%% docstring = "This file is a modification of the standard
+%%% BibTeX btxbst.doc file, or is a .bst file
+%%% derived from that modification. It contains
+%%% optional added support for CODEN, ISBN, ISSN,
+%%% LCCN, and PRICE fields, extended PAGES
+%%% fields, the PERIODICAL entry, and extended
+%%% citation label suffixing.
+%%%
+%%% In addition, date formatting supports a day
+%%% keyword, so that bibliography entries can be
+%%% written with
+%%%
+%%% day = {23},
+%%% month = aug,
+%%%
+%%% instead of the language-dependent awkward
+%%% forms required by the standard styles
+%%%
+%%% month = {23~} # aug,
+%%% month = aug # {~23},
+%%%
+%%% These older forms are, of course, still
+%%% handled correctly.
+%%%
+%%% The UNIX C preprocessor can be used to
+%%% extract the standard styles, as follows:
+%%%
+%%% cpp -P -DPLAIN xbtxbst.doc >plain.bst
+%%% cpp -P -DUNSRT xbtxbst.doc >unsrt.bst
+%%% cpp -P -DALPHA xbtxbst.doc >alpha.bst
+%%% cpp -P -DABBRV xbtxbst.doc >abbrv.bst
+%%%
+%%% To obtain correct file header checksums, pipe
+%%% the output through the checksum program, e.g.
+%%%
+%%% cpp -P -DPLAIN xbtxbst.doc | checksum >plain.bst
+%%%
+%%% The accompanying UNIX Makefile automates this
+%%% job, and provides some extra leading comments
+%%% in the generated style files warning the user
+%%% not to modify them.
+%%%
+%%% Additional optional definitions are recognized
+%%% to provide extensions to the standard styles:
+%%%
+%%% -D_CODEN for CODEN output
+%%%
+%%% -D_ISBN for ISBN output
+%%%
+%%% -D_ISSN for ISSN output
+%%%
+%%% -D_LCCN for LCCN output
+%%%
+%%% -D_PRICE for price output,
+%%%
+%%% -D_BOOKPAGES for book, techreport, manual,
+%%% and thesis pages output.
+%%%
+%%% -D_URL to get World-Wide Web Uniform
+%%% Resource Locator (URL) output.
+%%%
+%%% -D_NUMERIC_SUFFIXES to get numeric
+%%% label suffixes -1, -2, ..., -26, instead of
+%%% letters a, b, ..., z, so as to correctly
+%%% handle alpha-style bibliographies with more
+%%% than 26 entries for a single author in one
+%%% year. Change letter suffix code to switch
+%%% to numeric suffixes if more than 26 letters
+%%% are used, so that no matter which scheme is
+%%% selected, correct output will always be
+%%% obtained.
+%%%
+%%% The CODEN, ISBN, ISSN, LCCN, PRICE, and URL
+%%% values are wrapped inside macros \showCODEN{}
+%%% etc. that the user can provide alternate
+%%% definitions of to change the formatting, or
+%%% to suppress their output altogether. That
+%%% way, output identical to that of the four
+%%% standard BibTeX style files can be obtained
+%%% with these extended files, if these macros
+%%% are defined to expand to empty strings.
+%%%
+%%% URL handling is slightly more complex,
+%%% because URLs can contain characters which TeX
+%%% must handle in verbatim mode in a typewriter
+%%% font, and such text cannot readily appear
+%%% inside nested macro arguments. Consequently,
+%%% URLs are formatted in the .bbl file like
+%%% this:
+%%% \ifshowURL {\showURL \path|...|} \fi
+%%% where \showURL takes no argument, and
+%%% normally expands to the 4-character string
+%%% URL<space>. The grouping braces ensure that
+%%% any font changes made by \showURL remain
+%%% localized. Vertical bar is chosen as the
+%%% verbatim path delimiter, because it cannot
+%%% appear in URLs. The other prohibited ISO
+%%% Latin 1 characters are the non-printing
+%%% control characters 0..31, plus those in the
+%%% range 128..255, plus the ten special
+%%% characters
+%%%
+%%% { } [ ] \ ^ ~ < > `
+%%%
+%%% See Internet RFC 1630 (June 1994) for more
+%%% details. (Backquote is not even mentioned
+%%% there.)
+%%%
+%%% As an example of font changes, in LaTeX 2e
+%%% you might define
+%%% \newcommand{\showURL}{URL
+%%% \let \oldtt = \tt
+%%% \renewcommand{\tt}{\oldtt \itshape}}
+%%% to get URLs set in a typewriter italic font.
+%%%
+%%% If desired, a sed script can be used to
+%%% eliminate non-essential comments (this
+%%% reduces the file size by 2/3); a command
+%%% filter step like
+%%% sed -e '/^%$/d' -e '/^%[^%].*$/d'
+%%% will accomplish that job.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+%%% Revision history (reverse time order):
+%%%
+%%% 2.03 [15-May-1996]
+%%% Add CODEN support, ISBN and ISSN output for Article entries,
+%%% and ISBN output for TechReport entries (yes, these sometimes
+%%% do have ISBNs).
+%%%
+%%% Add wrapper macros \showXYZ{} (XYZ = CODEN, ISBN, ISSN, LCCN,
+%%% PRICE, and URL) defined inside the thebibliography environment
+%%% to expand to XYZ (except for PRICE) and their arguments,
+%%% PROVIDED they are not already defined. That way, the user can
+%%% provide alternate definitions outside the thebibliography
+%%% environment, for example, to suppress particular ones, or
+%%% to alter the font used.
+%%%
+%%% Substantially revise leading comments to better document the
+%%% extensions.
+%%%
+%%% 2.02 [01-Apr-1996]
+%%% Add day keyword support with new code in format.date function.
+%%% Oren Patashnik will include this new keyword in standard styles
+%%% in BibTeX 1.0.
+%%%
+%%% Add new function collapse.pagerange, and use it to collapse
+%%% page ranges with identical initial and final numbers to a
+%%% single number, so that bibliography files can distinguish
+%%% between one-page documents, and documents missing final page
+%%% numbers.
+%%%
+%%% 2.01 [25-Oct-1994]
+%%% Add URL output support.
+%%%
+%%% 2.00 [12-Oct-1994]
+%%% Add support for pages in theses and manuals, treating them
+%%% like Book and InBook pages.
+%%%
+%%% Correct ISSN support: a typo caused output of ISBN instead of
+%%% ISSN.
+%%%
+%%% Wherever ISBNs are output, also output an ISSN, if one
+%%% exists, and vice versa. The reason is that some periodicals
+%%% (e.g. The X Resource, published by O'Reilly and Associates)
+%%% have both ISSN and ISBN numbers, and can be purchased either
+%%% as journal subscriptions, or as single volumes.
+%%%
+%%% For InProceedings and Proceedings output, issue a warning for
+%%% a missing publisher: even though that field is optional, a
+%%% bibliographic reference without it is incomplete.
+%%%
+%%% Remove harmless, but unneeded, single horizontal space before
+%%% price output added with version 1.03.
+%%%
+%%% Change Proceedings and InProceedings to treat address values
+%%% as publisher addresses, as they are with every other document
+%%% type, rather than as conference addresses, which belong in
+%%% the title field (that is how major libraries, including OCLC
+%%% and Library of Congress, with nearly 60M holdings, represent
+%%% them). The need for this change has been discussed with
+%%% BibTeX's author, Oren Patashnik, and there is a good
+%%% possibility that BibTeX 1.0 will contain the change
+%%% implemented here. This is an INCOMPATIBLE change that will
+%%% produce different .bbl file formatting. However, the TUG and
+%%% BibNet bibliography projects have consistently used address
+%%% to me publisher/organization/institution address, and so
+%%% already conform to the new practice.
+%%%
+%%% 1.05 [30-May-1994]
+%%% Add NUMERIC_SUFFIXES support.
+%%%
+%%% Change all preprocessor statements to put else and endif
+%%% labels inside C-style comments to conform to 1989 ISO/ANSI C
+%%% Standard.
+%%%
+%%% 1.04 [11-Nov-1993]
+%%% Add underscore prefix to new processor symbols to prevent
+%%% substitution in comments
+%%%
+%%% 1.03 [11-Oct-1993]
+%%% Add support for LCCN (Library of Congress Catalog Number)
+%%% and price fields, and make ISBN, ISSN, LCCN, and price
+%%% selectable by preprocessor conditionals.
+%%%
+%%% 1.02 [12-Sep-1991]
+%%% Merge in Barbara N. Beeton's suggestion for hyphen-less
+%%% line breaks around volume(number):page.
+%%%
+%%% 1.01 [10-Sep-1991]
+%%% Update file comment header and use Solovay checksum program.
+%%%
+%%% 1.00 [17-Oct-1990]
+%%% Original version merging hand-edits of is-xxx.bst files into
+%%% this master file, xbtxbst.doc.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% BibTeX `plain' family
+%% version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+%% Copyright (C) 1985, all rights reserved.
+%% Copying of this file is authorized only if either
+%% (1) you make absolutely no changes to your copy, including name, or
+%% (2) if you do make changes, you name it something other than
+%% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+%% This restriction helps ensure that all standard styles are identical.
+%% The file btxbst.doc has the documentation for this style.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+
+ coden
+
+ day
+ edition
+ editor
+ howpublished
+ institution
+
+ isbn
+
+
+ issn
+
+ journal
+ key
+
+ lccn
+
+ month
+ note
+ number
+ organization
+ pages
+
+ price
+
+ publisher
+ school
+ series
+ title
+ type
+
+ URL
+
+ volume
+ year
+ }
+ {}
+
+
+ { label extra.label sort.label }
+
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+
+STRINGS { b e new.pages original.t s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+
+FUNCTION {format.coden}
+{ coden empty$
+ { "" }
+ { new.block "\showCODEN{" coden * "}" *}
+ if$
+}
+
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { new.block "\showISBN{" isbn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { new.block "\showISSN{" issn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.lccn}
+{ lccn empty$
+ { "" }
+ { new.block "\showLCCN{" lccn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.price}
+{ price empty$
+ { "" }
+ { new.block "\showPRICE{" price * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { new.block "\ifshowURL {\showURL \path|" url * "|}\fi" *}
+ if$
+}
+
+
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+
+
+FUNCTION {collapse.pagerange}
+{ 't := % save input page range string
+ t 'original.t := % save original page range
+ "" 'b := % beginning page number
+ "" 'e := % ending page number
+ { t empty$ not } % while-loop Boolean condition
+ { % while-loop body
+ t #1 #2 substring$ "--" = % have we found the en-dash?
+ {
+ t #3 global.max$ substring$ 'e := % yes, save ending page number
+ "" 't := % and set t to empty string to terminate loop
+ }
+ {
+ b t #1 #1 substring$ * 'b := % no, just accumulate this character
+ t #2 global.max$ substring$ 't := % and set t to the remaining string
+ }
+ if$
+ }
+ while$ % on exit, t has ending page number string
+ e b = % are beginning and ending numbers the same?
+ { b } % yes, return the beginning page number string
+ { original.t } % no, return the original page number string
+ if$
+}
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ {
+ day empty$
+ { "" }
+ { "there's a day but no month or year in " cite$ * warning$ }
+ if$
+ }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ day empty$
+ { }
+ { " " * day * }
+ if$
+ }
+ if$
+ }
+ { month empty$
+ {
+ day empty$
+ { year }
+ { "there's a day and year but no month in " cite$ * warning$ }
+ if$
+ }
+ {
+ month " " *
+ day empty$
+ { }
+ { day * ", " * }
+ if$
+ year *
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { new.block pages " pp." * }
+ if$
+}
+
+
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ {
+ pages multi.page.check
+ { pages collapse.pagerange 'new.pages := }
+ { pages 'new.pages := }
+ if$
+ new.pages multi.page.check
+ { "pages" new.pages n.dashify tie.or.space.connect }
+ { "page" new.pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":\penalty0 " * pages collapse.pagerange n.dashify * }
+ if$
+ }
+ if$
+}
+
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.book.pages output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.book.pages output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher "publisher" output.check
+ format.date "year" output.check
+ }
+ { new.sentence
+ organization output
+ publisher "publisher" output.check
+ address output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {conference} { inproceedings }
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+
+ format.book.pages output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+
+ format.book.pages output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+
+ format.book.pages output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {periodical}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ title emphasize "title" output.check
+ format.vol.num.pages output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.sentence
+ publisher output
+ address output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher "publisher" output.check %%% <- new check for missing
+ format.date "year" output.check
+ }
+ { new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher "publisher" output.check
+ address output.nonnull
+ format.date "year" output.check
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+
+ format.isbn output % NB: TechReports occasionally have ISBNs
+
+
+ format.book.pages output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+
+ format.url output
+
+ fin.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+
+
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+
+
+
+
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+
+
+
+READ
+
+
+
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+
+
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+
+
+
+
+
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ *
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+
+SORT
+
+
+
+
+
+
+
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+
+ last.extra.num "z" chr.to.int$ >
+
+ % Generate -1, -2, ... suffixes
+ { "-" last.extra.num "a" chr.to.int$ - #1 + int.to.str$ * 'extra.label := }
+ % Generate a, b, ..., z suffixes
+ { last.extra.num int.to.chr$ 'extra.label := }
+ if$
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{
+
+ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+
+
+
+
+
+FUNCTION {begin.bib}
+
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+
+ "\ifx \showCODEN \undefined \def \showCODEN #1{CODEN #1} \fi" write$ newline$
+
+
+ "\ifx \showISBN \undefined \def \showISBN #1{ISBN #1} \fi" write$ newline$
+
+
+ "\ifx \showISSN \undefined \def \showISSN #1{ISSN #1} \fi" write$ newline$
+
+
+ "\ifx \showLCCN \undefined \def \showLCCN #1{LCCN #1} \fi" write$ newline$
+
+
+ "\ifx \showPRICE \undefined \def \showPRICE #1{#1} \fi" write$ newline$
+
+
+ "\ifx \showURL \undefined \def \showURL {URL } \fi" write$ newline$
+ "\ifx \path \undefined \input path.sty \fi" write$ newline$
+ "\ifx \ifshowURL \undefined" write$ newline$
+ " \newif \ifshowURL" write$ newline$
+ " \showURLtrue" write$ newline$
+ "\fi" write$ newline$
+
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+
+ITERATE {call.type$}
+
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/is-plain.bst b/Master/texmf-dist/bibtex/bst/beebe/is-plain.bst
new file mode 100644
index 00000000000..8e044f2cc60
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/is-plain.bst
@@ -0,0 +1,1835 @@
+%% =====================================================================
+%% WARNING: Do NOT edit this file. It was produced automatically by
+%% Nelson H. F. Beebe <beebe@plot79.math.utah.edu>
+%% from file://plot79.math.utah.edu/u/sy/beebe/tex/bib/merge/xbtxbst.doc
+%% on Wed May 15 10:36:06 MDT 1996.
+%% =====================================================================
+%%%=====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "2.03",
+%%% date = "15 May 1996",
+%%% time = "10:35:51 MDT",
+%%% filename = "is-plain.bst",
+%%% address = "Center for Scientific Computing
+%%% Department of Mathematics
+%%% University of Utah
+%%% Salt Lake City, UT 84112
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 581 4148",
+%%% URL = "http://www.math.utah.edu/~beebe",
+%%% checksum = "22091 1835 4654 37711",
+%%% email = "beebe@math.utah.edu (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "BibTeX, style, bibliography",
+%%% supported = "yes",
+%%% docstring = "This file is a modification of the standard
+%%% BibTeX btxbst.doc file, or is a .bst file
+%%% derived from that modification. It contains
+%%% optional added support for CODEN, ISBN, ISSN,
+%%% LCCN, and PRICE fields, extended PAGES
+%%% fields, the PERIODICAL entry, and extended
+%%% citation label suffixing.
+%%%
+%%% In addition, date formatting supports a day
+%%% keyword, so that bibliography entries can be
+%%% written with
+%%%
+%%% day = {23},
+%%% month = aug,
+%%%
+%%% instead of the language-dependent awkward
+%%% forms required by the standard styles
+%%%
+%%% month = {23~} # aug,
+%%% month = aug # {~23},
+%%%
+%%% These older forms are, of course, still
+%%% handled correctly.
+%%%
+%%% The UNIX C preprocessor can be used to
+%%% extract the standard styles, as follows:
+%%%
+%%% cpp -P -DPLAIN xbtxbst.doc >plain.bst
+%%% cpp -P -DUNSRT xbtxbst.doc >unsrt.bst
+%%% cpp -P -DALPHA xbtxbst.doc >alpha.bst
+%%% cpp -P -DABBRV xbtxbst.doc >abbrv.bst
+%%%
+%%% To obtain correct file header checksums, pipe
+%%% the output through the checksum program, e.g.
+%%%
+%%% cpp -P -DPLAIN xbtxbst.doc | checksum >plain.bst
+%%%
+%%% The accompanying UNIX Makefile automates this
+%%% job, and provides some extra leading comments
+%%% in the generated style files warning the user
+%%% not to modify them.
+%%%
+%%% Additional optional definitions are recognized
+%%% to provide extensions to the standard styles:
+%%%
+%%% -D_CODEN for CODEN output
+%%%
+%%% -D_ISBN for ISBN output
+%%%
+%%% -D_ISSN for ISSN output
+%%%
+%%% -D_LCCN for LCCN output
+%%%
+%%% -D_PRICE for price output,
+%%%
+%%% -D_BOOKPAGES for book, techreport, manual,
+%%% and thesis pages output.
+%%%
+%%% -D_URL to get World-Wide Web Uniform
+%%% Resource Locator (URL) output.
+%%%
+%%% -D_NUMERIC_SUFFIXES to get numeric
+%%% label suffixes -1, -2, ..., -26, instead of
+%%% letters a, b, ..., z, so as to correctly
+%%% handle alpha-style bibliographies with more
+%%% than 26 entries for a single author in one
+%%% year. Change letter suffix code to switch
+%%% to numeric suffixes if more than 26 letters
+%%% are used, so that no matter which scheme is
+%%% selected, correct output will always be
+%%% obtained.
+%%%
+%%% The CODEN, ISBN, ISSN, LCCN, PRICE, and URL
+%%% values are wrapped inside macros \showCODEN{}
+%%% etc. that the user can provide alternate
+%%% definitions of to change the formatting, or
+%%% to suppress their output altogether. That
+%%% way, output identical to that of the four
+%%% standard BibTeX style files can be obtained
+%%% with these extended files, if these macros
+%%% are defined to expand to empty strings.
+%%%
+%%% URL handling is slightly more complex,
+%%% because URLs can contain characters which TeX
+%%% must handle in verbatim mode in a typewriter
+%%% font, and such text cannot readily appear
+%%% inside nested macro arguments. Consequently,
+%%% URLs are formatted in the .bbl file like
+%%% this:
+%%% \ifshowURL {\showURL \path|...|} \fi
+%%% where \showURL takes no argument, and
+%%% normally expands to the 4-character string
+%%% URL<space>. The grouping braces ensure that
+%%% any font changes made by \showURL remain
+%%% localized. Vertical bar is chosen as the
+%%% verbatim path delimiter, because it cannot
+%%% appear in URLs. The other prohibited ISO
+%%% Latin 1 characters are the non-printing
+%%% control characters 0..31, plus those in the
+%%% range 128..255, plus the ten special
+%%% characters
+%%%
+%%% { } [ ] \ ^ ~ < > `
+%%%
+%%% See Internet RFC 1630 (June 1994) for more
+%%% details. (Backquote is not even mentioned
+%%% there.)
+%%%
+%%% As an example of font changes, in LaTeX 2e
+%%% you might define
+%%% \newcommand{\showURL}{URL
+%%% \let \oldtt = \tt
+%%% \renewcommand{\tt}{\oldtt \itshape}}
+%%% to get URLs set in a typewriter italic font.
+%%%
+%%% If desired, a sed script can be used to
+%%% eliminate non-essential comments (this
+%%% reduces the file size by 2/3); a command
+%%% filter step like
+%%% sed -e '/^%$/d' -e '/^%[^%].*$/d'
+%%% will accomplish that job.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+%%% Revision history (reverse time order):
+%%%
+%%% 2.03 [15-May-1996]
+%%% Add CODEN support, ISBN and ISSN output for Article entries,
+%%% and ISBN output for TechReport entries (yes, these sometimes
+%%% do have ISBNs).
+%%%
+%%% Add wrapper macros \showXYZ{} (XYZ = CODEN, ISBN, ISSN, LCCN,
+%%% PRICE, and URL) defined inside the thebibliography environment
+%%% to expand to XYZ (except for PRICE) and their arguments,
+%%% PROVIDED they are not already defined. That way, the user can
+%%% provide alternate definitions outside the thebibliography
+%%% environment, for example, to suppress particular ones, or
+%%% to alter the font used.
+%%%
+%%% Substantially revise leading comments to better document the
+%%% extensions.
+%%%
+%%% 2.02 [01-Apr-1996]
+%%% Add day keyword support with new code in format.date function.
+%%% Oren Patashnik will include this new keyword in standard styles
+%%% in BibTeX 1.0.
+%%%
+%%% Add new function collapse.pagerange, and use it to collapse
+%%% page ranges with identical initial and final numbers to a
+%%% single number, so that bibliography files can distinguish
+%%% between one-page documents, and documents missing final page
+%%% numbers.
+%%%
+%%% 2.01 [25-Oct-1994]
+%%% Add URL output support.
+%%%
+%%% 2.00 [12-Oct-1994]
+%%% Add support for pages in theses and manuals, treating them
+%%% like Book and InBook pages.
+%%%
+%%% Correct ISSN support: a typo caused output of ISBN instead of
+%%% ISSN.
+%%%
+%%% Wherever ISBNs are output, also output an ISSN, if one
+%%% exists, and vice versa. The reason is that some periodicals
+%%% (e.g. The X Resource, published by O'Reilly and Associates)
+%%% have both ISSN and ISBN numbers, and can be purchased either
+%%% as journal subscriptions, or as single volumes.
+%%%
+%%% For InProceedings and Proceedings output, issue a warning for
+%%% a missing publisher: even though that field is optional, a
+%%% bibliographic reference without it is incomplete.
+%%%
+%%% Remove harmless, but unneeded, single horizontal space before
+%%% price output added with version 1.03.
+%%%
+%%% Change Proceedings and InProceedings to treat address values
+%%% as publisher addresses, as they are with every other document
+%%% type, rather than as conference addresses, which belong in
+%%% the title field (that is how major libraries, including OCLC
+%%% and Library of Congress, with nearly 60M holdings, represent
+%%% them). The need for this change has been discussed with
+%%% BibTeX's author, Oren Patashnik, and there is a good
+%%% possibility that BibTeX 1.0 will contain the change
+%%% implemented here. This is an INCOMPATIBLE change that will
+%%% produce different .bbl file formatting. However, the TUG and
+%%% BibNet bibliography projects have consistently used address
+%%% to me publisher/organization/institution address, and so
+%%% already conform to the new practice.
+%%%
+%%% 1.05 [30-May-1994]
+%%% Add NUMERIC_SUFFIXES support.
+%%%
+%%% Change all preprocessor statements to put else and endif
+%%% labels inside C-style comments to conform to 1989 ISO/ANSI C
+%%% Standard.
+%%%
+%%% 1.04 [11-Nov-1993]
+%%% Add underscore prefix to new processor symbols to prevent
+%%% substitution in comments
+%%%
+%%% 1.03 [11-Oct-1993]
+%%% Add support for LCCN (Library of Congress Catalog Number)
+%%% and price fields, and make ISBN, ISSN, LCCN, and price
+%%% selectable by preprocessor conditionals.
+%%%
+%%% 1.02 [12-Sep-1991]
+%%% Merge in Barbara N. Beeton's suggestion for hyphen-less
+%%% line breaks around volume(number):page.
+%%%
+%%% 1.01 [10-Sep-1991]
+%%% Update file comment header and use Solovay checksum program.
+%%%
+%%% 1.00 [17-Oct-1990]
+%%% Original version merging hand-edits of is-xxx.bst files into
+%%% this master file, xbtxbst.doc.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% BibTeX `plain' family
+%% version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+%% Copyright (C) 1985, all rights reserved.
+%% Copying of this file is authorized only if either
+%% (1) you make absolutely no changes to your copy, including name, or
+%% (2) if you do make changes, you name it something other than
+%% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+%% This restriction helps ensure that all standard styles are identical.
+%% The file btxbst.doc has the documentation for this style.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+
+ coden
+
+ day
+ edition
+ editor
+ howpublished
+ institution
+
+ isbn
+
+
+ issn
+
+ journal
+ key
+
+ lccn
+
+ month
+ note
+ number
+ organization
+ pages
+
+ price
+
+ publisher
+ school
+ series
+ title
+ type
+
+ URL
+
+ volume
+ year
+ }
+ {}
+
+ { label }
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+
+STRINGS { b e new.pages original.t s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+
+FUNCTION {format.coden}
+{ coden empty$
+ { "" }
+ { new.block "\showCODEN{" coden * "}" *}
+ if$
+}
+
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { new.block "\showISBN{" isbn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { new.block "\showISSN{" issn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.lccn}
+{ lccn empty$
+ { "" }
+ { new.block "\showLCCN{" lccn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.price}
+{ price empty$
+ { "" }
+ { new.block "\showPRICE{" price * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { new.block "\ifshowURL {\showURL \path|" url * "|}\fi" *}
+ if$
+}
+
+
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+
+
+FUNCTION {collapse.pagerange}
+{ 't := % save input page range string
+ t 'original.t := % save original page range
+ "" 'b := % beginning page number
+ "" 'e := % ending page number
+ { t empty$ not } % while-loop Boolean condition
+ { % while-loop body
+ t #1 #2 substring$ "--" = % have we found the en-dash?
+ {
+ t #3 global.max$ substring$ 'e := % yes, save ending page number
+ "" 't := % and set t to empty string to terminate loop
+ }
+ {
+ b t #1 #1 substring$ * 'b := % no, just accumulate this character
+ t #2 global.max$ substring$ 't := % and set t to the remaining string
+ }
+ if$
+ }
+ while$ % on exit, t has ending page number string
+ e b = % are beginning and ending numbers the same?
+ { b } % yes, return the beginning page number string
+ { original.t } % no, return the original page number string
+ if$
+}
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ {
+ day empty$
+ { "" }
+ { "there's a day but no month or year in " cite$ * warning$ }
+ if$
+ }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ day empty$
+ { }
+ { " " * day * }
+ if$
+ }
+ if$
+ }
+ { month empty$
+ {
+ day empty$
+ { year }
+ { "there's a day and year but no month in " cite$ * warning$ }
+ if$
+ }
+ {
+ month " " *
+ day empty$
+ { }
+ { day * ", " * }
+ if$
+ year *
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { new.block pages " pp." * }
+ if$
+}
+
+
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ {
+ pages multi.page.check
+ { pages collapse.pagerange 'new.pages := }
+ { pages 'new.pages := }
+ if$
+ new.pages multi.page.check
+ { "pages" new.pages n.dashify tie.or.space.connect }
+ { "page" new.pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":\penalty0 " * pages collapse.pagerange n.dashify * }
+ if$
+ }
+ if$
+}
+
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.book.pages output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.book.pages output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher "publisher" output.check
+ format.date "year" output.check
+ }
+ { new.sentence
+ organization output
+ publisher "publisher" output.check
+ address output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {conference} { inproceedings }
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+
+ format.book.pages output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+
+ format.book.pages output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+
+ format.book.pages output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {periodical}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ title emphasize "title" output.check
+ format.vol.num.pages output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.sentence
+ publisher output
+ address output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher "publisher" output.check %%% <- new check for missing
+ format.date "year" output.check
+ }
+ { new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher "publisher" output.check
+ address output.nonnull
+ format.date "year" output.check
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+
+ format.isbn output % NB: TechReports occasionally have ISBNs
+
+
+ format.book.pages output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+
+ format.url output
+
+ fin.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+
+
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+
+
+
+
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+
+
+
+READ
+
+
+
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+
+
+
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+
+{ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+
+SORT
+
+
+
+
+
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+
+
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+
+ "\ifx \showCODEN \undefined \def \showCODEN #1{CODEN #1} \fi" write$ newline$
+
+
+ "\ifx \showISBN \undefined \def \showISBN #1{ISBN #1} \fi" write$ newline$
+
+
+ "\ifx \showISSN \undefined \def \showISSN #1{ISSN #1} \fi" write$ newline$
+
+
+ "\ifx \showLCCN \undefined \def \showLCCN #1{LCCN #1} \fi" write$ newline$
+
+
+ "\ifx \showPRICE \undefined \def \showPRICE #1{#1} \fi" write$ newline$
+
+
+ "\ifx \showURL \undefined \def \showURL {URL } \fi" write$ newline$
+ "\ifx \path \undefined \input path.sty \fi" write$ newline$
+ "\ifx \ifshowURL \undefined" write$ newline$
+ " \newif \ifshowURL" write$ newline$
+ " \showURLtrue" write$ newline$
+ "\fi" write$ newline$
+
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+
+ITERATE {call.type$}
+
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/is-unsrt.bst b/Master/texmf-dist/bibtex/bst/beebe/is-unsrt.bst
new file mode 100644
index 00000000000..6d7b4dd5790
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/is-unsrt.bst
@@ -0,0 +1,1673 @@
+%% =====================================================================
+%% WARNING: Do NOT edit this file. It was produced automatically by
+%% Nelson H. F. Beebe <beebe@plot79.math.utah.edu>
+%% from file://plot79.math.utah.edu/u/sy/beebe/tex/bib/merge/xbtxbst.doc
+%% on Wed May 15 10:36:08 MDT 1996.
+%% =====================================================================
+%%%=====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Nelson H. F. Beebe",
+%%% version = "2.03",
+%%% date = "15 May 1996",
+%%% time = "10:35:51 MDT",
+%%% filename = "is-unsrt.bst",
+%%% address = "Center for Scientific Computing
+%%% Department of Mathematics
+%%% University of Utah
+%%% Salt Lake City, UT 84112
+%%% USA",
+%%% telephone = "+1 801 581 5254",
+%%% FAX = "+1 801 581 4148",
+%%% URL = "http://www.math.utah.edu/~beebe",
+%%% checksum = "64263 1673 4293 35112",
+%%% email = "beebe@math.utah.edu (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "BibTeX, style, bibliography",
+%%% supported = "yes",
+%%% docstring = "This file is a modification of the standard
+%%% BibTeX btxbst.doc file, or is a .bst file
+%%% derived from that modification. It contains
+%%% optional added support for CODEN, ISBN, ISSN,
+%%% LCCN, and PRICE fields, extended PAGES
+%%% fields, the PERIODICAL entry, and extended
+%%% citation label suffixing.
+%%%
+%%% In addition, date formatting supports a day
+%%% keyword, so that bibliography entries can be
+%%% written with
+%%%
+%%% day = {23},
+%%% month = aug,
+%%%
+%%% instead of the language-dependent awkward
+%%% forms required by the standard styles
+%%%
+%%% month = {23~} # aug,
+%%% month = aug # {~23},
+%%%
+%%% These older forms are, of course, still
+%%% handled correctly.
+%%%
+%%% The UNIX C preprocessor can be used to
+%%% extract the standard styles, as follows:
+%%%
+%%% cpp -P -DPLAIN xbtxbst.doc >plain.bst
+%%% cpp -P -DUNSRT xbtxbst.doc >unsrt.bst
+%%% cpp -P -DALPHA xbtxbst.doc >alpha.bst
+%%% cpp -P -DABBRV xbtxbst.doc >abbrv.bst
+%%%
+%%% To obtain correct file header checksums, pipe
+%%% the output through the checksum program, e.g.
+%%%
+%%% cpp -P -DPLAIN xbtxbst.doc | checksum >plain.bst
+%%%
+%%% The accompanying UNIX Makefile automates this
+%%% job, and provides some extra leading comments
+%%% in the generated style files warning the user
+%%% not to modify them.
+%%%
+%%% Additional optional definitions are recognized
+%%% to provide extensions to the standard styles:
+%%%
+%%% -D_CODEN for CODEN output
+%%%
+%%% -D_ISBN for ISBN output
+%%%
+%%% -D_ISSN for ISSN output
+%%%
+%%% -D_LCCN for LCCN output
+%%%
+%%% -D_PRICE for price output,
+%%%
+%%% -D_BOOKPAGES for book, techreport, manual,
+%%% and thesis pages output.
+%%%
+%%% -D_URL to get World-Wide Web Uniform
+%%% Resource Locator (URL) output.
+%%%
+%%% -D_NUMERIC_SUFFIXES to get numeric
+%%% label suffixes -1, -2, ..., -26, instead of
+%%% letters a, b, ..., z, so as to correctly
+%%% handle alpha-style bibliographies with more
+%%% than 26 entries for a single author in one
+%%% year. Change letter suffix code to switch
+%%% to numeric suffixes if more than 26 letters
+%%% are used, so that no matter which scheme is
+%%% selected, correct output will always be
+%%% obtained.
+%%%
+%%% The CODEN, ISBN, ISSN, LCCN, PRICE, and URL
+%%% values are wrapped inside macros \showCODEN{}
+%%% etc. that the user can provide alternate
+%%% definitions of to change the formatting, or
+%%% to suppress their output altogether. That
+%%% way, output identical to that of the four
+%%% standard BibTeX style files can be obtained
+%%% with these extended files, if these macros
+%%% are defined to expand to empty strings.
+%%%
+%%% URL handling is slightly more complex,
+%%% because URLs can contain characters which TeX
+%%% must handle in verbatim mode in a typewriter
+%%% font, and such text cannot readily appear
+%%% inside nested macro arguments. Consequently,
+%%% URLs are formatted in the .bbl file like
+%%% this:
+%%% \ifshowURL {\showURL \path|...|} \fi
+%%% where \showURL takes no argument, and
+%%% normally expands to the 4-character string
+%%% URL<space>. The grouping braces ensure that
+%%% any font changes made by \showURL remain
+%%% localized. Vertical bar is chosen as the
+%%% verbatim path delimiter, because it cannot
+%%% appear in URLs. The other prohibited ISO
+%%% Latin 1 characters are the non-printing
+%%% control characters 0..31, plus those in the
+%%% range 128..255, plus the ten special
+%%% characters
+%%%
+%%% { } [ ] \ ^ ~ < > `
+%%%
+%%% See Internet RFC 1630 (June 1994) for more
+%%% details. (Backquote is not even mentioned
+%%% there.)
+%%%
+%%% As an example of font changes, in LaTeX 2e
+%%% you might define
+%%% \newcommand{\showURL}{URL
+%%% \let \oldtt = \tt
+%%% \renewcommand{\tt}{\oldtt \itshape}}
+%%% to get URLs set in a typewriter italic font.
+%%%
+%%% If desired, a sed script can be used to
+%%% eliminate non-essential comments (this
+%%% reduces the file size by 2/3); a command
+%%% filter step like
+%%% sed -e '/^%$/d' -e '/^%[^%].*$/d'
+%%% will accomplish that job.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+%%% Revision history (reverse time order):
+%%%
+%%% 2.03 [15-May-1996]
+%%% Add CODEN support, ISBN and ISSN output for Article entries,
+%%% and ISBN output for TechReport entries (yes, these sometimes
+%%% do have ISBNs).
+%%%
+%%% Add wrapper macros \showXYZ{} (XYZ = CODEN, ISBN, ISSN, LCCN,
+%%% PRICE, and URL) defined inside the thebibliography environment
+%%% to expand to XYZ (except for PRICE) and their arguments,
+%%% PROVIDED they are not already defined. That way, the user can
+%%% provide alternate definitions outside the thebibliography
+%%% environment, for example, to suppress particular ones, or
+%%% to alter the font used.
+%%%
+%%% Substantially revise leading comments to better document the
+%%% extensions.
+%%%
+%%% 2.02 [01-Apr-1996]
+%%% Add day keyword support with new code in format.date function.
+%%% Oren Patashnik will include this new keyword in standard styles
+%%% in BibTeX 1.0.
+%%%
+%%% Add new function collapse.pagerange, and use it to collapse
+%%% page ranges with identical initial and final numbers to a
+%%% single number, so that bibliography files can distinguish
+%%% between one-page documents, and documents missing final page
+%%% numbers.
+%%%
+%%% 2.01 [25-Oct-1994]
+%%% Add URL output support.
+%%%
+%%% 2.00 [12-Oct-1994]
+%%% Add support for pages in theses and manuals, treating them
+%%% like Book and InBook pages.
+%%%
+%%% Correct ISSN support: a typo caused output of ISBN instead of
+%%% ISSN.
+%%%
+%%% Wherever ISBNs are output, also output an ISSN, if one
+%%% exists, and vice versa. The reason is that some periodicals
+%%% (e.g. The X Resource, published by O'Reilly and Associates)
+%%% have both ISSN and ISBN numbers, and can be purchased either
+%%% as journal subscriptions, or as single volumes.
+%%%
+%%% For InProceedings and Proceedings output, issue a warning for
+%%% a missing publisher: even though that field is optional, a
+%%% bibliographic reference without it is incomplete.
+%%%
+%%% Remove harmless, but unneeded, single horizontal space before
+%%% price output added with version 1.03.
+%%%
+%%% Change Proceedings and InProceedings to treat address values
+%%% as publisher addresses, as they are with every other document
+%%% type, rather than as conference addresses, which belong in
+%%% the title field (that is how major libraries, including OCLC
+%%% and Library of Congress, with nearly 60M holdings, represent
+%%% them). The need for this change has been discussed with
+%%% BibTeX's author, Oren Patashnik, and there is a good
+%%% possibility that BibTeX 1.0 will contain the change
+%%% implemented here. This is an INCOMPATIBLE change that will
+%%% produce different .bbl file formatting. However, the TUG and
+%%% BibNet bibliography projects have consistently used address
+%%% to me publisher/organization/institution address, and so
+%%% already conform to the new practice.
+%%%
+%%% 1.05 [30-May-1994]
+%%% Add NUMERIC_SUFFIXES support.
+%%%
+%%% Change all preprocessor statements to put else and endif
+%%% labels inside C-style comments to conform to 1989 ISO/ANSI C
+%%% Standard.
+%%%
+%%% 1.04 [11-Nov-1993]
+%%% Add underscore prefix to new processor symbols to prevent
+%%% substitution in comments
+%%%
+%%% 1.03 [11-Oct-1993]
+%%% Add support for LCCN (Library of Congress Catalog Number)
+%%% and price fields, and make ISBN, ISSN, LCCN, and price
+%%% selectable by preprocessor conditionals.
+%%%
+%%% 1.02 [12-Sep-1991]
+%%% Merge in Barbara N. Beeton's suggestion for hyphen-less
+%%% line breaks around volume(number):page.
+%%%
+%%% 1.01 [10-Sep-1991]
+%%% Update file comment header and use Solovay checksum program.
+%%%
+%%% 1.00 [17-Oct-1990]
+%%% Original version merging hand-edits of is-xxx.bst files into
+%%% this master file, xbtxbst.doc.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% BibTeX `plain' family
+%% version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+%% Copyright (C) 1985, all rights reserved.
+%% Copying of this file is authorized only if either
+%% (1) you make absolutely no changes to your copy, including name, or
+%% (2) if you do make changes, you name it something other than
+%% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+%% This restriction helps ensure that all standard styles are identical.
+%% The file btxbst.doc has the documentation for this style.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+
+ coden
+
+ day
+ edition
+ editor
+ howpublished
+ institution
+
+ isbn
+
+
+ issn
+
+ journal
+ key
+
+ lccn
+
+ month
+ note
+ number
+ organization
+ pages
+
+ price
+
+ publisher
+ school
+ series
+ title
+ type
+
+ URL
+
+ volume
+ year
+ }
+ {}
+
+ { label }
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+
+STRINGS { b e new.pages original.t s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+
+FUNCTION {format.coden}
+{ coden empty$
+ { "" }
+ { new.block "\showCODEN{" coden * "}" *}
+ if$
+}
+
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { new.block "\showISBN{" isbn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { new.block "\showISSN{" issn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.lccn}
+{ lccn empty$
+ { "" }
+ { new.block "\showLCCN{" lccn * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.price}
+{ price empty$
+ { "" }
+ { new.block "\showPRICE{" price * "}" *}
+ if$
+}
+
+
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { new.block "\ifshowURL {\showURL \path|" url * "|}\fi" *}
+ if$
+}
+
+
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+
+
+FUNCTION {collapse.pagerange}
+{ 't := % save input page range string
+ t 'original.t := % save original page range
+ "" 'b := % beginning page number
+ "" 'e := % ending page number
+ { t empty$ not } % while-loop Boolean condition
+ { % while-loop body
+ t #1 #2 substring$ "--" = % have we found the en-dash?
+ {
+ t #3 global.max$ substring$ 'e := % yes, save ending page number
+ "" 't := % and set t to empty string to terminate loop
+ }
+ {
+ b t #1 #1 substring$ * 'b := % no, just accumulate this character
+ t #2 global.max$ substring$ 't := % and set t to the remaining string
+ }
+ if$
+ }
+ while$ % on exit, t has ending page number string
+ e b = % are beginning and ending numbers the same?
+ { b } % yes, return the beginning page number string
+ { original.t } % no, return the original page number string
+ if$
+}
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ {
+ day empty$
+ { "" }
+ { "there's a day but no month or year in " cite$ * warning$ }
+ if$
+ }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ day empty$
+ { }
+ { " " * day * }
+ if$
+ }
+ if$
+ }
+ { month empty$
+ {
+ day empty$
+ { year }
+ { "there's a day and year but no month in " cite$ * warning$ }
+ if$
+ }
+ {
+ month " " *
+ day empty$
+ { }
+ { day * ", " * }
+ if$
+ year *
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { new.block pages " pp." * }
+ if$
+}
+
+
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ {
+ pages multi.page.check
+ { pages collapse.pagerange 'new.pages := }
+ { pages 'new.pages := }
+ if$
+ new.pages multi.page.check
+ { "pages" new.pages n.dashify tie.or.space.connect }
+ { "page" new.pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":\penalty0 " * pages collapse.pagerange n.dashify * }
+ if$
+ }
+ if$
+}
+
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.book.pages output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.book.pages output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher "publisher" output.check
+ format.date "year" output.check
+ }
+ { new.sentence
+ organization output
+ publisher "publisher" output.check
+ address output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {conference} { inproceedings }
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+
+ format.book.pages output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+
+ format.book.pages output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+
+ format.book.pages output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {periodical}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ title emphasize "title" output.check
+ format.vol.num.pages output
+ format.date output
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.sentence
+ publisher output
+ address output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher "publisher" output.check %%% <- new check for missing
+ format.date "year" output.check
+ }
+ { new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher "publisher" output.check
+ address output.nonnull
+ format.date "year" output.check
+ }
+ if$
+
+ format.coden output
+
+
+ format.isbn output
+
+
+ format.issn output
+
+
+ format.lccn output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+
+ format.isbn output % NB: TechReports occasionally have ISBNs
+
+
+ format.book.pages output
+
+
+ format.price output
+
+
+ format.url output
+
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+
+ format.url output
+
+ fin.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+
+
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+
+
+
+
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+
+
+
+READ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+
+
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+
+ "\ifx \showCODEN \undefined \def \showCODEN #1{CODEN #1} \fi" write$ newline$
+
+
+ "\ifx \showISBN \undefined \def \showISBN #1{ISBN #1} \fi" write$ newline$
+
+
+ "\ifx \showISSN \undefined \def \showISSN #1{ISSN #1} \fi" write$ newline$
+
+
+ "\ifx \showLCCN \undefined \def \showLCCN #1{LCCN #1} \fi" write$ newline$
+
+
+ "\ifx \showPRICE \undefined \def \showPRICE #1{#1} \fi" write$ newline$
+
+
+ "\ifx \showURL \undefined \def \showURL {URL } \fi" write$ newline$
+ "\ifx \path \undefined \input path.sty \fi" write$ newline$
+ "\ifx \ifshowURL \undefined" write$ newline$
+ " \newif \ifshowURL" write$ newline$
+ " \showURLtrue" write$ newline$
+ "\fi" write$ newline$
+
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+
+ITERATE {call.type$}
+
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/jas99.bst b/Master/texmf-dist/bibtex/bst/beebe/jas99.bst
new file mode 100644
index 00000000000..ca4a4dc1299
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/jas99.bst
@@ -0,0 +1,1336 @@
+% Attempted hack to create BibTeX `jas' style for BibTeX version 0.99c
+% Journal of Atmospheric Science, Journal of Applied Meteorology
+% Monthly Weather Review
+% by Mike Moran, Dept. of Atmospheric Science, Colorado State University
+% based on `newapa' style file. Changes are documented. March 9, 1990
+% Submitted 20-JUL-1993 by Piotr J. Flatau <pflatau@macao.ucsd.edu>
+% e-mail for Mike Moran: <mmoran@cid.aes.doe.ca>
+% ========================================================================
+%
+% BibTeX `newapa' style file for BibTeX version 0.99c, LaTeX version 2.09
+% Place it in a file called newapa.bst in the BibTeX search path.
+%(Placing it in the same directory as the LaTeX document should also work.)
+% Support for named citations is provided by named.sty
+
+% This version was made by modifying the master file made by
+% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX
+% style of Peter F. Patel-Schneider.
+
+% Copyright (C) 1985, all rights reserved.
+% Modifications Copyright 1989, 1990, Stephen N. Spencer
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than
+% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+% This restriction helps ensure that all standard styles are identical.
+
+% There are undoubtably bugs in this style. If you make bug fixes,
+% improvements, etc. please let me know. My e-mail address is:
+% spencer@heinlein.cgrg.ohio.state.edu
+%
+% Citation format: (author-last-name, year)
+% (author-last-name and author-last-name, year)
+% (author-last-name {\em et al.}, year)
+% (author-last-name)
+% (author-last-name and author-last-name)
+% (author-last-name {\em et al.})
+% (year)
+%
+% Reference list ordering: alphabetical by author or whatever passes
+% for author in the absence of one.
+%
+% This BibTeX style has support for abbreviated author lists and for
+% year-only citations. This is done by having the citations
+% actually look like
+%
+% \citeauthoryear{full-author-info}{abbrev-author-info}{year}
+%
+% The LaTeX style has to have the following (or similar)
+%
+% \let\@internalcite\cite
+% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite}
+% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite}
+% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite}
+% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite}
+% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite}
+%
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t u }
+
+%% Added this function March 9, 1990. Used in FUNCTION format.vol.num.pages
+FUNCTION {boldcize}
+{ 's :=
+ s "" =
+ { "" }
+ { "{\bf " s * "}" * }
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+%% Added this entire function based on JAS98.BST (March 10, 1990)
+FUNCTION {output.nonnull1}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { write$ %% This is only difference
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+%% Added this function based on JAS98.BST (March 10, 1990)
+FUNCTION {output.check1}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull1 %% Only difference
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+%% " (" year * extra.label * ") " *
+ ", " year * extra.label * ": " *
+%% March 9, 1990
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+%% Added this entire function based on JAS98.BST (March 10, 1990)
+FUNCTION {format.names.reverse1}
+{ 's :=
+ #1 'nameptr := % nameptr = 1 (name pointer variable);
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft := % namesleft = numnames (names left variable);
+ { namesleft #0 > }
+
+%% So long as "namesleft" is positive, execute following function
+ {
+%% s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % Set name format
+
+ nameptr #1 >
+%% ** Co-authors section
+ {
+ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := % Set name format
+ namesleft #1 >
+%% ** Not last author
+ { ", " * t * }
+%% ** Last author
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+%% ** First author section
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % Set name format
+ t
+ }
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+%% { author format.names }
+ { author format.names.reverse1 }
+%% March 10, 1990
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+%% { "pages" pages n.dashify tie.or.space.connect }
+%% { "page" pages tie.or.space.connect }
+ { pages n.dashify tie.or.space.connect }
+ { pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+%%{ volume field.or.null
+{volume field.or.null boldcize %% March 9, 1990
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+%% { ":" * pages n.dashify * }
+ { ", " * pages n.dashify * } %% March 9, 1990
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+%% { "In " format.editors * ", " * booktitle emphasize * }
+ { "In " booktitle emphasize * ", " * format.editors * }
+%% March 11, 1990
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In"
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.title "title" output.check
+ format.title "title" output.check1 %% March 10, 1990
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+%% format.btitle "title" output.check
+ format.btitle "title" output.check1 %% March 11, 1990
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ pages output %% March 11, 1990
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.title "title" output.check
+ format.title "title" output.check1 %% March 11, 1990
+ new.block
+ howpublished output
+ address output
+ pages output %% March 11, 1990
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+%% format.btitle "title" output.check
+ format.btitle "title" output.check1 %% March 11, 1990
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+%% format.chapter.pages "chapter and pages" output.check
+ pages output %% March 20, 1990
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.title "title" output.check
+ format.title "title" output.check1 %% March 11, 1990
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+%% format.chapter.pages output %% March 20, 1990
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ pages output %% March 20, 1990
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.title "title" output.check
+ format.title "title" output.check1 %% March 11, 1990
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+%% new.sentence %% March 17, 1990
+ organization output
+ publisher output
+ address output
+ pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.btitle "title" output.check
+ format.btitle "title" output.check1 %% March 11, 1990
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ pages output %% March 11, 1990
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.title "title" output.check
+ format.title "title" output.check1 %% March 11, 1990
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ pages output %% March 11, 1990
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ title howpublished new.block.checkb
+%% format.title output
+ format.title "title" output.check1 %% March 11, 1990
+ new.block
+ howpublished output
+ pages output %% March 11, 1990
+%% new.block %% March 17, 1990
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.btitle "title" output.check
+ format.btitle "title" output.check1 %% March 11, 1990
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ pages output %% March 11, 1990
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.btitle "title" output.check
+ format.btitle "title" output.check1 %% March 11, 1990
+ format.bvolume output
+ format.number.series output
+ address output
+ new.sentence
+ organization output
+ publisher output
+ pages output %% March 11, 1990
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.title "title" output.check
+ format.title "title" output.check1 %% March 11, 1990
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ pages output %% March 11, 1990
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+%% format.title "title" output.check
+ format.title "title" output.check1 %% March 11, 1990
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { fullptr numfull fullsleft }
+
+STRINGS { u1 u2 }
+
+%FUNCTION {my.full.label}
+%{
+% "foo" 'u :=
+% u
+%}
+
+FUNCTION {my.full.label}
+{
+% Initialize 'u1','u2','s'.
+ "" 'u1 :=
+ "" 'u2 :=
+ 's :=
+
+% Initialize 'fullptr','numfull','fullsleft'.
+ #1 'fullptr :=
+ s num.names$ 'numfull :=
+ numfull 'fullsleft :=
+
+% enter the while loop which generates the first-citation information.
+% while we have names left,
+% format the next name
+% if this is the next-to-last name, tack the ampersand on the end
+% else if this isn't the last name, tack the comma on the end.
+% concatenate the next name onto the first-citation string.
+% update the counters.
+
+ { fullsleft #0 > }
+ { s fullptr "{vv~}{ll}" format.name$ 'u1 :=
+ fullsleft #2 =
+ { u1 " \& " * 'u1 := }
+ { fullsleft #2 >
+ { u1 ", " * 'u1 := }
+ 'skip$
+ if$
+ }
+ if$
+ u2 u1 * 'u2 :=
+ fullptr #1 + 'fullptr :=
+ fullsleft #1 - 'fullsleft :=
+ }
+ while$
+
+% push 'u2' onto the stack -- our first-citation information.
+ u2
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "et~al. " * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ duplicate$
+
+ author my.full.label % generate the first-citation information.
+
+ "\protect\citeauthoryear{" swap$ * "}{" * swap$ * "}{" *
+ year field.or.null purify$ #-1 #4 substring$ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % added for newapa
+ 'sort.label := % added for newapa
+ sort.label % added for newapa
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % sort by label, sort.label, title --- for final label calculation
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title --- giving final bib. order.
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/jbact.bst b/Master/texmf-dist/bibtex/bst/beebe/jbact.bst
new file mode 100644
index 00000000000..b56b63fbe06
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/jbact.bst
@@ -0,0 +1,1490 @@
+% BibTex `jbact' bibliography style
+% version = 1.30 of jbact.bst 1992 June 29
+% Fix format.vol.num.pages to use field.or.null to
+% correctly handle case of missing volume.
+% [Nelson H. F. Beebe <beebe@plot79.math.utah.edu>]
+% version = 1.29 of jbact.bst 1992 April 21
+% from version = 1.21 of jmb.bst 1991 June 10
+
+% TO BE DONE in inproceedings:
+% 1. editors are not boldface
+% 2. need comma after title, not period
+% 3. don't rearrange editor names
+% 4. no comma after editors
+% (The trouble is that there is only one name function...)
+
+% This program must be used in conjunction with jbact.sty
+
+% Thomas Schneider
+% National Cancer Institute
+% Laboratory of Mathematical Biology
+% Frederick, Maryland 21702-1013
+% toms@ncifcrf.gov
+%
+% This file is available by anonymous ftp from ncifcrf.gov in pub/delila.
+%
+% TITLES can be turned on and off!
+% Just nocite the reference TitlesOn in the paper (i.e. \nocite{TitlesOn})
+% and have a bibliography article in your database with that cite key!
+% Without titles is Journal of Molecular Biology;
+% With titles is Journal of Theoretical Biology.
+%
+% WARNING: Since I use mostly article, book and inproceedings, these
+% are formatted pretty closely to the Journal of Theoretical Biology style
+% while other things are neglected. Also, I can't guarantee that the style
+% is exactly right.
+%
+% The following documentation is identical from the source of jmb.bst,
+% which was the apalike.bst taken from the Clarkson archive on 1989 June 19.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The program was further modified by Tom Schneider:
+%
+% 1989 June 19 (TDS) Renamed jmb.bst. Items that do not have years were
+% listed in the bibliography without identifiers. However, they
+% have identifiers in the text. The identifier was added.
+% Titles were removed :-(.
+
+% 1989 October 2 (TDS) Made labels in the paper use the & symbol rather
+% than `and', as required by JMB.
+% 1989 October 3 (TDS) Made et~al. be in italics.
+% Removed comma after journal name. (actually, all
+% mid sentence commas go!)
+% Made volume number be bold faced.
+% Converted colon (:) after volume number to a comma (,).
+% If a journal name does NOT end in a period, add
+% a comma after the name.
+% 1989 October 14 (TDS) Without a year the program used to sort on the
+% title. I made it sort on the cite$ if there is no year.
+% 1989 October 18 (TDS) If there is one reference without a year, put
+% an "a" at the end of its label, so that it comes out
+% as (Smith, a) in the text. in FUNCTION {forward.pass}
+% 1989 November 2 (TDS) Unpublished papers now give the title.
+% 1989 November 18 (TDS) TITLES can be turned on and off!
+% Just nocite the reference TitlesOn in the paper
+% and have a bibliography article in your database
+% with that cite key!
+% 1989 December 5 (TDS) I can't stand sorting to fall back on the
+% titles of the article - no control! So in function
+% bib.sort.order the default is now cite$.
+% 1990 November 14 (TDS) Changes to match JTB better:
+% Names in the bibliography are now connected
+% with "\&" instead of "and", since this fits JTB better.
+% "In" is now "In:".
+% "editors" and "editor" are now "eds" and "ed".
+% booktitle follows editors. editors in parenthesis.
+% pp. and p. instead of pages and page.
+% location followed by colon (:) and then publisher.
+
+% 1992 April 22 Changes to match J. Bact Proof
+% year is not in parens, ends with period.
+% the first name should be 'last name first',
+% but later ones should be the other way!
+% 'and' rather than &
+% journal name is not emphasized
+% author list is bold face, ends with period
+% comma after first author when there are two authors
+% changes to match J. Bact galley proof markings
+% expand journal titles where required by J. Bact!
+% no comma after title!
+
+ENTRY % declare variables that have a value for each entry on the list
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ docomma givetitles }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #0 'docomma := % if it is 0 then don't do commas, otherwise do them.
+}
+
+FUNCTION {init.toggle.switches}
+{% set switches for controlling the output!
+ #0 'givetitles := % if it is 0 then don't give titles, otherwise do them.
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+
+% % { ", " * write$ } % the comma here is responsible for every comma!
+% % % But JMB doesn't want commas, so away it goes!
+% { " " * write$ } % That does it!
+
+ { % doing a comma is controlled specifically in JMB using docomma
+ docomma #0 =
+ { " " * write$ }
+ { ", " * write$ }
+ if$
+ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { t "title" =
+ { pop$ } % jmb ignores titles and does not object if missing
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ if$
+ }
+ 'output.nonnull % block periods
+ % { pop$ } % don't do anything
+ if$
+}
+
+% t "title" =
+% { "zowie" warning$ }
+% { duplicate$ empty$
+% { pop$ "EmPtY " t * " in " * cite$ * warning$ }
+% 'output.nonnull
+% }
+% if$
+% if$
+%}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ {
+ "empty year in " cite$ ", using label: " extra.label * * * warning$
+ write$
+% " (" extra.label * ")" * % TDS no parens in jbact
+ " " extra.label * ". " * % period after year
+ mid.sentence 'output.state :=
+ }
+ { write$
+% " (" year * extra.label * ")" *
+ " " year * extra.label * % period after year TDS
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+%FUNCTION {output.bibitem}
+%{ newline$
+% "\bibitem[" write$
+% label write$
+% "]{" write$
+% cite$ write$
+% "}" write$
+% newline$
+% ""
+% before.all 'output.state :=
+%}
+
+% do numbers instead: TDS (taken from unsrt.bst
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+
+%"TRY WITH" s * warning$
+
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+
+%"TRY WITH" numnames * warning$ % this gives a warning
+% the problem is that num.names$ is 1, so the loop
+% doesn't work. Looks like names weren't counted somewhere!
+
+ "{\bf " % start bold face
+
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+% the first name should be 'last name first',
+% but later ones should be the other way!
+ nameptr #1 =
+ {s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := } % last name first
+ {s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := } % first name first
+ if$
+
+% nameptr #1 =
+% {"then bbl" t * warning$}
+% {"ELSE bbl" t * warning$}
+% if$
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+
+% if there are EXACTY two names, put a comma after the first one!
+ numnames #2 =
+ { "," * } % TDS
+ 'skip$
+ if$
+
+ t "others" =
+ { " {\em et~al.}" * }
+ { " and " * t * } % back to 'and' TDS
+% { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+
+ % if there is more than one name, then DON'T put a period
+ % at the end of the name list because it looks like Smith, J. K..
+ % otherwise put that period because the last name will end the list
+ % as in Helsberg, M. and R.~Eichenlaub.
+ numnames #1 >
+ {"." *}
+ 'skip$
+ if$
+
+ "} " * * % end bold face end whole thing with period
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+% { author format.names }
+
+% { "{\bf " author ".} " * * format.names } % make bold face, end with .
+% doing the above causes trouble!
+% NOTE: we can't put bf here since it messes up the formatting of names!
+
+ { author format.names } % make bold face, end with .
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+% editor num.names$ #1 >
+% { ", eds" * } % TDS
+% { ", ed" * } % TDS
+% if$
+ ", (ed.)," * % TDS
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { % decide whether to give the title or not
+ givetitles #1 =
+ { title "t" change.case$ } % produce the title
+ { title pop$ "" } % don't produce the title
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol." volume tie.or.space.connect % TDS vol, not volume
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+ { edition "l" change.case$ }
+ { edition "t" change.case$ }
+ if$
+% If the database has the word 'second' replace it with 2nd for J. Bact!
+ "second" =
+ { "2nd"}
+ {
+ if$
+ "third" =
+ { "3nd"}
+ { edition }
+ }
+
+ if$
+
+ " ed." *
+
+% output.state mid.sentence =
+% { edition "l" change.case$ " ed." * }
+% { edition "t" change.case$ " ed." * }
+% if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+% { "pp." pages n.dashify tie.or.space.connect } % TDS
+% for some crazy reason, J.Bact wants p instead of pp
+ { "p." pages n.dashify tie.or.space.connect } % TDS
+ { "p." pages tie.or.space.connect } % TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ "{\bf " volume field.or.null * "}" * % make volume bold face
+ number empty$
+ 'skip$
+ { " (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In: " emphasize booktitle * } % TDS
+ { "In: " emphasize format.editors " " * *
+ booktitle * ", " *
+ } % TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In:" % this is for apalike % TDS
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In: " % TDS
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In:" % this is for apalike % TDS
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{
+ cite$ "TitlesOn" =
+ 'skip$ % Don't write out an article of this kind, it's a toggle switch!
+ {
+ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% zzzz
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { % figure out the last character of the journal name.
+ % "<<" journal #-1 #1 substring$ ">>" * * % for testing
+ % "<" journal ">" * * % this works ok % for testing
+
+ % from here on the string t will carry the journal title
+ journal 't :=
+
+ % expand journal titles where required by J. Bact! TDS
+ t "Nucl. Acids Res." =
+ { "Nucleic Acids Res." 't := }
+ 'skip$
+ if$
+
+ t "J. Bact." =
+ { "J. Bacteriol." 't := }
+ 'skip$
+ if$
+
+ t "Bell System Tech. J." =
+ { "Bell Syst. Tech. J." 't := }
+ 'skip$
+ if$
+
+ t "Molec. Microb." =
+ { "Molec. Microbiol." 't := }
+ 'skip$
+ if$
+
+ % deal with periods at the ends of titles
+ t #-1 #1 substring$ "." =
+ { t } % journal ended in period so don't do anything
+ { t " " *} % NO COMMAS AFTER THE JOURNAL NAME IN J. BACT!
+% { t ", " *} % journal ended without period, so add comma
+ if$
+
+ %journal #-1 #1 substring$ "." =
+ %{ journal } % journal ended in period so don't do anything
+ %{ journal ", " *} % journal ended without period, so add comma
+ %if$
+
+% emphasize "journal" output.check % TDS
+ "journal" output.check % not emphasized any more
+
+% journal * emphasize "journal" output.check % the original method
+
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ }
+ if$
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ #1 'docomma := % TURN COMMAS ON FOR JMB
+ crossref missing$
+ {
+ format.bvolume output
+ new.block
+ format.number.series output
+ format.edition output
+ new.sentence
+ #0 'docomma := % no comma after address
+% publisher "publisher" % TDS
+% address output output.check % TDS
+ #1 'docomma := % comma back on
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+% format.edition output
+ new.block
+ note output
+ fin.entry
+ #0 'docomma := % TURN COMMAS OFF
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ #0 'docomma := % no comma after address
+ address ":" * output % TDS
+ publisher "publisher" output.check % TDS
+ #1 'docomma := % comma back on
+% publisher "publisher" output.check
+% address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% NOTE: they want a comma after the title, but that would mess
+% up the period after other titles.
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ {
+% #1 'docomma := % TURN COMMAS ON FOR JMB, BUT NOT FOR JTB: inconsistent
+
+ format.pages
+ pages empty$
+ { output }
+ { "." * output } % TDS toss in period
+ if$
+
+ format.in.ed.booktitle "booktitle" output.check
+ format.bvolume "." * output
+ format.number.series output
+
+% address output % TDS address is below for JTB
+% new.sentence % TDS remove period
+ organization output
+ #0 'docomma := % NO COMMA AFTER ADDRESS
+ publisher "," * output % TDS
+% publisher "publisher" output % TDS
+ address output % TDS
+ #1 'docomma := % comma back on
+
+% publisher output % are simpler
+ #0 'docomma := % TURN COMMAS OFF
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+
+% Since format.title is out of commission, the original method won't work:
+% format.title "title" output.check
+% so do the equivalent of the format.title procedure: (TDS)
+ title empty$
+ { "" }
+ { title "t" change.case$ } % produce the title
+ if$
+ "title" output.check
+
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+% ***********************************************************
+
+FUNCTION {check.for.titlecommand}
+% go through each entry and see if one of them has the key
+% 'TitlesOn'. If this is found, then do titles!
+% 1989 November 18 TDS
+{
+% "|" label "|" * * write$ newline$ % |Arrhenius {\em et~al.}, 1986|
+% "|" cite$ "|" * * write$ newline$ % |Arrhenius1986|
+% so cite$ is the thing I want to detect...
+
+ cite$ "TitlesOn" =
+ { % got it!
+% "FOUND TitlesOn" write$ newline$
+ "Titles Will Be Printed" warning$
+ #1 'givetitles := % give titles!
+ }
+ 'skip$
+ if$
+}
+EXECUTE {init.toggle.switches}
+ITERATE {check.for.titlecommand}
+% ***********************************************************
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.}" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.}" * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * } % TDS
+% well, back to 'and'!
+% { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ % note new use of & rather than `and'. TDS
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "{\em et al}" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+% pass through the references forward
+{
+%"\\ label=" label "//" * * write$ newline$ % display the label
+%"\\last.label=" last.label "//" * * write$ newline$ % display the label
+
+ last.label label = % if the label repeats the previous label...
+ { % then increment the extra number
+ last.extra.num #1 + 'last.extra.num :=
+ % and convert it to a label
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { % else set things up for the next entry
+ "a" chr.to.int$ 'last.extra.num :=
+
+ % However, if the year was missing, tack on an extra "a". TDS
+ year empty$
+ {"a" 'extra.label :=}
+ {"" 'extra.label :=}
+ if$
+
+% "" 'extra.label := % the original method was not to do anything TDS
+
+ label 'last.label := % capture this label for next time
+ }
+ if$
+%"\\extra.label = " extra.label "//" * * write$ newline$ % display the label
+}
+
+FUNCTION {reverse.pass}
+% pass through the references backwards
+% add extra characters to the end of the label string
+{
+%"{{" label "}}" * * write$ newline$ % display the label
+ next.extra "b" =
+% original logic:
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+
+% next.extra "b" = { "next.extra was = b" write$ newline$} 'skip$ if$
+
+% new as of 1989 Oct 18
+% { "a" 'extra.label := }
+% { % Put on an "a" at the end of the label if the year is missing. TDS
+% year empty$
+% { "a" 'extra.label := }
+% %{ label "a" * 'label := }
+% 'skip$ % otherwise leave it alone (orignial method)
+% if$ }
+% if$
+
+ label extra.label * 'label :=
+ extra.label 'next.extra :=
+%"{{" label "}}" * * write$ newline$ % display the label
+}
+
+FUNCTION {bib.sort.order}
+% Generate the sort.key$ variables for sorting.
+% The sorting is first on the sort.label (ie, author's name), followed
+% by the year then the title. If there is no year, the cite$ is used.
+{
+ sort.label % this is based on the author name
+ " " * % tack on some space
+% original apa command was to use the year or an empty string:
+% year field.or.null sortify
+%
+% Replace that with the use of the cite$, when there is no year:
+ year duplicate$ empty$
+ {pop$ cite$}
+ 'skip$
+ if$
+
+ * " " * % tack on some space
+
+% I CAN'T STAND SORTING ON TITLE!!! TDS 1989 Dec 5
+% title field.or.null
+% sort.format.title
+% * % attach them together
+ cite$
+ * % use cite$ instead!!
+
+ % note: if there is no year, then the cite$ will override the sorting
+ % on the title. Oh well. Title sorting is sorta (ha ha) awful.
+
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+
+ % The following line helps debug the program. It shows what the sort.key$ is.
+ % "%" sort.key$ * write$ newline$
+}
+
+% Here is the place that the actual executions of the labeling and sorting
+% functions are done.
+
+
+EXECUTE {initialize.extra.label.stuff} % initialize variables
+ITERATE {bib.sort.order} % set up the sorting keys
+SORT % by sort.label, year, title---giving final bibliography order
+% Having sorted NOW we apply the extra letters at the end!
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/jmb.bst b/Master/texmf-dist/bibtex/bst/beebe/jmb.bst
new file mode 100644
index 00000000000..5455f72645d
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/jmb.bst
@@ -0,0 +1,1368 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Tom Schneider",
+%%% version = "1.21",
+%%% date = "29 June 1992",
+%%% time = "17:30:33 MDT",
+%%% filename = "jmb.bst",
+%%% address = "National Cancer Institute
+%%% Laboratory of Mathematical Biology
+%%% Frederick, Maryland 21701-1013
+%%% USA",
+%%% checksum = "11681 1368 4735 33144",
+%%% email = "toms@ncifcrf.gov (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "molecular biology, BibTeX",
+%%% supported = "yes",
+%%% docstring = "This BibTeX bibliography style is for the
+%%% Journal of Molecular Biology and Journal of
+%%% Theoretical Biology. This file is available
+%%% by anonymous ftp from ncifcrf.gov in
+%%% pub/delila.
+%%%
+%%% TITLES can be turned on and off! Just nocite
+%%% the reference TitlesOn in the paper (i.e.
+%%% \nocite{TitlesOn}) and have a bibliography
+%%% article in your database with that cite key!
+%%% Without titles is Journal of Molecular
+%%% Biology; With titles is Journal of
+%%% Theoretical Biology.
+%%%
+%%% WARNING: Since I use mostly article, book and
+%%% inproceedings, these are formatted pretty
+%%% closely to the Journal of Theoretical Biology
+%%% style while other things are neglected.
+%%% Also, I can't guarantee that the style is
+%%% exactly right.
+%%%
+%%% The following documentation is identical from
+%%% the source of jmb.bst, which was the
+%%% apalike.bst taken from the Clarkson archive
+%%% on 1989 June 19.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+
+% BibTex `jmb' bibliography style
+% version = 1.21 of jmb.bst 1992 June 29
+% Fix format.vol.num.pages to use field.or.null to
+% correctly handle case of missing volume.
+% [Nelson H. F. Beebe <beebe@plot79.math.utah.edu>]
+% version = 1.20 of jmb.bst 1990 November 16
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The program was further modified by Tom Schneider:
+%
+% 1989 June 19 (TDS) Renamed jmb.bst. Items that do not have years were
+% listed in the bibliography without identifiers. However, they
+% have identifiers in the text. The identifier was added.
+% Titles were removed :-(.
+
+% 1989 October 2 (TDS) Made labels in the paper use the & symbol rather
+% than `and', as required by JMB.
+% 1989 October 3 (TDS) Made et~al. be in italics.
+% Removed comma after journal name. (actually, all
+% mid sentence commas go!)
+% Made volume number be bold faced.
+% Converted colon (:) after volume number to a comma (,).
+% If a journal name does NOT end in a period, add
+% a comma after the name.
+% 1989 October 14 (TDS) Without a year the program used to sort on the
+% title. I made it sort on the cite$ if there is no year.
+% 1989 October 18 (TDS) If there is one reference without a year, put
+% an "a" at the end of its label, so that it comes out
+% as (Smith, a) in the text. in FUNCTION {forward.pass}
+% 1989 November 2 (TDS) Unpublished papers now give the title.
+% 1989 November 18 (TDS) TITLES can be turned on and off!
+% Just nocite the reference TitlesOn in the paper
+% and have a bibliography article in your database
+% with that cite key!
+% 1989 December 5 (TDS) I can't stand sorting to fall back on the
+% titles of the article - no control! So in function
+% bib.sort.order the default is now cite$.
+% 1990 November 14 (TDS) Changes to match JTB better:
+% Names in the bibliography are now connected
+% with "\&" instead of "and", since this fits JTB better.
+% "In" is now "In:".
+% "editors" and "editor" are now "eds" and "ed".
+% booktitle follows editors. editors in parenthesis.
+% pp. and p. instead of pages and page.
+% location followed by colon (:) and then publisher.
+
+ENTRY % declare variables that have a value for each entry on the list
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ docomma givetitles }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #0 'docomma := % if it is 0 then don't do commas, otherwise do them.
+}
+
+FUNCTION {init.toggle.switches}
+{% set switches for controlling the output!
+ #0 'givetitles := % if it is 0 then don't give titles, otherwise do them.
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+
+% % { ", " * write$ } % the comma here is responsible for every comma!
+% % % But JMB doesn't want commas, so away it goes!
+% { " " * write$ } % That does it!
+
+ { % doing a comma is controlled specifically in JMB using docomma
+ docomma #0 =
+ { " " * write$ }
+ { ", " * write$ }
+ if$
+ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { t "title" =
+ { pop$ } % jmb ignores titles and does not object if missing
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ if$
+ }
+ 'output.nonnull % block periods
+ % { pop$ } % don't do anything
+ if$
+}
+
+% t "title" =
+% { "zowie" warning$ }
+% { duplicate$ empty$
+% { pop$ "EmPtY " t * " in " * cite$ * warning$ }
+% 'output.nonnull
+% }
+% if$
+% if$
+%}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ {
+ "empty year in " cite$ ", using label: " extra.label * * * warning$
+ write$
+ " (" extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " {\em et~al.}" * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds" * } % TDS
+ { ", ed" * } % TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { % decide whether to give the title or not
+ givetitles #1 =
+ { title "t" change.case$ } % produce the title
+ { title pop$ "" } % don't produce the title
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect } % TDS
+ { "p." pages tie.or.space.connect } % TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ "{\bf " volume field.or.null * "}" * % make volume bold face
+ number empty$
+ 'skip$
+ { " (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+% { ":" * pages n.dashify * } % no more colons after the volume
+ { ", " * pages n.dashify * } % comma's instead
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In: " booktitle emphasize * } % TDS
+ { "In: " booktitle emphasize * ", " *
+ "(" format.editors ")" * * * } % TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In:" % this is for apalike % TDS
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In: " % TDS
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In:" % this is for apalike % TDS
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{
+ cite$ "TitlesOn" =
+ 'skip$ % Don't write out an article of this kind, it's a toggle switch!
+ {
+ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { % figure out the last character of the journal name.
+ % "<<" journal #-1 #1 substring$ ">>" * * % for testing
+ % "<" journal ">" * * % this works ok % for testing
+
+ journal #-1 #1 substring$ "." =
+ { journal } % journal ended in period so don't do anything
+ { journal ", " *} % journal ended without period, so add comma
+ if$
+ emphasize "journal" output.check
+
+% journal * emphasize "journal" output.check % the original method
+
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ }
+ if$
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ #1 'docomma := % TURN COMMAS ON FOR JMB
+ crossref missing$
+ {
+ format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ #0 'docomma := % no comma after address
+ address ":" * output % TDS
+ publisher "publisher" output.check % TDS
+ #1 'docomma := % comma back on
+% publisher "publisher" output.check
+% address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+ #0 'docomma := % TURN COMMAS OFF
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ #0 'docomma := % no comma after address
+ address ":" * output % TDS
+ publisher "publisher" output.check % TDS
+ #1 'docomma := % comma back on
+% publisher "publisher" output.check
+% address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ {
+% #1 'docomma := % TURN COMMAS ON FOR JMB, BUT NOT FOR JTB: inconsistent
+ format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages "," * output % TDS toss in comma instead of period
+% address output % TDS address is below for JTB
+% new.sentence % TDS remove period
+ organization output
+ #0 'docomma := % NO COMMA AFTER ADDRESS
+ address ":" * output % TDS
+ publisher "publisher" output.check % TDS
+ #1 'docomma := % comma back on
+
+% publisher output % are simpler
+ #0 'docomma := % TURN COMMAS OFF
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+
+% Since format.title is out of commission, the original method won't work:
+% format.title "title" output.check
+% so do the equivalent of the format.title procedure: (TDS)
+ title empty$
+ { "" }
+ { title "t" change.case$ } % produce the title
+ if$
+ "title" output.check
+
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+% ***********************************************************
+
+FUNCTION {check.for.titlecommand}
+% go through each entry and see if one of them has the key
+% 'TitlesOn'. If this is found, then do titles!
+% 1989 November 18 TDS
+{
+% "|" label "|" * * write$ newline$ % |Arrhenius {\em et~al.}, 1986|
+% "|" cite$ "|" * * write$ newline$ % |Arrhenius1986|
+% so cite$ is the thing I want to detect...
+
+ cite$ "TitlesOn" =
+ { % got it!
+% "FOUND TitlesOn" write$ newline$
+ "Titles Will Be Printed" warning$
+ #1 'givetitles := % give titles!
+ }
+ 'skip$
+ if$
+}
+EXECUTE {init.toggle.switches}
+ITERATE {check.for.titlecommand}
+% ***********************************************************
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.}" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.}" * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ % note new use of & rather than `and'. TDS
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "{\em et al}" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+% pass through the references forward
+{
+%"\\ label=" label "//" * * write$ newline$ % display the label
+%"\\last.label=" last.label "//" * * write$ newline$ % display the label
+
+ last.label label = % if the label repeats the previous label...
+ { % then increment the extra number
+ last.extra.num #1 + 'last.extra.num :=
+ % and convert it to a label
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { % else set things up for the next entry
+ "a" chr.to.int$ 'last.extra.num :=
+
+ % However, if the year was missing, tack on an extra "a". TDS
+ year empty$
+ {"a" 'extra.label :=}
+ {"" 'extra.label :=}
+ if$
+
+% "" 'extra.label := % the original method was not to do anything TDS
+
+ label 'last.label := % capture this label for next time
+ }
+ if$
+%"\\extra.label = " extra.label "//" * * write$ newline$ % display the label
+}
+
+FUNCTION {reverse.pass}
+% pass through the references backwards
+% add extra characters to the end of the label string
+{
+%"{{" label "}}" * * write$ newline$ % display the label
+ next.extra "b" =
+% original logic:
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+
+% next.extra "b" = { "next.extra was = b" write$ newline$} 'skip$ if$
+
+% new as of 1989 Oct 18
+% { "a" 'extra.label := }
+% { % Put on an "a" at the end of the label if the year is missing. TDS
+% year empty$
+% { "a" 'extra.label := }
+% %{ label "a" * 'label := }
+% 'skip$ % otherwise leave it alone (orignial method)
+% if$ }
+% if$
+
+ label extra.label * 'label :=
+ extra.label 'next.extra :=
+%"{{" label "}}" * * write$ newline$ % display the label
+}
+
+FUNCTION {bib.sort.order}
+% Generate the sort.key$ variables for sorting.
+% The sorting is first on the sort.label (ie, author's name), followed
+% by the year then the title. If there is no year, the cite$ is used.
+{
+ sort.label % this is based on the author name
+ " " * % tack on some space
+% original apa command was to use the year or an empty string:
+% year field.or.null sortify
+%
+% Replace that with the use of the cite$, when there is no year:
+ year duplicate$ empty$
+ {pop$ cite$}
+ 'skip$
+ if$
+
+ * " " * % tack on some space
+
+% I CAN'T STAND SORTING ON TITLE!!! TDS 1989 Dec 5
+% title field.or.null
+% sort.format.title
+% * % attach them together
+ cite$
+ * % use cite$ instead!!
+
+ % note: if there is no year, then the cite$ will override the sorting
+ % on the title. Oh well. Title sorting is sorta (ha ha) awful.
+
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+
+ % The following line helps debug the program. It shows what the sort.key$ is.
+ % "%" sort.key$ * write$ newline$
+}
+
+% Here is the place that the actual executions of the labeling and sorting
+% functions are done.
+
+
+EXECUTE {initialize.extra.label.stuff} % initialize variables
+ITERATE {bib.sort.order} % set up the sorting keys
+SORT % by sort.label, year, title---giving final bibliography order
+% Having sorted NOW we apply the extra letters at the end!
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/jtb.bst b/Master/texmf-dist/bibtex/bst/beebe/jtb.bst
new file mode 100644
index 00000000000..20abbcc2f93
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/jtb.bst
@@ -0,0 +1,1202 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Alan Rogers",
+%%% version = "1.1",
+%%% date = "1990",
+%%% filename = "humanbio.bst",
+%%% address = "Dept of Anthropology, University of Utah,
+%%% Salt Lake City, UT 84112",
+%%% checksum = "29497 1202 3234 26025",
+%%% email = "rogers@anthro.utah.edu",
+%%% supported = "no",
+%%% docstring = "The file produces bibliographies more or
+%%% less in the format of the Journal of
+%%% Theoretical Biology. It was adapted from
+%%% Sake J. Hogeveen's `astron.bst'.
+%%%
+%%% Usage: \documentstyle[astron]{...}
+%%% ...
+%%% \bibliographystyle{jtb}
+%%% ...
+%%%
+%%% The \documentstyle command above invokes
+%%% Hogeveen's `astron.sty', which must be in
+%%% TeX's search path.
+%%%
+%%% The modifications implement `\cite*{}',
+%%% which generates references in short form.
+%%% For example, `Rogers \cite*{...}' would
+%%% produce `Rogers (1992)'."
+%%% }
+%%% ====================================================================
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Copyright (C) 1990 Sake J. Hogeveen.
+
+% This is ASTRON.BST, a BibTeX style for use with BibTeX version 0.99c.
+% ASTRON.BST has to be used in conjunction with the LaTeX style ASTRON.STY.
+% The use of both styles is documented in ASTDOC.TEX.
+
+% ASTRON.BST is an adaptation of APALIKE.BST by Oren Patashnik and Suzan King.
+
+% This style produces citations in the `author-year' format, which is widely
+% used among astronomical journals.
+% It supports two forms of citation: the \cite command produces: (Author, year)
+% in the text; the \cite* command only: (year) .
+
+% The long an short citation trickery is adapted from NAMED.BST by
+% Peter F. Patel-Schneider.
+
+% Copyright Notice:
+% The files ASTRON.BST, ASTRON.STY, ASTDOC.TEX, ASTDOC.BIB, EXAMPLE.TEX,
+% EXAMPLE.BIB, MNEMONIC.BIB, and TEMPLATE.BIB are a package.
+% You may copy and distribute them freely for non-commercial purposes,
+% provided that you keep the package together and this copyright notice
+% in tact.
+% You may not alter or modify the files; this helps to ensure that all
+% distributions of ASTRON.BST and related files are the same.
+% If you make any modifications, then you must give the files new names,
+% other than the present.
+% The author bears no responsibilities for errors in this document or
+% the software it describes; and shall not be held liable for any indirect,
+% incidental, or consequential damages.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { ", " * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { ", " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull.extra}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { ", " * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { ", " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.extra}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull.extra
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.extra}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.extra
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ") " *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.ed.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ {" (" * editor format.names
+ editor num.names$ #1 >
+ { " eds.)" * }
+ { " ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.extra}
+{ editor empty$
+ { "" }
+ {" (" * editor format.ed.names
+ editor num.names$ #1 >
+ { " eds.)" * }
+ { " ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {first.page.number}
+{ 't :=
+ ""
+ { t "" =
+ { #0 }
+ { t #1 #1 substring$ "-" = not }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "No." }
+ { "No." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.page}
+{ pages empty$
+ { "" }
+ { "p.~" pages first.page.number * }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { boldface ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.page}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { boldface ", " * pages first.page.number * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "Chapt." }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " booktitle emphasize * ". " * format.editors.extra * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check.extra
+ format.vol.num.page output.extra
+ }
+ { format.article.crossref output.nonnull
+ format.page output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ address ": " * publisher * output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ address ": " * publisher * output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.title "title" output.check
+% new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ address ": " * publisher * output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.title "title" output.check
+% new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ new.sentence % there's no year
+ organization output % here so things
+ address ": " * publisher * output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.title "title" output.check
+% new.block
+ "Master's thesis" emphasize format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.btitle "title" output.check
+% new.block
+ "Ph.D. thesis" emphasize format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ address ": " * institution * output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr,"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ "\protect\astroncite{" swap$ * "}{" % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ * % the mathing closing "}" comes in at the reverse.pass
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/jthcarsu.bst b/Master/texmf-dist/bibtex/bst/beebe/jthcarsu.bst
new file mode 100644
index 00000000000..2382d783934
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/jthcarsu.bst
@@ -0,0 +1,986 @@
+% This is the modification of the BibTeX standard
+% bibliography style `unsrt'
+%
+% It is named jthcarsu.bst, for the Journal of Thoracic and
+% Cardiovascular Surgery.
+%
+% The changes have been made on 8. January, 1995 by:
+%
+% Borut Gersak Tel: ++ 386 61 1334 162
+% Department of Cardiovascular Surgery Fax: ++ 386 61 1334 162
+% Medical Center Ljubljana Internet: borut.gersak@mf.uni-lj.si
+% Zaloska 7, 61000 Ljubjana
+% Slovenia, Europe
+% (University of Ljubljana)
+%
+% If somebody from the medical field has the same problems as I
+% (modifications of *.bst for different medical journals) please let us
+% join our forces together.
+%
+% Thanks to:
+%
+% Nelson H. F. Beebe Tel: +1 801 581 5254
+% Center for Scientific Computing FAX: +1 801 581 4148
+% Department of Mathematics, 105 JWB Internet: beebe@math.utah.edu
+% University of Utah
+% Salt Lake City, UT 84112, USA
+%
+% who gave me some valuable information about changing the styles for BibTex.
+%
+% The changes were made in the areas:
+% FUNCTION {article}
+% FUNCTION {format.date}
+% FUNCTION {output.nonnull}
+% If should be used for BibTex as follows:
+%
+%
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ {" " year * ";" * }
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.date "year" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/named.bst b/Master/texmf-dist/bibtex/bst/beebe/named.bst
new file mode 100644
index 00000000000..78b6bb6eb35
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/named.bst
@@ -0,0 +1,1287 @@
+%NAME: named.bst
+% BibTeX `named' style file for BibTeX version 0.99c, LaTeX version 2.09
+% Place it in a file called named.bst in the BibTeX search path. (Placing it
+% in the same directory as the LaTeX document should also work.)
+% Support for named citations is provided by named.sty
+
+% This version was made by modifying the master file made by
+% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU)
+
+% Copyright (C) 1985, all rights reserved.
+% Modifications Copyright 1988, Peter F. Patel-Schneider
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than
+% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+% This restriction helps ensure that all standard styles are identical.
+
+% There are undoubtably bugs in this style. If you make bug fixes,
+% improvements, etc. please let me know. My e-mail address is:
+% pfps@research.att.com
+
+% Citation format: [author-last-name, year]
+% [author-last-name and author-last-name, year]
+% [author-last-name {\em et al.}, year]
+%
+% Reference list ordering: alphabetical by author or whatever passes
+% for author in the absence of one.
+%
+% This BibTeX style has support for short (year only) citations. This
+% is done by having the citations actually look like
+% \citeauthoryear{author-info}{year}
+% The LaTeX style has to have the following (or similar)
+% \let\@internalcite\cite
+% \def\cite{\def\citeauthoryear##1##2{##1, ##2}\@internalcite}
+% \def\shortcite{\def\citeauthoryear##1{##2}\@internalcite}
+% \def\@biblabel#1{\def\citeauthoryear##1##2{##1, ##2}[#1]\hfill}
+% which makes \shortcite the macro for short citations.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \shortcite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \shortcite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \shortcite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+
+ numnames #1 =
+ { s #1 "{vv }{ll}" format.name$ }
+ { numnames #2 =
+ { s #1 "{vv }{ll }and " format.name$ s #2 "{vv }{ll}" format.name$ *
+ }
+ { s #1 "{vv }{ll }\bgroup \em et al.\egroup " format.name$ }
+ if$
+ }
+ if$
+
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+
+ "\protect\citeauthoryear{" swap$ * "}{" *
+ year field.or.null purify$ * % CHANGED - pfps - 15 Feb 1989
+ 'label :=
+ year field.or.null purify$ *
+
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ *
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label := % CHANGED - pfps 15 Feb 1989
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+
+ "\begin{thebibliography}{}" write$ newline$
+
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/namunsrt.bst b/Master/texmf-dist/bibtex/bst/beebe/namunsrt.bst
new file mode 100644
index 00000000000..8c04e10fbcf
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/namunsrt.bst
@@ -0,0 +1,949 @@
+% BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ nam
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ nam write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "NAM" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/nar.bst b/Master/texmf-dist/bibtex/bst/beebe/nar.bst
new file mode 100644
index 00000000000..e08fdd3be85
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/nar.bst
@@ -0,0 +1,1056 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Tom Schneider",
+%%% version = "3.04",
+%%% date = "10 Sep 1991",
+%%% filename = "nar.bst",
+%%% address = "National Cancer Institute
+%%% Laboratory of Mathematical Biology
+%%% Frederick, Maryland 21701-1013
+%%% USA",
+%%% checksum = "49904 1056 2955 21359",
+%%% email = "toms@ncifcrf.gov (Internet)",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "nucleic acid research",
+%%% supported = "yes",
+%%% docstring = "This BibTeX bibliography style is for the
+%%% journal Nucleic Acid Research. It was
+%%% adapted from the standard unsrt.bst style
+%%% file.
+%%%
+%%% The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility."
+%%% }
+%%% ====================================================================
+
+% new.bst
+% nar.bst was created by Tom Schneider from unsrt.bst
+% version = 3.04 of nar.bst 1990 May 23
+% Tom Schneider
+% National Cancer Institute
+% Laboratory of Mathematical Biology
+% Frederick, Maryland
+% toms@ncifcrf.gov
+
+% BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ doblank straightnames}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #0 'doblank := % put a blanks in output.nonnul if not zero
+ #0 'straightnames := % force names to be J. B. Smith if not zero
+ % otherwise they are Smith, J. B.
+}
+
+STRINGS { s t }
+
+FUNCTION {between}
+{ % what to do between output items TDS (AVOID COMMAS)
+ doblank #0 =
+ {" " * write$}
+ {write$}
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+% { ", " * write$ } % TDS NO COMMAS!!!
+ {
+ between
+ }
+
+ { output.state after.block =
+ {
+% add.period$ write$ % TDS NO PERIODS!
+ write$ % TDS NO PERIODS!
+ newline$
+% "\newblock " write$ % TDS NO NEWBLOCKS: makes for a cleaner file
+ }
+ { output.state before.all =
+ 'write$
+% { add.period$ " " * write$ } % TDS NO PERIODS!!!
+% { " " * write$ } % TDS NO PERIODS!!!
+ {between}
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+% the original format line: makes "J. D. Smith". TDS
+% s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := % TDS old formatting
+% the new format line: makes "Smith, J. D.". TDS
+% s nameptr "{vv}{ll}{, jj}{, f.}" format.name$ 't := % TDS new formatting
+% note, no ~ so that the format is straight for NAR.
+
+ straightnames #0 =
+ { s nameptr "{vv}{ll}{, jj}{, f.}" format.name$ 't := }% TDS
+ { s nameptr "{ff{ }}{vv}{ ll}{, jj}" format.name$ 't := }% TDS
+ if$
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+% { " et~al." * } % TDS
+ { " et al." * } % TDS no ~
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{
+ #1 'straightnames := % names go as J. B. Smith for editors
+ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", (ed.)" * }
+ { ", (ed.)" * }
+% { ", editors" * }
+% { ", editor" * }
+ if$
+ }
+ if$
+ #0 'straightnames := % names go as Smith, J. B. again
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+% 'year originally
+ {"(" year ")" * * } % TDS
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title %emphasize not for NAR! TDS
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+% { "volume" volume tie.or.space.connect % TDS
+ { "volume" "{\bf " volume "}, " * * tie.or.space.connect
+ % TDS add a comma and bold
+ series empty$
+ 'skip$
+ %{ " of " * series emphasize * } TDS
+ { " of " * series } % TDS book titles not emphasized for NAR
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { " " edition * "l" change.case$ " edition" * } % TDS add space before
+ { " " edition * "t" change.case$ " edition" * } % TDS add space before
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+% { "pages" pages n.dashify tie.or.space.connect } % TDS
+% { "page" pages tie.or.space.connect } % TDS
+ { "pp." pages n.dashify tie.or.space.connect } % TDS
+ { "p." pages tie.or.space.connect } % TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+%{ volume * field.or.null
+{ "{\bf " volume * field.or.null % TDS add boldface
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+% { ":" * pages n.dashify * } % TDS remove colon!
+ { "}, " * pages n.dashify * } % TDS replace colon with a comma
+ % TDS add a boldface
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ % add colon after "In"
+ %{ "In " booktitle emphasize * } % TDS
+ %{ "In " format.editors * ", " * booktitle emphasize *
+ { "In " booktitle *} % TDS no emphasis in nar!
+ { "In " format.editors * ", " * booktitle * % TDS no emphasis in nar!
+ ", " * } % TDS and tack on a comma
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * } % TDS
+ if$
+ }
+ { "In " key * } % TDS
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In " % TDS
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In " booktitle * } % TDS
+ if$
+ }
+ { "In " key * } % TDS
+ if$
+ }
+ { "In " format.crossref.editor * } % TDS
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check % TDS move date to here
+ new.block
+% format.title "title" output.check % TDS NO TITLES
+% new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+% format.date "year" output.check % TDS move date
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+
+ format.date "year" output.check % TDS new location
+ new.block
+ #1 'doblank := % remove blanks TDS
+ format.btitle "title" output.check
+ ", " output % give it a comma after the title TDS
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ ", " output % give it a comma after the publisher TDS
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+% format.date "year" output.check % TDS former location
+ new.block
+ note output
+ fin.entry
+ #0 'doblank := % blanks again TDS
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check % TDS
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+% format.date "year" output.check % TDS
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check % TDS
+ new.block
+% format.title "title" output.check % TDS NO TITLE
+% new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+% format.pages output % TDS pages go at the end
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ ": " output % TDS put a colon
+ publisher output
+% format.date "year" output.check
+ }
+ { address output.nonnull
+% format.date "year" output.check
+ new.sentence
+ #1 'doblank := % remove blanks
+ organization output
+ ": " output % TDS put a colon after the location
+%zzz
+ publisher output
+ ". " output % TDS put a period after the publisher
+ #0 'doblank := % put back blanks
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+% format.pages output % TDS pages go at the end
+ }
+ if$
+ new.block
+ note output
+ format.pages output % TDS pages go at the end
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/nature.bst b/Master/texmf-dist/bibtex/bst/beebe/nature.bst
new file mode 100644
index 00000000000..4d23240bdf9
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/nature.bst
@@ -0,0 +1,1012 @@
+% version = 1.05 of nature.bst 1992 June 29
+
+% 1.01 1991 July 3 last name first
+% bold face volume numbers
+% volume followed by comma, not colon
+% parenthesis around year
+% no comma after page numbers (not done yet!)
+% 1.02 1991 Aug 7 Titles removed in FUNCTION {format.title}.
+% (Should put \nocite{TitlesOn}
+% mechanism in from jmb.bst next)
+% 1.03 1991 Aug 29 in inproceedings, book title preceeds the editors!!
+% 1.04 1991 Aug 30 year at end of inproceedings
+% no 'pages' in inproceedings
+% when no comma, don't put space instead
+% 1.04 1992 Jun 29 Fix format.vol.num.pages to use field.or.null to
+% correctly handle case of missing volume.
+% [Nelson H. F. Beebe <beebe@plot79.math.utah.edu>]
+
+% from:
+% BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ docomma }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ #1 'docomma := % if it is 0 then don't do commas, otherwise do them.
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { % doing a comma is controlled specifically using docomma
+ docomma #0 =
+ { "" * write$ } % TDS nothing if no comma
+ { ", " * write$ }
+ if$
+ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+% { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := % TDS
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "" } % the zapped title
+% { title "t" change.case$ } % TDS NO TITLES
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+% 'year % TDS
+% { month " " * year * } % TDS
+ { " (" year * ")" * }
+ { " " month * " " * " (" year * ")" * * }
+%The preceding line was modified by Alan Rogers on 6/26/92. It used to
+%look like this: { month " " * " (" year * ")" * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+% { "pages" pages n.dashify tie.or.space.connect }
+% { "page" pages tie.or.space.connect }
+% no word in nature!
+ { "" pages n.dashify tie.or.space.connect }
+ { "" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ "{ \bf " volume field.or.null * "}" * % make volume bold face
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+% { ":" * pages n.dashify * } % TDS
+ { ", " * pages n.dashify * } % comma, not colon TDS
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+% { "In " format.editors * ", " * booktitle emphasize * }
+ { % book title preceeds the editors!! TDS
+ "In "
+ booktitle
+ ", "
+ *
+ emphasize
+ *
+ format.editors
+ *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ {
+ journal emphasize "journal" output.check
+ #0 'docomma := % TURN COMMAS OFF
+ format.vol.num.pages output % these now do their own comma!!
+ format.date "year" output.check
+ #1 'docomma := % TURN COMMAS ON
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ #0 'docomma := % TURN COMMAS OFF
+ format.date "year" output.check
+ #1 'docomma := % TURN COMMAS ON
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ #0 'docomma := % TURN COMMAS OFF
+ format.edition output
+ format.date "year" output.check
+ #1 'docomma := % TURN COMMAS ON
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ {
+% new.sentence
+ #0 'docomma := % TURN COMMAS OFF
+ " (" output.nonnull
+ organization output
+ publisher output
+ #1 'docomma := % TURN COMMAS ON
+ address output.nonnull
+% year is at the end TDS
+% format.date "year" output.check
+%zzz
+ year ")" * output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/newapa.bst b/Master/texmf-dist/bibtex/bst/beebe/newapa.bst
new file mode 100644
index 00000000000..2a0d1481397
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/newapa.bst
@@ -0,0 +1,1468 @@
+%$$$ newapa.bst $$$
+% BibTeX `newapa' style file for BibTeX version 0.99c, LaTeX version 2.09
+% Place it in a file called newapa.bst in the BibTeX search path.
+%(Placing it in the same directory as the LaTeX document should also work.)
+% Support for named citations is provided by named.sty
+
+% This version was made by modifying the master file made by
+% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX
+% style of Peter F. Patel-Schneider.
+
+% Copyright (C) 1985, all rights reserved.
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than 'newapa.bst'.
+% There are undoubtably bugs in this style. If you make bug fixes,
+% improvements, etc. please let me know. My e-mail address is:
+% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com
+%
+% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst',
+% with lots of tweaking to make it look like APA style, along with tips
+% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'.
+%
+% Citation format: (author-last-name, year)
+% (author-last-name and author-last-name, year)
+% (author-last-name {\em et al.}, year)
+% (author-last-name)
+% (author-last-name and author-last-name)
+% (author-last-name {\em et al.})
+% (year)
+%
+% Reference list ordering: alphabetical by author or whatever passes
+% for author in the absence of one.
+%
+% This BibTeX style has support for abbreviated author lists and for
+% year-only citations. This is done by having the citations
+% actually look like
+%
+% \citeauthoryear{full-author-info}{abbrev-author-info}{year}
+%
+% The LaTeX style has to have the following (or similar)
+%
+% \let\@internalcite\cite
+% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite}
+% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite}
+% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite}
+% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite}
+% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite}
+%
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t u }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {special.output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { ": " write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { ": " * write$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull.colon}
+{ 's :=
+ output.state mid.sentence =
+ { ": " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull.space}
+{ 's :=
+ output.state mid.sentence =
+ { "\ " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {special.output}
+{ duplicate$ empty$
+ 'pop$
+ 'special.output.nonnull
+ if$
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.colon}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.colon
+ if$
+}
+
+FUNCTION {output.check.space}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.space
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {underline}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\underline{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize.space}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+% { " and " * t * }
+% { ", \& " * t * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {format.names.fml}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+% { " and " * t * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors.fml}
+{ editor empty$
+ { "" }
+ { editor format.names.fml
+ editor num.names$ #1 >
+ { " (Eds.)" * }
+ { " (Ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (Eds.)" * }
+ { " (Ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.dot}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (Eds.)." * }
+ { " (Ed.)." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+% Note that the APA style requres case changes
+% in article titles. The following does not
+% change cases. If you perfer it, uncomment the
+% following and comment out the above.
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title }
+% if$
+%}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ edition empty$
+ { title emphasize }
+ { title empty$
+ { title emphasize }
+ { "{\em " title * "\/} (" * edition * " ed.)" * "." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.emphasize.booktitle}
+{ edition empty$
+ { booktitle emphasize }
+ { booktitle empty$
+ { booktitle emphasize }
+ { "{\em " booktitle * "\/} (" * edition * " ed.)" * "." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+% { "pages" pages n.dashify tie.or.space.connect }
+% { "page" pages tie.or.space.connect }
+ { "(pp.\" pages n.dashify tie.or.space.connect }
+ { "(pp.\" pages tie.or.space.connect }
+ if$
+ ")." *
+ }
+ if$
+}
+
+% By Young (and Spencer)
+FUNCTION {format.vol.num.pages}
+{ number empty$
+ { volume empty$
+ 'skip$
+ { "{\em " volume * "}" * }
+% { "\underline{" volume * "}" * }
+ if$
+ }
+ { volume emphasize.space
+ number empty$
+ {"there's a number but no volume in " cite$ * warning$ }
+ { "(" number * ")" * * }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages.incoll}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { " " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " format.emphasize.booktitle * }
+ { "In " format.editors * ", " * format.emphasize.booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle.incoll}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " format.emphasize.booktitle * }
+ { "In " format.editors.fml * ", " * format.emphasize.booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In"
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors.dot
+ "author and editor" output.check }
+ { format.authors
+ output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+% format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors.dot
+ "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages
+ "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ publisher
+ "publisher" output.check.colon
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+% format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle.incoll
+ "booktitle" output.check.colon
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages special.output
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+ }
+ { format.incoll.inproc.crossref
+ output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle
+ "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output
+ new.sentence
+ organization output
+ publisher output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ organization address new.block.checkb
+% Reversed the order of "address" and "organization", added the ":".
+ address output
+ organization "organization" output.check.colon
+% address output
+% ":" output
+% organization output
+% format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ title howpublished new.block.checkb
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors.dot output.nonnull }
+ if$
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ new.sentence
+ organization output
+ publisher output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution
+ "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {ai} {"Artificial Intelligence"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { fullptr numfull fullsleft }
+
+STRINGS { u1 u2 }
+
+FUNCTION {my.full.label}
+{
+% Initialize 'u1','u2','s'.
+ "" 'u1 :=
+ "" 'u2 :=
+ 's :=
+
+% Initialize 'fullptr','numfull','fullsleft'.
+ #1 'fullptr :=
+ s num.names$ 'numfull :=
+ numfull 'fullsleft :=
+
+% enter the while loop which generates the first-citation information.
+% while we have names left,
+% format the next name
+% if this is the next-to-last name, tack the ampersand on the end
+% else if this isn't the last name, tack the comma on the end.
+% concatenate the next name onto the first-citation string.
+% update the counters.
+
+ { fullsleft #0 > }
+ { s fullptr "{vv~}{ll}" format.name$ 'u1 :=
+ fullsleft #2 =
+ { u1 " \& " * 'u1 := }
+ { fullsleft #2 >
+ { u1 ", " * 'u1 := }
+ 'skip$
+ if$
+ }
+ if$
+ u2 u1 * 'u2 :=
+ fullptr #1 + 'fullptr :=
+ fullsleft #1 - 'fullsleft :=
+ }
+ while$
+
+% push 'u2' onto the stack -- our first-citation information.
+ u2
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "et~al. " * }
+% { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ duplicate$
+
+ author my.full.label % generate the first-citation information.
+
+ "\protect\citeauthoryear{" swap$ * "}{" * swap$ * "}{" *
+ year field.or.null purify$ #-1 #4 substring$ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % added for newapa
+ 'sort.label := % added for newapa
+ sort.label % added for newapa
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title --- for final label calculation
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title --- giving final bib. order.
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phaip.bst b/Master/texmf-dist/bibtex/bst/beebe/phaip.bst
new file mode 100644
index 00000000000..4c138d904be
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phaip.bst
@@ -0,0 +1,1885 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For American Institute of Physics Journals
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 0: an alphabetic label is used (if false then a numeric
+% label is used)
+% 0: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 1: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 0: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { "," * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ skip$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% The new.sentence.check functions are analogous.
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+INTEGERS { etal }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames #5 >
+ s numnames "{ll}" format.name$ "others" = numnames #1 > and
+ or 'etal :=
+ etal
+ { #1 #1 + 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { nameptr #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ etal or
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.edited}
+{ editor empty$
+ { "" }
+ { "edited by " editor format.names * }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+FUNCTION {format.date}
+{ year empty$
+ { "" }
+ 'year
+ if$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "page" pages first.page tie.or.space.connect }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ " " swap$ * *
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages.a }
+ { ", " * pages first.page * }
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.edited * }
+ if$
+ }
+ if$
+}
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { journal field.or.null
+ format.vol.num.pages
+ format.date empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.date paren }
+ { " " * format.date paren * }
+ if$
+ }
+ if$
+ output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+% Now comes the computation for numeric labels.
+% We use either the sorted order or original order.
+% We still have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phapalik.bst b/Master/texmf-dist/bibtex/bst/beebe/phapalik.bst
new file mode 100644
index 00000000000..84a0dda965e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phapalik.bst
@@ -0,0 +1,1943 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For American Psychological Association
+ % (same as ALPHA but with 0 set and 0 unset)
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 1: an alphabetic label is used (if false then a numeric
+% label is used)
+% 1: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 1: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 1: months are spelled out in full (if false, then
+% they're abbreviated)
+% 1: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+% month not used in apalike
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label extra.label sort.label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"January"}
+MACRO {feb} {"February"}
+MACRO {mar} {"March"}
+MACRO {apr} {"April"}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"August"}
+MACRO {sep} {"September"}
+MACRO {oct} {"October"}
+MACRO {nov} {"November"}
+MACRO {dec} {"December"}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ *
+ 'label :=
+}
+% It doesn't seem like a particularly good idea to use an order-of-citation
+% reference list when using alphabetic labels, but we need to have a
+% special pass to calculate labels when this happens.
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+% The sort.format.title function returns the argument,
+% but first any leading "A "'s, "An "'s, or "The "'s are removed.
+% The chop.word function uses s, so we need another string variable, t
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+% The auxiliary functions here, for the presort function, are analogous to
+% the ones for calc.label; the same comments apply, except that the
+% organization field takes precedence here over the key field. For sorting
+% purposes, we still remove a leading "The " from the organization field.
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {presort}
+% And now we can sort
+SORT % by label, sort.label, title---for final label calculation
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+INTEGERS { last.extra.num } % there are none in the bibliography
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ extra.label 'next.extra :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT % by sort.label, year, title---giving final bibliography order
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phcpc.bst b/Master/texmf-dist/bibtex/bst/beebe/phcpc.bst
new file mode 100644
index 00000000000..e313fe16af8
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phcpc.bst
@@ -0,0 +1,1885 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For Computer Physics Communications
+% same as AIP except for 0, 0
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 0: an alphabetic label is used (if false then a numeric
+% label is used)
+% 0: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 1: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 0: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { "," * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ skip$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% The new.sentence.check functions are analogous.
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+INTEGERS { etal }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames #5 >
+ s numnames "{ll}" format.name$ "others" = numnames #1 > and
+ or 'etal :=
+ etal
+ { #1 #1 + 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { nameptr #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ etal or
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.edited}
+{ editor empty$
+ { "" }
+ { "edited by " editor format.names * }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+FUNCTION {format.date}
+{ year empty$
+ { "" }
+ 'year
+ if$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "page" pages first.page tie.or.space.connect }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ " " swap$ * *
+ format.date empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.date paren }
+ { " " * format.date paren * }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages.a }
+ { " " * pages first.page *}
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.edited * }
+ if$
+ }
+ if$
+}
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { journal field.or.null
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+% Now comes the computation for numeric labels.
+% We use either the sorted order or original order.
+% We still have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phiaea.bst b/Master/texmf-dist/bibtex/bst/beebe/phiaea.bst
new file mode 100644
index 00000000000..90dbdedac18
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phiaea.bst
@@ -0,0 +1,1889 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For 1 Conferences
+% same as NF except for 0 and 0 set to 1
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 0: an alphabetic label is used (if false then a numeric
+% label is used)
+% 0: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 1: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 0: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { "," * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ skip$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% The new.sentence.check functions are analogous.
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+INTEGERS { etal }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ s numnames "{ll}" format.name$ "others" = numnames #1 > and
+ or 'etal :=
+ etal
+ { #1 #1 + 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ t "others" =
+ 'skip$
+ { t "u" change.case$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { nameptr #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ etal or
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.edited}
+{ editor empty$
+ { "" }
+ { "edited by " editor format.names * }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+FUNCTION {format.date}
+{ year empty$
+ { "" }
+ 'year
+ if$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "page" pages first.page tie.or.space.connect }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ " " swap$ * *
+ format.date empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.date paren }
+ { " " * format.date paren * }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages.a }
+ { " " * pages first.page *}
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.edited * }
+ if$
+ }
+ if$
+}
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { journal field.or.null
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+% Now comes the computation for numeric labels.
+% We use either the sorted order or original order.
+% We still have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phjcp.bst b/Master/texmf-dist/bibtex/bst/beebe/phjcp.bst
new file mode 100644
index 00000000000..f3f804a6c7e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phjcp.bst
@@ -0,0 +1,1888 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For Journal of Computational Physics
+ % Cris Barnes and Dave Mikkelson, 9/25/89
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 0: an alphabetic label is used (if false then a numeric
+% label is used)
+% 0: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 0: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 0: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { "," * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ skip$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% The new.sentence.check functions are analogous.
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {caps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ t "others" =
+ 'skip$
+ { t caps 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.edited}
+{ editor empty$
+ { "" }
+ { "edited by " editor format.names * }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ 'title
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+FUNCTION {format.date}
+{ year empty$
+ { "" }
+ 'year
+ if$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "p." pages first.page tie.or.space.connect }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ " " swap$ * *
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages.a }
+ { ", " * pages first.page * }
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.edited * }
+ if$
+ }
+ if$
+}
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$ caps
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ caps * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { journal emphasize
+ format.vol.num.pages
+ format.date empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.date paren }
+ { " " * format.date paren * }
+ if$
+ }
+ if$
+ output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+% Now comes the computation for numeric labels.
+% We use either the sorted order or original order.
+% We still have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phnf.bst b/Master/texmf-dist/bibtex/bst/beebe/phnf.bst
new file mode 100644
index 00000000000..7c833bb8252
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phnf.bst
@@ -0,0 +1,1890 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For Nuclear Fusion
+ % see Nuclear Fusion Vol. 28, No. 2 (1988),
+ % "Announcement [of] Guidelines for Bibliographical Citations"
+% same as AIP except for 0, 0, 0 and
+% 0 and 0 set to use only three names if there are
+% 6 or more. Also, no 0, and use 0 and 0.
+% There are still some nits to be picked (years in parentheses for
+% other than journals, volumes having Vol. before them and pages not
+% having p.)
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 0: an alphabetic label is used (if false then a numeric
+% label is used)
+% 0: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 1: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 0: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { "," * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ skip$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% The new.sentence.check functions are analogous.
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+INTEGERS { etal }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames #5 >
+ s numnames "{ll}" format.name$ "others" = numnames #3 > and
+ or 'etal :=
+ etal
+ { #3 #1 + 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ t "others" =
+ 'skip$
+ { t "u" change.case$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { nameptr #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ etal or
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+FUNCTION {format.date}
+{ year empty$
+ { "" }
+ 'year
+ if$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "p." pages first.page tie.or.space.connect }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ " " swap$ * *
+ format.date empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.date paren }
+ { " " * format.date paren * }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages.a }
+ { " " * pages first.page *}
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { journal field.or.null
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+% Now comes the computation for numeric labels.
+% We use either the sorted order or original order.
+% We still have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phnflet.bst b/Master/texmf-dist/bibtex/bst/beebe/phnflet.bst
new file mode 100644
index 00000000000..4c7fc077908
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phnflet.bst
@@ -0,0 +1,1883 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For Nuclear Fusion Letters
+% same as NF except for 0 and 0 set to 5
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 0: an alphabetic label is used (if false then a numeric
+% label is used)
+% 0: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 1: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 0: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { "," * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ skip$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% The new.sentence.check functions are analogous.
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+INTEGERS { etal }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames #5 >
+ s numnames "{ll}" format.name$ "others" = numnames #5 > and
+ or 'etal :=
+ etal
+ { #5 #1 + 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ t "others" =
+ 'skip$
+ { t "u" change.case$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { nameptr #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ etal or
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+FUNCTION {format.date}
+{ year empty$
+ { "" }
+ 'year
+ if$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "p." pages first.page tie.or.space.connect }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ " " swap$ * *
+ format.date empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.date paren }
+ { " " * format.date paren * }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages.a }
+ { " " * pages first.page *}
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { journal field.or.null
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+% Now comes the computation for numeric labels.
+% We use either the sorted order or original order.
+% We still have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phpf.bst b/Master/texmf-dist/bibtex/bst/beebe/phpf.bst
new file mode 100644
index 00000000000..a55d62d9e35
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phpf.bst
@@ -0,0 +1,1877 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For Physics of Fluids, which now wants ALL the authors
+ % (Same as AIP but infinite names, abbreviate pages, and
+ % alternate incollection)
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 0: an alphabetic label is used (if false then a numeric
+% label is used)
+% 0: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 1: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 0: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { "," * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ skip$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% The new.sentence.check functions are analogous.
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.edited}
+{ editor empty$
+ { "" }
+ { "edited by " editor format.names * }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+FUNCTION {format.date}
+{ year empty$
+ { "" }
+ 'year
+ if$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "p." pages first.page tie.or.space.connect }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ " " swap$ * *
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages.a }
+ { ", " * pages first.page * }
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.edited * }
+ if$
+ }
+ if$
+}
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { journal field.or.null
+ format.vol.num.pages
+ format.date empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.date paren }
+ { " " * format.date paren * }
+ if$
+ }
+ if$
+ output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+% Now comes the computation for numeric labels.
+% We use either the sorted order or original order.
+% We still have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phppcf.bst b/Master/texmf-dist/bibtex/bst/beebe/phppcf.bst
new file mode 100644
index 00000000000..2ca7056ef6e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phppcf.bst
@@ -0,0 +1,2009 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % A physics version of APALIKE
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 1: an alphabetic label is used (if false then a numeric
+% label is used)
+% 1: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 0: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 1: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+% month not used in apalike
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label extra.label sort.label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {caps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ t "others" =
+ 'skip$
+ { t caps 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " {\em et~al.}" * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ 'title
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ " " swap$ * *
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ crossref missing$
+ { journal emphasize
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"January"}
+MACRO {feb} {"February"}
+MACRO {mar} {"March"}
+MACRO {apr} {"April"}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"August"}
+MACRO {sep} {"September"}
+MACRO {oct} {"October"}
+MACRO {nov} {"November"}
+MACRO {dec} {"December"}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$ caps
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.}" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.}" * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ caps * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ *
+ 'label :=
+}
+% It doesn't seem like a particularly good idea to use an order-of-citation
+% reference list when using alphabetic labels, but we need to have a
+% special pass to calculate labels when this happens.
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+% The sort.format.title function returns the argument,
+% but first any leading "A "'s, "An "'s, or "The "'s are removed.
+% The chop.word function uses s, so we need another string variable, t
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+% The auxiliary functions here, for the presort function, are analogous to
+% the ones for calc.label; the same comments apply, except that the
+% organization field takes precedence here over the key field. For sorting
+% purposes, we still remove a leading "The " from the organization field.
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {presort}
+% And now we can sort
+SORT % by label, sort.label, title---for final label calculation
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+INTEGERS { last.extra.num } % there are none in the bibliography
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ extra.label 'next.extra :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT % by sort.label, year, title---giving final bibliography order
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phreport.bst b/Master/texmf-dist/bibtex/bst/beebe/phreport.bst
new file mode 100644
index 00000000000..919ab181cb6
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phreport.bst
@@ -0,0 +1,1885 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create RMP-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For internal reports
+% same as AIP except for 0, 0, 0,
+% 0, 0, 0
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 0: an alphabetic label is used (if false then a numeric
+% label is used)
+% 0: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 0: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 0: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { "," * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ skip$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% The new.sentence.check functions are analogous.
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.edited}
+{ editor empty$
+ { "" }
+ { "edited by " editor format.names * }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ 'title
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ " " swap$ * *
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.edited * }
+ if$
+ }
+ if$
+}
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal field.or.null
+ format.vol.num.pages
+ format.date empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.date paren }
+ { " " * format.date paren * }
+ if$
+ }
+ if$
+ output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+% Now comes the computation for numeric labels.
+% We use either the sorted order or original order.
+% We still have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/phrmp.bst b/Master/texmf-dist/bibtex/bst/beebe/phrmp.bst
new file mode 100644
index 00000000000..b6dd3b0d620
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/phrmp.bst
@@ -0,0 +1,2150 @@
+% BibTeX styles for various physics journals (27-Feb-1990).
+% This file, physics.btx, is based on the file btxbst.doc.
+ % Please notify Charles Karney (Karney@Princeton.EDU)
+ % of any bugs, improvements, etc.
+% Run this file through cpp to get specific versions. I have written
+% a version of cpp within Emacs. To access it put
+% (autoload 'cpp "tex$bibtex:cpp" ; Use cpp for BibTeX styles
+% "C preprocessor"
+% t)
+% into your .emacs file. Read in this file with
+% emacs tex$bibtex:physics.btx
+% and run cpp with e.g.,
+% M-x cpp <ret> aip <ret>
+% Save the resulting file to tex$latex:aip.bst.
+% To accomodate the variations we need (in addition to the definitions below)
+% ATIT_SUPPRESS: do not include the titles of journal articles
+% NAME_INVERT: put the initials last
+% NAME_UPPER: convert names to all caps.
+% MONTH_SUPPRESS: do not include months in journal articles
+% PAREN_DATE: dates go in parens in journal articles
+% DATE_FIRST: dates go before page numbers
+% VOLUME_SPACE: volume set off with space (not colon)
+% NUM_SUPPRESS: do not include numbers in journal articles
+% BOLD_VOL: volume numbers in bold face in journal articles
+% BRACKET_NOTE: notes in brackets
+% PAGE_START_J: include only starting page for journal articles
+% PAGE_START_O: include only starting page for other entries
+% PAGE_ABBREV: abbreviate page to p. and pages to pp.
+% PHYSICS_JOUR: include abbreviations for Physics journals
+% COMMA_DELIMIT: use comma (instead of period) to divide a citation
+% NOTE_SUPPRESS: suppress the note
+% MAX_NAMES: max number of authors before using et al (0 = infinity)
+% MIN_NAMES: number of authors to list with et al.
+% EDIT_VAR: use "edited by ..." instead of "..., editors"
+% RMP_LABELS: create 1-style labels
+% KEY_CITE: use key as label
+% NAMED_REFS: use (Smith, 1988) style of citations
+% CSC_NAMES: names set in caps and small caps
+% JOUR_DEEMPH: don't emphasize journal name
+% ETAL_EMPH: emphasize et al.
+% ALT_INCOLL alternate ordering of fields in incollections
+% These are all boolean (0 or 1) except for MAX_NAMES and MIN_NAMES.
+% These need to satisfy 0 <= MIN_NAMES <= MAX_NAMES.
+% The rule here is that if all these are defined to be zero, we revert to
+% the standard styles. For that reason we initialize them all to 0.
+% These are the original macros
+ % For Reviews of Modern Physics,
+% except first name not inverted yet and order of fields not hacked
+% This is the start of btxbst.doc
+% BibTeX `plain' family
+ % version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% 1: an alphabetic label is used (if false then a numeric
+% label is used)
+% 1: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% 0: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% 1: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% 0: months are spelled out in full (if false, then
+% they're abbreviated)
+% 0: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+%# define PLAIN 1
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+ { label extra.label sort.label }
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+% the variables s and t are temporary string holders
+STRINGS { s t }
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { "," * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% This function finishes all entries.
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ skip$
+}
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% The new.sentence.check functions are analogous.
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {bracket}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "[" swap$ * "]" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.edited}
+{ editor empty$
+ { "" }
+ { "edited by " editor format.names * }
+ if$
+}
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+FUNCTION {format.btitle}
+{ title emphasize
+}
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+FUNCTION {format.pages.a}
+{ pages empty$
+ { "" }
+ { "p." pages first.page tie.or.space.connect }
+ if$
+}
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null embolden
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages.a }
+ { ":" * pages first.page * }
+ if$
+ }
+ if$
+}
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.edited * }
+ if$
+ }
+ if$
+}
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphazise.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In " journal * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ crossref missing$
+ { journal "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% For the conference entry type, see inproceedings.
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% The conference function is included for Scribe compatibility.
+FUNCTION {conference} { inproceedings }
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+FUNCTION {default.type} { misc }
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acta} {"Acta Inf."}
+MACRO {cacm} {"Commun. ACM"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmsj} {"IBM Syst.~J."}
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {jacm} {"J.~ACM"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {sicomp} {"SIAM J. Comput."}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tog} {"ACM Trans. Gr."}
+MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {tcs} {"Theoretical Comput. Sci."}
+%% /usr/local/lib/tex/bibtex/phyjfull.btx, Tue Jun 30 08:37:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@alfred.math.utah.edu>
+%% Change file names in leading comment
+% Journal Title Abbreviations from the Physical Review Style and Notation
+% Guide, July, 1983, in BAPS Vol. 28.
+% Selected by Cris Barnes and Charles Karney, March 1988
+% IMPORTANT!! Don't make changes to this file without making the
+% corresponding changes to
+% phyjabb.bib
+% phyjabb.btx
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics-JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {josa} {"Journal of the Optical Society of America"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Plasma Physics"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {pra} {"Physical Review A: General Physics"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {sjpp} {"Soviet Journal of Plasma Phys."}
+MACRO {spd} {"Soviet Physics-Doklady"}
+MACRO {sptp} {"Soviet Physics-Technical Physics"}
+MACRO {spu} {"Soviet Physics-Uspeki"}
+% Now we read in the .BIB entries.
+READ
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+INTEGERS { et.al.char.used }
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+EXECUTE {initialize.et.al.char.used}
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #2 >
+ { s #1 "{vv }{ll}" format.name$ " et~al." * }
+ { s #1 "{vv }{ll}" format.name$
+ s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv }{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ { s #1 "{vv }{ll}" format.name$ }
+ if$
+}
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #9 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #9 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ " " * year field.or.null purify$ #-1 #4 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+% It doesn't seem like a particularly good idea to use an order-of-citation
+% reference list when using alphabetic labels, but we need to have a
+% special pass to calculate labels when this happens.
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+% The sort.format.title function returns the argument,
+% but first any leading "A "'s, "An "'s, or "The "'s are removed.
+% The chop.word function uses s, so we need another string variable, t
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+% The auxiliary functions here, for the presort function, are analogous to
+% the ones for calc.label; the same comments apply, except that the
+% organization field takes precedence here over the key field. For sorting
+% purposes, we still remove a leading "The " from the organization field.
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+% There is a limit, entry.max$, on the length of an entry string variable
+% (which is what its sort.key$ is), so we take at most that many characters
+% of the constructed key, and hope there aren't many references that match
+% to that many characters!
+FUNCTION {presort}
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {presort}
+% And now we can sort
+SORT
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+STRINGS { longest.label last.sort.label next.extra }
+INTEGERS { longest.label.width last.extra.num }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+EXECUTE {initialize.longest.label}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+% Now we produce the output for all the entries
+ITERATE {call.type$}
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/plainyr.bst b/Master/texmf-dist/bibtex/bst/beebe/plainyr.bst
new file mode 100644
index 00000000000..f3afc319c2a
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/plainyr.bst
@@ -0,0 +1,1144 @@
+%% /usr/local/lib/tex/bibtex/plainyr.bst, Mon Jun 29 08:06:48 1992
+%% Edit by Nelson H. F. Beebe <beebe@plot79.math.utah.edu>
+%% I've called this posting plainyr instead of the author's datasort
+%% because the latter is uninformative.
+
+% Newsgroups: comp.text.tex
+% Path: math.utah.edu!hellgate.utah.edu!cs.utexas.edu!uunet!brunix!cs.brown.edu!mpp
+% From: mpp@cns.brown.edu (Michael P. Perrone)
+% Subject: Re: bibtex sorting by year
+% Message-ID: <1992Jun26.075302.21206@cs.brown.edu>
+% Sender: mpp@cs.brown.edu (Michael P. Perrone)
+% Organization: Center for Neural Science, Brown University
+% References: <1992Jun26.065942.20721@cs.brown.edu>
+% Date: Fri, 26 Jun 1992 07:53:02 GMT
+% Lines: 1128
+%
+% i figured out the bibtex problem.
+% the following bibstyle file will sort by year, author, title (in that order)
+% with the usual editor, organization (etc.) substitutions
+%
+% % ----- cut here -------------------------------
+%
+%-------------------------------------------------------------------------
+% DATASORT.BST --- created: 92.6.26 (Michael P. Perrone, Brown University)
+%
+% this is a simple hack of the plain.bst bibtex style file
+% which processes bibliography entries in chronological order
+% by year. within a year things are sort by author, title, etc.
+%
+% DISCLAIMER: if this doesn't work - sorry!
+%-------------------------------------------------------------------------
+%
+%
+% [MODIFIED] BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {year.sort}
+{ year empty$
+ { key empty$
+ { "to sort, need year or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { year sort.format.names }
+ if$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'year.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ author field.or.null
+ sort.format.names
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/beebe/refer.bst b/Master/texmf-dist/bibtex/bst/beebe/refer.bst
new file mode 100644
index 00000000000..33498d9e167
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/refer.bst
@@ -0,0 +1,163 @@
+%
+% 8/4/'90
+%Ciaran McHale
+%Department of Computer Science, Trinity College, Dublin 2, Ireland.
+%Telephone: +353-1-772941 ext 1538 FAX: +353-1-772204 Telex: 93782 TCD EI
+%email: cjmchale@cs.tcd.ie or cjmchale%cs.tcd.ie@cunyvm.cuny.edu
+% Hacked together by Ciaran McHale (cjmchale@cs.tcd.ie) to translate
+% BibTeX bibliographies into refer format
+% Based on a bib style file by Kannan Varadhan
+%
+
+
+ENTRY
+ { % entry fields
+ abstract % non standard
+ address
+ annote % non standard
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ keywords % non standard
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {} % no integer entry variables
+ { label extra.label sort.label } % label entry variables
+
+
+STRINGS { s t a.name }
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {handle.names}
+{ 't := % type e.g. "A" for authors, "E" for editors
+ 's := % the string containing the names
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 'a.name :=
+
+ a.name "others" =
+ 'skip$ % don't print out "%A others"
+ { "%" t * " " * a.name * write$ newline$ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {handle.maybe.empty}
+{
+ 't :=
+ duplicate$
+ empty$
+ 'pop$
+ { "%" t * " " * swap$ * write$ newline$ }
+ if$
+}
+
+FUNCTION {translate}
+{
+ newline$ % get a blank line between each entry
+
+ title "T" handle.maybe.empty
+ booktitle "B" handle.maybe.empty
+
+ % there may be multiple authors so handle it differently
+ author empty$
+ { " empty author in " cite$ * warning$ }
+ { author "A" handle.names }
+ if$
+ editor "E" handle.maybe.empty
+ journal "J" handle.maybe.empty
+ keywords "K" handle.maybe.empty
+ cite$ "L" handle.maybe.empty
+ volume "V" handle.maybe.empty
+ abstract "X" handle.maybe.empty
+
+ % The date, if present may be just the year or both the month and year
+ % or might even be just the month
+ month empty$ year empty$ and
+ 'skip$ % no date of publication so nothing to do
+ {
+ month empty$ % I'm using the if statement because I'm not
+ { "" } % sure that--- month " " year * --- would work.
+ { month " " * } % (The manual doesn't mention anything about
+ if$ % this so I'm playing safe)
+ year empty$
+ { "" }
+ { year }
+ if$
+ *
+ "D" handle.maybe.empty
+ }
+ if$
+ pages "P" handle.maybe.empty
+ note "O" handle.maybe.empty
+ number "N" handle.maybe.empty
+ series "S" handle.maybe.empty
+ annote "Y" handle.maybe.empty
+ address "C" handle.maybe.empty
+
+}
+
+
+FUNCTION {article} { translate }
+FUNCTION {book} { translate }
+FUNCTION {booklet} { translate }
+FUNCTION {inbook} { translate }
+FUNCTION {incollection} { translate }
+FUNCTION {inproceedings} { translate }
+FUNCTION {manual} { translate }
+FUNCTION {mastersthesis} { translate }
+FUNCTION {misc} { translate }
+FUNCTION {phdthesis} { translate }
+FUNCTION {proceedings} { translate }
+FUNCTION {techreport} { translate }
+FUNCTION {unpublished} { translate }
+FUNCTION {default.type} { translate }
+
+
+READ
+
+ITERATE {call.type$}
+
diff --git a/Master/texmf-dist/bibtex/bst/beebe/xbtxbst.doc b/Master/texmf-dist/bibtex/bst/beebe/xbtxbst.doc
new file mode 100644
index 00000000000..05b733c0995
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/beebe/xbtxbst.doc
@@ -0,0 +1,2665 @@
+% /u/sy/beebe/tex/bib/merge/xbtxbst.doc, Thu Sep 12 10:19:13 1991
+% Edit by Nelson H. F. Beebe <beebe@magna.math.utah.edu>
+% /u/sy/beebe/tex/bib/merge/xbtxbst.doc, Wed Oct 17 08:27:24 1990
+% Edit by Nelson H.F. Beebe <beebe@sandy.math.utah.edu>
+
+% NB: Important convention: comment lines beginning with 2 (or
+% more) percents are to be preserved in the derived style
+% files. Comment lines beginning with only 1 percent can be
+% discarded (and are, if the derived files are produced with
+% the UNIX Makefile that accompanies this file.)
+
+%% =====================================================================
+%% @BibTeX-style-file{
+%% author = "Nelson H. F. Beebe",
+%% version = "1.02",
+%% date = "12 September 1991",
+%% filename = "xbtxbst.doc",
+%% address = "Center for Scientific Computing
+%% Department of Mathematics
+%% South Physics Building
+%% University of Utah
+%% Salt Lake City, UT 84112
+%% USA
+%% Tel: (801) 581-5254",
+%% checksum = "50938 2665 11236 78415",
+%% email = "beebe@math.utah.edu (Internet)",
+%% codetable = "ISO/ASCII",
+%% keywords = "BibTeX, style, bibliography",
+%% supported = "yes",
+%% docstring = "This file is a modification of the standard
+%% BibTeX btxbst.doc file, or is a .bst file
+%% derived from that modification. It contains
+%% added support for ISBN and ISSN fields, as
+%% well as for the PERIODICAL entry. The UNIX C
+%% preprocessor can be used to extract the
+%% extensions of the standard styles, as
+%% follows:
+%%
+%% cpp -P -DPLAIN xbtxbst.doc is-plain.txt
+%% cpp -P -DUNSRT xbtxbst.doc is-unsrt.txt
+%% cpp -P -DALPHA xbtxbst.doc is-alpha.txt
+%% cpp -P -DABBRV xbtxbst.doc is-abbrv.txt
+%%
+%% If desired, a sed script can be used to
+%% eliminate non-essential comments (this
+%% reduces the file size by 2/3); a command
+%% filter step like
+%% sed -e '/^%$/d' -e '/^%[^%].*$/d'
+%% will accomplish that job.
+%%
+%% The checksum field above contains a CRC-16
+%% checksum as the first value, followed by the
+%% equivalent of the standard UNIX wc (word
+%% count) utility output of lines, words, and
+%% characters. This is produced by Robert
+%% Solovay's checksum utility."
+%% }
+%% =====================================================================
+%% Revision history (reverse time order):
+%% 1.02 [12-Sep-1991]
+%% Merge in Barbara N. Beeton's suggestion for hyphen-less
+%% line breaks around volume(number):page.
+%% 1.01 [10-Sep-1991]
+%% Update file comment header and use Solovay checksum program.
+%% 1.00 [17-Oct-1990]
+%% Original version merging hand-edits of is-xxx.bst files into
+%% this master file, xbtxbst.doc.
+
+% In the following, only essential changes have been applied; the
+% documentation immediately below referring to the use of cpp on
+% btxbst.doc has not been altered. See the docstring entry above
+% for current information.
+
+%% BibTeX `plain' family
+%% version 0.99b for BibTeX versions 0.99a or later, LaTeX version 2.09.
+%% Copyright (C) 1985, all rights reserved.
+%% Copying of this file is authorized only if either
+%% (1) you make absolutely no changes to your copy, including name, or
+%% (2) if you do make changes, you name it something other than
+%% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+%% This restriction helps ensure that all standard styles are identical.
+%% The file btxbst.doc has the documentation for this style.
+%
+% Please notify Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) of any bugs in
+% these standard styles or in this documentation file.
+%
+% This is file btxbxt.doc; it helps document bibliography styles,
+% and is also a template file that you can use to make
+% several different style files, if you have access to a C preprocessor.
+% For example, the standard styles were made by doing something like
+% cpp -P -DPLAIN btxbst.doc plain.txt
+% cpp -P -DUNSRT btxbst.doc unsrt.txt
+% cpp -P -DALPHA btxbst.doc alpha.txt
+% cpp -P -DABBRV btxbst.doc abbrv.txt
+% and then renaming after removing unwanted comments and blank lines.
+% If you don't have access,
+% you can edit this file by hand to imitate the preprocessor,
+% with the following explanation of the C preprocessor constructs used here.
+%
+% The output of the preprocessor is the same as the input, except that certain
+% lines will be excluded (and some blank lines will be added). The sequence
+% #if VAR
+% lines to be included when VAR is not zero
+% #else
+% lines to be included when VAR is zero
+% #endif
+% (with the #-signs appearing in column 1) means that one set or the other of
+% the lines are to be included depending on the value of VAR.
+% The #else part is optional. Comments can be added after #else and #endif.
+% Variables can be set by
+% #define VAR value
+% and one can also use #ifdef VAR to see if VAR has any value, and #ifndef
+% to see if it has none.
+% Another #if form used in this file is #if !VAR, which includes the lines
+% after the #if only if VAR is zero.
+%
+% Convention: Use all uppercase identifiers for these preprocessor variables
+% so you can spot them easily
+%
+% The command line to the preprocessor should define one of PLAIN, UNSRT, ALPHA
+% or ABBRV (though PLAIN will be used by default if none is given),
+% and the following lines will set various boolean variables to control the
+% various lines that are chosen from the rest of the file.
+% Each boolean variable should be set true (1) or false (0) in each style.
+% Here are the current variables, and their meanings:
+% LAB_ALPH: an alphabetic label is used (if false then a numeric
+% label is used)
+% SORTED: the entries should be sorted by label (if nonnumeric)
+% and other info, like authors (if false, then
+% entries remain in order of occurrence)
+% NAME_FULL: the authors, editors, etc., get the full names as
+% given in the bibliography file (if false, the first
+% names become initials)
+% ATIT_LOWER: titles of non-"books" (e.g., articles) should be
+% converted to lower-case, except the first letter or
+% first letter after a colon
+% (if false then they appear as in the database)
+% MONTH_FULL: months are spelled out in full (if false, then
+% they're abbreviated)
+% JOUR_FULL: macro journal names are spelled out in full
+% (if false then they are abbreviated, currently
+% as they appear in ACM publications)
+#ifndef UNSRT
+# ifndef ALPHA
+# ifndef ABBRV
+# define PLAIN 1
+# endif
+# endif
+#endif
+#ifdef PLAIN
+% plain style (sorted numbers)
+# define LAB_ALPH 0
+# define SORTED 1
+# define NAME_FULL 1
+# define ATIT_LOWER 1
+# define MONTH_FULL 1
+# define JOUR_FULL 1
+#endif
+#ifdef UNSRT
+% unsrt style (unsorted numbers)
+# define LAB_ALPH 0
+# define SORTED 0
+# define NAME_FULL 1
+# define ATIT_LOWER 1
+# define MONTH_FULL 1
+# define JOUR_FULL 1
+#endif
+#ifdef ALPHA
+% alpha style (sorted short alphabetics)
+# define LAB_ALPH 1
+# define SORTED 1
+# define NAME_FULL 1
+# define ATIT_LOWER 1
+# define MONTH_FULL 1
+# define JOUR_FULL 1
+#endif
+#ifdef ABBRV
+% abbrv style (sorted numbers, with abbreviations)
+# define LAB_ALPH 0
+# define SORTED 1
+# define NAME_FULL 0
+# define ATIT_LOWER 1
+# define MONTH_FULL 0
+# define JOUR_FULL 0
+#endif
+%
+% Entry formatting: Similar to that recommended by Mary-Claire van Leunen
+% in "A Handbook for Scholars". Book-like titles are italicized
+% (emphasized) and non-book titles are converted to sentence
+% capitilization (and not enclosed in quotes).
+% This file outputs a \newblock between major blocks of an entry
+% (the name \newblock is analogous to the names \newline and \newpage)
+% so that the user can obtain an "open" format, which has a line break
+% before each block and lines after the first are indented within blocks,
+% by giving the optional \documentstyle argument `openbib';
+% The default is the "closed" format---blocks runs together.
+%
+% Citation alphabetic label format:
+% [Knu73] for single author (or editor or key)
+% [AHU83] (first letters of last names) for multiple authors
+%
+% Citation label numberic format:
+% [number]
+%
+% Reference list ordering for sorted, alphabetic lables:
+% alphabetical by citation label, then by author(s) or whatever
+% passes for author in the absence of one, then by year,
+% then title
+%
+% Reference list ordering for sorted, numeric lables:
+% alphabetical by author(s) or whatever passes
+% for author in the absence of one, then by year, then title
+%
+% Reference list ordering for unsorted:
+% by the order cited in the text
+%
+% History
+% 12/16/84 (HWT) Original `plain' version, by Howard Trickey.
+% 12/23/84 (LL) Some comments made by Leslie Lamport.
+% 2/16/85 (OP) Changes based on LL's comments, Oren Patashnik.
+% 2/17/85 (HWT) Template file and other standard styles made.
+% 3/28/85 (OP) First release, version 0.98b for BibTeX 0.98f.
+% 5/ 9/85 (OP) Version 0.98c for BibTeX 0.98i:
+% fixed Theoretical Computer Science macro name;
+% fixed the format.vol.num.pages function.
+% 1/24/88 (OP) Version 0.99a for BibTeX 0.99a, main changes:
+% assignment operator (:=) arguments reversed;
+% the preamble$ function outputs the database PREAMBLE;
+% entry.max$ and global.max$ (built-in) variables replace
+% entry.string.max and global.string.max functions;
+% alphabetizing by year then title, not just title;
+% many unnecessary ties removed; \it ==> \em;
+% the `alpha' style uses a superscripted `+' instead of a
+% `*' for unnamed names in constructing the label;
+% the `abbrv' style now uses "Mar." and "Sept.";
+% the functions calc.label and presort now look at just
+% the fields they're supposed to;
+% BOOKLET, MASTERSTHESIS, TECHREPORT use nonbook titles;
+% INBOOK and INCOLLECTION take an optional type (e.g.
+% type = "Section"), overriding the default "chapter";
+% BOOK, INBOOK, INCOLLECTION, and PROCEEDINGS now allow
+% either volume or number, not just volume;
+% INCOLLECTION now allows an edition and series field;
+% PROCEEDINGS and INPROCEEDINGS now use the address field
+% to tell where a conference was held;
+% INPROCEEDINGS and PROCEEDINGS now allow either volume
+% or number, and also a series field;
+% MASTERSTHESIS and PHDTHESIS accept types other than
+% "Master's thesis" and "PhD thesis";
+% UNPUBLISHED now outputs, in one block, note then date;
+% MANUAL now prints out the organization in
+% the first block if the author field is empty;
+% MISC can't be empty---it requires some optional field.
+% 3/23/88 (OP) Version 0.99b for BibTeX 0.99c---changed the three
+% erroneous occurrences of `cite ' to `cite$ '; this
+% change didn't affect the four standard styles, so the
+% 0.99a versions of those styles are still current.
+%
+% The ENTRY declaration
+% Like Scribe's (according to pages 231-2 of the April '84 edition),
+% but no fullauthor or editors fields because BibTeX does name handling.
+% The annote field is commented out here because this family doesn't
+% include an annotated bibliography style. And in addition to the fields
+% listed here, BibTeX has a built-in crossref field, explained later.
+
+ENTRY
+% Fields:
+ { address
+% Usually the address of a publisher or other type of organization.
+% Put information in this field only if it helps the reader find the
+% thing---for example you should omit the address of a major
+% publisher entirely. For a PROCEEDINGS or an INPROCEEDINGS,
+% however, it's the address of the conference; for those two entry
+% types, include the publisher's or organization's address, if
+% necessary, in the publisher or organization field.
+% annote
+% Long annotation---for annotated bibliographies (begins sentence).
+ author
+% Name(s) of author(s), in BibTeX name format.
+ booktitle
+% Book title when the thing being referenced isn't the whole book.
+% For book entries, the title field should be used instead.
+ chapter
+% Chapter (or section or whatever) number.
+ edition
+% Edition of a book---should be an ordinal (e.g., "Second").
+ editor
+% Name(s) of editor(s), in BibTeX name format.
+% If there is also an author field, then the editor field should be
+% for the book or collection that the work appears in.
+ howpublished
+% How something strange has been published (begins sentence).
+ institution
+% Sponsoring institution of a technical report.
+ isbn
+% ISBN book number (a 10-digit number with optional
+% embedded spaces or hyphens, where a `digit' is one of
+% 0123456789X).
+ issn
+% ISSN serial publication number (an 8-digit number with optional
+% embedded spaces or hyphens, where a `digit' is one of
+% 0123456789X).
+ journal
+% Journal name (macros are provided for many).
+ key
+% Alphabetizing, labeling, and cross-referencing key
+% (needed when an entry has no author or editor).
+ month
+% Month (macros are provided).
+ note
+% To help the reader find a reference (begins sentence).
+ number
+% Number of a journal or technical report, or of a work in a series.
+ organization
+% Organization sponsoring a conference (or publishing a manual); if
+% the editor (or author) is empty, and if the organization produces
+% an awkward label or cross reference, you should put appropriately
+% condensed organization information in the key field as well.
+ pages
+% Page number or numbers (use `--' to separate a range, use `+'
+% to indicate pages following that don't form a simple range).
+ publisher
+% Publisher name.
+ school
+% School name (for theses).
+ series
+% The name of a series or set of books.
+% An individual book will will also have it's own title.
+ title
+% The title of the thing you're referred to.
+ type
+% Type of a Techreport (e.g., "Research Note") to be used instead of
+% the default "Technical Report"; or, similarly, the type of a
+% thesis; or of a part of a book.
+ volume
+% The volume number of a journal or multivolume work.
+ year
+% The year should contain only numerals (technically, it should end
+% with four numerals, after purification; doesn't a begin sentence).
+ }
+% There are no integer entry variables
+ {}
+% These string entry variables are used to form the citation label.
+% In a storage pinch, sort.label can be easily computed on the fly.
+#if LAB_ALPH
+#if SORTED
+ { label extra.label sort.label }
+#else !SORTED
+% It doesn't seem like a good idea to use an order-of-citation
+% reference list when using alphabetic labels, but when this happens
+% we do things a little differently
+ { label }
+#endif SORTED
+#else !LAB_ALPH
+ { label }
+#endif LAB_ALPH
+
+% Each entry function starts by calling output.bibitem, to write the
+% \bibitem and its arguments to the .BBL file. Then the various fields
+% are formatted and printed by output or output.check. Those functions
+% handle the writing of separators (commas, periods, \newblock's),
+% taking care not to do so when they are passed a null string.
+% Finally, fin.entry is called to add the final period and finish the
+% entry.
+%
+% A bibliographic reference is formatted into a number of `blocks':
+% in the open format, a block begins on a new line and subsequent
+% lines of the block are indented. A block may contain more than
+% one sentence (well, not a grammatical sentence, but something to
+% be ended with a sentence ending period). The entry functions should
+% call new.block whenever a block other than the first is about to be
+% started. They should call new.sentence whenever a new sentence is
+% to be started. The output functions will ensure that if two
+% new.sentence's occur without any non-null string being output between
+% them then there won't be two periods output. Similarly for two
+% successive new.block's.
+%
+% The output routines don't write their argument immediately.
+% Instead, by convention, that argument is saved on the stack to be
+% output next time (when we'll know what separator needs to come
+% after it). Meanwhile, the output routine has to pop the pending
+% output off the stack, append any needed separator, and write it.
+%
+% To tell which separator is needed, we maintain an output.state.
+% It will be one of these values:
+% before.all just after the \bibitem
+% mid.sentence in the middle of a sentence: comma needed
+% if more sentence is output
+% after.sentence just after a sentence: period needed
+% after.block just after a block (and sentence):
+% period and \newblock needed.
+% Note: These styles don't use after.sentence
+%
+% VAR: output.state : INTEGER -- state variable for output
+%
+% The output.nonnull function saves its argument (assumed to be nonnull)
+% on the stack, and writes the old saved value followed by any needed
+% separator. The ordering of the tests is decreasing frequency of
+% occurrence.
+%
+% output.nonnull(s) ==
+% BEGIN
+% s := argument on stack
+% if output.state = mid.sentence then
+% write$(pop() * ", ")
+% -- "pop" isn't a function: just use stack top
+% else
+% if output.state = after.block then
+% write$(add.period$(pop()))
+% newline$
+% write$("\newblock ")
+% else
+% if output.state = before.all then
+% write$(pop())
+% else -- output.state should be after.sentence
+% write$(add.period$(pop()) * " ")
+% fi
+% fi
+% output.state := mid.sentence
+% fi
+% push s on stack
+% END
+%
+% The output function calls output.nonnull if its argument is non-empty;
+% its argument may be a missing field (thus, not necessarily a string)
+%
+% output(s) ==
+% BEGIN
+% if not empty$(s) then output.nonnull(s)
+% fi
+% END
+%
+% The output.check function is the same as the output function except that, if
+% necessary, output.check warns the user that the t field shouldn't be empty
+% (this is because it probably won't be a good reference without the field;
+% the entry functions try to make the formatting look reasonable even when
+% such fields are empty).
+%
+% output.check(s,t) ==
+% BEGIN
+% if empty$(s) then
+% warning$("empty " * t * " in " * cite$)
+% else output.nonnull(s)
+% fi
+% END
+%
+% The output.bibitem function writes the \bibitem for the current entry
+% (the label should already have been set up), and sets up the separator
+% state for the output functions. And, it leaves a string on the stack
+% as per the output convention.
+%
+% output.bibitem ==
+% BEGIN
+% newline$
+% write$("\bibitem[") % for alphabetic labels,
+% write$(label) % these three lines
+% write$("]{") % are used
+% write$("\bibitem{") % this line for numeric labels
+% write$(cite$)
+% write$("}")
+% push "" on stack
+% output.state := before.all
+% END
+%
+% The fin.entry function finishes off an entry by adding a period to the
+% string remaining on the stack. If the state is still before.all
+% then nothing was produced for this entry, so the result will look bad,
+% but the user deserves it. (We don't omit the whole entry because the
+% entry was cited, and a bibitem is needed to define the citation label.)
+%
+% fin.entry ==
+% BEGIN
+% write$(add.period$(pop()))
+% newline$
+% END
+%
+% The new.block function prepares for a new block to be output, and
+% new.sentence prepares for a new sentence.
+%
+% new.block ==
+% BEGIN
+% if output.state <> before.all then
+% output.state := after.block
+% fi
+% END
+%
+% new.sentence ==
+% BEGIN
+% if output.state <> after.block then
+% if output.state <> before.all then
+% output.state := after.sentence
+% fi
+% fi
+% END
+%
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+% the variables s and t are temporary string holders
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+#if LAB_ALPH
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+#else
+ "\bibitem{" write$
+#endif LAB_ALPH
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+% This function finishes all entries.
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+% These three functions pop one or two (integer) arguments from the stack
+% and push a single one, either 0 or 1.
+% The 'skip$ in the `and' and `or' functions are used because
+% the corresponding if$ would be idempotent
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+% Sometimes we begin a new block only if the block will be big enough. The
+% new.block.checka function issues a new.block if its argument is nonempty;
+% new.block.checkb does the same if either of its TWO arguments is nonempty.
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+% The new.sentence.check functions are analogous.
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+% Here are some functions for formatting chunks of an entry.
+% By convention they either produce a string that can be followed by
+% a comma or period (using add.period$, so it is OK to end in a period),
+% or they produce the null string.
+%
+% A useful utility is the field.or.null function, which checks if the
+% argument is the result of pushing a `missing' field (one for which no
+% assignment was made when the current entry was read in from the database)
+% or the result of pushing a string having no non-white-space characters.
+% It returns the null string if so, otherwise it returns the field string.
+% Its main (but not only) purpose is to guarantee that what's left on the
+% stack is a string rather than a missing field.
+%
+% field.or.null(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return s
+% END
+%
+% Another helper function is emphasize, which returns the argument emphazised,
+% if that is non-empty, otherwise it returns the null string. Italic
+% corrections aren't used, so this function should be used when punctation
+% will follow the result.
+%
+% emphasize(s) ==
+% BEGIN
+% if empty$(s) then return ""
+% else return "{\em " * s * "}"
+%
+% The format.names function formats the argument (which should be in
+% BibTeX name format) into "First Von Last, Junior", separated by commas
+% and with an "and" before the last (but ending with "et~al." if the last
+% of multiple authors is "others"). This function's argument should always
+% contain at least one name.
+%
+% VAR: nameptr, namesleft, numnames: INTEGER
+% pseudoVAR: nameresult: STRING (it's what's accumulated on the stack)
+%
+% format.names(s) ==
+% BEGIN
+% nameptr := 1
+% numnames := num.names$(s)
+% namesleft := numnames
+% while namesleft > 0
+% do
+% % for full names:
+% t := format.name$(s, nameptr, "{ff~}{vv~}{ll}{, jj}")
+% % for abbreviated first names:
+% t := format.name$(s, nameptr, "{f.~}{vv~}{ll}{, jj}")
+% if nameptr > 1 then
+% if namesleft > 1 then nameresult := nameresult * ", " * t
+% else if numnames > 2
+% then nameresult := nameresult * ","
+% fi
+% if t = "others"
+% then nameresult := nameresult * " et~al."
+% else nameresult := nameresult * " and " * t
+% fi
+% fi
+% else nameresult := t
+% fi
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% return nameresult
+% END
+%
+% The format.authors function returns the result of format.names(author)
+% if the author is present, or else it returns the null string
+%
+% format.authors ==
+% BEGIN
+% if empty$(author) then return ""
+% else return format.names(author)
+% fi
+% END
+%
+% Format.editors is like format.authors, but it uses the editor field,
+% and appends ", editor" or ", editors"
+%
+% format.editors ==
+% BEGIN
+% if empty$(editor) then return ""
+% else
+% if num.names$(editor) > 1 then
+% return format.names(editor) * ", editors"
+% else
+% return format.names(editor) * ", editor"
+% fi
+% fi
+% END
+%
+% Other formatting functions are similar, so no "comment version" will be
+% given for them.
+%
+% The `pop$' in this function gets rid of the duplicate `empty' value and
+% the `skip$' returns the duplicate field value
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+#if NAME_FULL
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+#else
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+#endif NAME_FULL
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { new.block "ISBN " isbn * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { new.block "ISSN " issn * }
+ if$
+}
+
+% The format.title function is used for non-book-like titles.
+% For most styles we convert to lowercase (except for the very first letter,
+% and except for the first one after a colon (followed by whitespace)),
+% and hope the user has brace-surrounded words that need to stay capitilized;
+% for some styles, however, we leave it as it is in the database.
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+#if ATIT_LOWER
+ { title "t" change.case$ }
+#else
+ 'title
+#endif ATIT_LOWER
+ if$
+}
+
+% By default, BibTeX sets the global integer variable global.max$ to the BibTeX
+% constant glob_str_size, the maximum length of a global string variable.
+% Analogously, BibTeX sets the global integer variable entry.max$ to
+% ent_str_size, the maximum length of an entry string variable.
+% The style designer may change these if necessary (but this is unlikely)
+
+% The n.dashify function makes each single `-' in a string a double `--'
+% if it's not already
+%
+% pseudoVAR: pageresult: STRING (it's what's accumulated on the stack)
+%
+% n.dashify(s) ==
+% BEGIN
+% t := s
+% pageresult := ""
+% while (not empty$(t))
+% do
+% if (first character of t = "-")
+% then
+% if (next character isn't)
+% then
+% pageresult := pageresult * "--"
+% t := t with the "-" removed
+% else
+% while (first character of t = "-")
+% do
+% pageresult := pageresult * "-"
+% t := t with the "-" removed
+% od
+% fi
+% else
+% pageresult := pageresult * the first character
+% t := t with the first character removed
+% fi
+% od
+% return pageresult
+% END
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+% The format.date function is for the month and year, but we give a warning if
+% there's an empty year but the month is there, and we return the empty string
+% if they're both empty.
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+% The format.btitle is for formatting the title field when it is a book-like
+% entry---the style used here keeps it in uppers-and-lowers and emphasizes it.
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+% For several functions we'll need to connect two strings with a
+% tie (~) if the second one isn't very long (fewer than 3 characters).
+% The tie.or.space.connect function does that. It concatenates the two
+% strings on top of the stack, along with either a tie or space between
+% them, and puts this concatenation back onto the stack:
+%
+% tie.or.space.connect(str1,str2) ==
+% BEGIN
+% if text.length$(str2) < 3
+% then return the concatenation of str1, "~", and str2
+% else return the concatenation of str1, " ", and str2
+% END
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+% The either.or.check function complains if both fields or an either-or pair
+% are nonempty.
+%
+% either.or.check(t,s) ==
+% BEGIN
+% if empty$(s) then
+% warning$(can't use both " * t * " fields in " * cite$)
+% fi
+% END
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+% The format.bvolume function is for formatting the volume and perhaps
+% series name of a multivolume work. If both a volume and a series field
+% are there, we assume the series field is the title of the whole multivolume
+% work (the title field should be the title of the thing being referred to),
+% and we add an "of <series>". This function is called in mid-sentence.
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+% The format.number.series function is for formatting the series name
+% and perhaps number of a work in a series. This function is similar to
+% format.bvolume, although for this one the series must exist (and the
+% volume must not exist). If the number field is empty we output either
+% the series field unchanged if it exists or else the null string.
+% If both the number and series fields are there we assume the series field
+% gives the name of the whole series (the title field should be the title
+% of the work being one referred to), and we add an "in <series>".
+% We capitilize Number when this function is used at the beginning of a block.
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+% The format.edition function appends " edition" to the edition, if present.
+% We lowercase the edition (it should be something like "Third"), because
+% this doesn't start a sentence.
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+% The format.pages function is used for formatting a page range in a book
+% (and in rare circumstances, an article).
+%
+% The multi.page.check function examines the page field for a "-" or "," or "+"
+% so that format.pages can use "page" instead of "pages" if none exists.
+% Note: global.max$ here means "take the rest of the string"
+%
+% VAR: multiresult: INTEGER (actually, a boolean)
+%
+% multi.page.check(s) ==
+% BEGIN
+% t := s
+% multiresult := false
+% while ((not multiresult) and (not empty$(t)))
+% do
+% if (first character of t = "-" or "," or "+")
+% then multiresult := true
+% else t := t with the first character removed
+% fi
+% od
+% return multiresult
+% END
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+% This function doesn't begin a sentence so "pages" isn't capitalized.
+% Other functions that use this should keep that in mind.
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+% The format.vol.num.pages function is for the volume, number, and page range
+% of a journal article. We use the format: vol(number):pages, with some
+% variations for empty fields. This doesn't begin a sentence.
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":\penalty0 " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+
+% The format.chapter.pages, if the chapter is present, puts whatever is in the
+% type field (or else "chapter" if type is empty) in front of a chapter number.
+% It then appends the pages, if present. This doesn't begin a sentence.
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+% The format.in.ed.booktitle function is used for starting out a sentence
+% that begins "In <booktitle>", putting an editor before the title if one
+% exists.
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+% The function empty.misc.check complains if all six fields are empty, and
+% if there's been no sorting or alphabetic-label complaint.
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+#if SORTED
+ key empty$ not and
+#else !SORTED
+#if LAB_ALPH
+ key empty$ not and
+#endif LAB_ALPH
+#endif SORTED
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+% The function format.thesis.type returns either the (case-changed) type field,
+% if it is defined, or else the default string already on the stack
+% (like "Master's thesis" or "PhD thesis").
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+% The function format.tr.number makes a string starting with "Technical Report"
+% (or type, if that field is defined), followed by the number if there is one;
+% it returns the starting part (with a case change) even if there is no number.
+% This is used at the beginning of a sentence.
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+% Now come the cross-referencing functions (these are invoked because
+% one entry in the database file(s) cross-references another, by giving
+% the other entry's database key in a `crossref' field). This feature
+% allows one or more titled things that are part of a larger titled
+% thing to cross-reference the larger thing. These styles allow for
+% five posibilities: (1) an ARTICLE may cross-reference an ARTICLE;
+% (2) a BOOK, (3) INBOOK, or (4) INCOLLECTION may cross-reference a BOOK;
+% or (5) an INPROCEEDINGS may cross-reference a PROCEEDINGS.
+% Each of these is explained in more detail later.
+%
+% An ARTICLE entry type may cross reference another ARTICLE (this is
+% intended for when an entire journal is devoted to a single topic---
+% but since there is no JOURNAL entry type, the journal, too, should be
+% classified as an ARTICLE but without the author and title fields).
+% This will result in two warning messages for the journal's entry
+% if it's included in the reference list, but such is life.
+%
+% format.article.crossref ==
+% BEGIN
+% if empty$(key) then
+% if empty$(journal) then
+% warning$("need key or journal for " * cite$ *
+% " to crossref " * crossref)
+% return(" \cite{" * crossref * "}")
+% else
+% return("In " * emphasize.correct (journal) *
+% " \cite{" * crossref * "}")
+% fi
+% else
+% return("In " * key * " \cite{" * crossref * "}")
+% fi
+% END
+%
+% The other cross-referencing functions are similar, so no "comment version"
+% will be given for them.
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% We use just the last names of editors for a cross reference: either
+% "editor", or "editor1 and editor2", or "editor1 et~al." depending on
+% whether there are one, or two, or more than two editors.
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+% A BOOK (or INBOOK) entry type (assumed to be for a single volume in a
+% multivolume work) may cross reference another BOOK (the entire multivolume).
+% Usually there will be an editor, in which case we use that to construct the
+% cross reference; otherwise we use a nonempty key field or else the series
+% field (since the series gives the title of the multivolume work).
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% An INCOLLECTION entry type may cross reference a BOOK (assumed to be the
+% collection), or an INPROCEEDINGS may cross reference a PROCEEDINGS.
+% Often there will be an editor, in which case we use that to construct
+% the cross reference; otherwise we use a nonempty key field or else
+% the booktitle field (which gives the cross-referenced work's title).
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% Now we define the type functions for all entry types that may appear
+% in the .BIB file---e.g., functions like `article' and `book'. These
+% are the routines that actually generate the .BBL-file output for
+% the entry. These must all precede the READ command. In addition, the
+% style designer should have a function `default.type' for unknown types.
+% Note: The fields (within each list) are listed in order of appearance,
+% except as described for an `inbook' or a `proceedings'.
+%
+% The article function is for an article in a journal. An article may
+% CROSSREF another article.
+% Required fields: author, title, journal, year
+% Optional fields: volume, number, pages, month, note
+%
+% article ==
+% BEGIN
+% output.bibitem
+% output.check(format.authors,"author")
+% new.block
+% output.check(format.title,"title")
+% new.block
+% if missing$(crossref) then
+% output.check(emphasize(journal),"journal")
+% output(format.vol.num.pages)
+% output.check(format.date,"year")
+% else
+% output.nonnull(format.article.crossref)
+% output(format.pages)
+% fi
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The book function is for a whole book. A book may CROSSREF another book.
+% Required fields: author or editor, title, publisher, year
+% Optional fields: volume or number, series, address, edition, month,
+% note
+%
+% book ==
+% BEGIN
+% if empty$(author) then output.check(format.editors,"author and editor")
+% else output.check(format.authors,"author")
+% if missing$(crossref) then
+% either.or.check("author and editor",editor)
+% fi
+% fi
+% new.block
+% output.check(format.btitle,"title")
+% if missing$(crossref) then
+% output(format.bvolume)
+% new.block
+% output(format.number.series)
+% new.sentence
+% output.check(publisher,"publisher")
+% output(address)
+% else
+% new.block
+% output.nonnull(format.book.crossref)
+% fi
+% output(format.edition)
+% output.check(format.date,"year")
+% new.block
+% output(note)
+% fin.entry
+% END
+%
+% The other entry functions are all quite similar, so no "comment version"
+% will be given for them.
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ new.block
+ note output
+ fin.entry
+}
+
+% A booklet is a bound thing without a publisher or sponsoring institution.
+% Required: title
+% Optional: author, howpublished, address, month, year, note
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ format.isbn output
+ new.block
+ note output
+ fin.entry
+}
+
+% For the conference entry type, see inproceedings.
+
+% An inbook is a piece of a book: either a chapter and/or a page range.
+% It may CROSSREF a book. If there's no volume field, the type field
+% will come before number and series.
+% Required: author or editor, title, chapter and/or pages, publisher,year
+% Optional: volume or number, series, type, address, edition, month, note
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ new.block
+ note output
+ fin.entry
+}
+
+% An incollection is like inbook, but where there is a separate title
+% for the referenced thing (and perhaps an editor for the whole).
+% An incollection may CROSSREF a book.
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, volume or number, series, type, chapter, pages,
+% address, edition, month, note
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn output
+ new.block
+ note output
+ fin.entry
+}
+
+% An inproceedings is an article in a conference proceedings, and it may
+% CROSSREF a proceedings. If there's no address field, the month (& year)
+% will appear just before note.
+% Required: author, title, booktitle, year
+% Optional: editor, volume or number, series, pages, address, month,
+% organization, publisher, note
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn output
+ new.block
+ note output
+ fin.entry
+}
+
+% The conference function is included for Scribe compatibility.
+
+FUNCTION {conference} { inproceedings }
+
+% A manual is technical documentation.
+% Required: title
+% Optional: author, organization, address, edition, month, year, note
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+% A mastersthesis is a Master's thesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+% A misc is something that doesn't fit elsewhere.
+% Required: at least one of the `optional' fields
+% Optional: author, title, howpublished, month, year, note
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.issn output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+% A phdthesis is like a mastersthesis.
+% Required: author, title, school, year
+% Optional: type, address, month, note
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+% A periodical is a publication that appears at regular
+% intervals. This includes journals, magazines, and newspapers.
+% If there is an organization but no editor field, the
+% organization will appear as the first optional field (we try to
+% make the first block nonempty); if there's no address field,
+% the month (& year) will appear just before note.
+% Required: title, key
+% Optional: editor, volume, number, series, address, month, year,
+% organization, publisher, note, issn,
+% howpublished
+
+FUNCTION {periodical}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ title emphasize "title" output.check
+% format.bvolume output
+% format.number.series output
+ format.vol.num.pages output
+ format.date output
+ format.issn output
+ new.sentence
+ publisher output
+ address output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+% A proceedings is a conference proceedings.
+% If there is an organization but no editor field, the organization will
+% appear as the first optional field (we try to make the first block nonempty);
+% if there's no address field, the month (& year) will appear just before note.
+% Required: title, year
+% Optional: editor, volume or number, series, address, month,
+% organization, publisher, note
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn output
+ new.block
+ note output
+ fin.entry
+}
+
+% A techreport is a technical report.
+% Required: author, title, institution, year
+% Optional: type, number, address, month, note
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+% An unpublished is something that hasn't been published.
+% Required: author, title, note
+% Optional: month, year
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+% We use entry type `misc' for an unknown type; BibTeX gives a warning.
+
+FUNCTION {default.type} { misc }
+
+% Here are macros for common things that may vary from style to style.
+% Users are encouraged to use these macros.
+%
+% Months are either written out in full or abbreviated
+
+#if MONTH_FULL
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+#else !MONTH_FULL
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+#endif MONTH_FULL
+
+% Journals are either written out in full or abbreviated;
+% the abbreviations are like those found in ACM publications.
+%
+% To get a completely different set of abbreviations, it may be best to make
+% a separate .bib file with nothing but those abbreviations; users could then
+% include that file name as the first argument to the \bibliography command
+
+#if JOUR_FULL
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+#else !JOUR_FULL
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+#endif JOUR_FULL
+
+% Now we read in the .BIB entries.
+
+READ
+
+% The sortify function converts to lower case after purify$ing; it's
+% used in sorting and in computing alphabetic labels after sorting
+%
+% The chop.word(w,len,s) function returns either s or, if the first len
+% letters of s equals w (this comparison is done in the third line of the
+% function's definition), it returns that part of s after w.
+
+#if SORTED
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+#else !SORTED
+#if LAB_ALPH
+
+% We need the chop.word stuff for the dubious unsorted-list-with-labels case.
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+#endif LAB_ALPH
+#endif SORTED
+
+% This long comment applies only to alphabetic labels
+%
+% The format.lab.names function makes a short label by using the initials of
+% the von and Last parts of the names (but if there are more than four names,
+% (i.e., people) it truncates after three and adds a superscripted "+";
+% it also adds such a "+" if the last of multiple authors is "others").
+% If there is only one name, and its von and Last parts combined have just
+% a single name-token ("Knuth" has a single token, "Brinch Hansen" has two),
+% we take the first three letters of the last name. The boolean
+% et.al.char.used tells whether we've used a superscripted "+", so that we
+% know whether to include a LaTeX macro for it.
+%
+% format.lab.names(s) ==
+% BEGIN
+% numnames := num.names$(s)
+% if numnames > 1 then
+% if numnames > 4 then
+% namesleft := 3
+% else
+% namesleft := numnames
+% nameptr := 1
+% nameresult := ""
+% while namesleft > 0
+% do
+% if (name_ptr = numnames) and
+% format.name$(s, nameptr, "{ff }{vv }{ll}{ jj}") = "others"
+% then nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else nameresult := nameresult *
+% format.name$(s, nameptr, "{v{}}{l{}}")
+% nameptr := nameptr + 1
+% namesleft := namesleft - 1
+% od
+% if numnames > 4 then
+% nameresult := nameresult * "{\etalchar{+}}"
+% et.al.char.used := true
+% else
+% t := format.name$(s, 1, "{v{}}{l{}}")
+% if text.length$(t) < 2 then % there's just one name-token
+% nameresult := text.prefix$(format.name$(s,1,"{ll}"),3)
+% else
+% nameresult := t
+% fi
+% fi
+% return nameresult
+% END
+%
+% Exactly what fields we look at in constructing the primary part of the label
+% depends on the entry type; this selectivity (as opposed to, say, always
+% looking at author, then editor, then key) helps ensure that "ignored" fields,
+% as described in the LaTeX book, really are ignored. Note that MISC is part
+% of the deepest `else' clause in the nested part of calc.label; thus, any
+% unrecognized entry type in the database is handled correctly.
+%
+% There is one auxiliary function for each of the four different sequences of
+% fields we use. The first of these functions looks at the author field, and
+% then, if necessary, the key field. The other three functions, which might
+% look at two fields and the key field, are similar, except that the key field
+% takes precedence over the organization field (for labels---not for sorting).
+%
+% The calc.label function calculates the preliminary label of an entry, which
+% is formed by taking three letters of information from the author or editor or
+% key or organization field (depending on the entry type and on what's empty,
+% but ignoring a leading "The " in the organization), and appending the last
+% two characters (digits) of the year. It is an error if the appropriate fields
+% among author, editor, organization, and key are missing, and we use
+% the first three letters of the cite$ in desperation when this happens.
+% The resulting label has the year part, but not the name part, purify$ed
+% (purify$ing the year allows some sorting shenanigans by the user).
+%
+% This function also calculates the version of the label to be used in sorting.
+%
+% The final label may need a trailing 'a', 'b', etc., to distinguish it from
+% otherwise identical labels, but we can't calculated those "extra.label"s
+% until after sorting.
+%
+% calc.label ==
+% BEGIN
+% if type$ = "book" or "inbook" then
+% author.editor.key.label
+% else if type$ = "proceedings" then
+% editor.key.organization.label
+% else if type$ = "manual" then
+% author.key.organization.label
+% else
+% author.key.label
+% fi fi fi
+% label := label * substring$(purify$(field.or.null(year)), -1, 2)
+% % assuming we will also sort, we calculate a sort.label
+% sort.label := sortify(label), but use the last four, not two, digits
+% END
+
+#if LAB_ALPH
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+#if SORTED
+ { cite$ #1 #3 substring$ }
+#else !SORTED % need warning here because we won't give it later
+ { "for label, need author or key in " cite$ * warning$
+ cite$ #1 #3 substring$
+ }
+#endif SORTED
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+#if SORTED
+ { cite$ #1 #3 substring$ }
+#else !SORTED % need warning here because we won't give it later
+ { "for label, need author, editor, or key in " cite$ * warning$
+ cite$ #1 #3 substring$
+ }
+#endif SORTED
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+#if SORTED
+ { cite$ #1 #3 substring$ }
+#else !SORTED % need warning here because we won't give it later
+ { "for label, need author, key, or organization in " cite$ *
+ warning$
+ cite$ #1 #3 substring$
+ }
+#endif SORTED
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+#if SORTED
+ { cite$ #1 #3 substring$ }
+#else !SORTED % need warning here because we won't give it later
+ { "for label, need editor, key, or organization in " cite$ *
+ warning$
+ cite$ #1 #3 substring$
+ }
+#endif SORTED
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+% It doesn't seem like a particularly good idea to use an order-of-citation
+% reference list when using alphabetic labels, but we need to have a
+% special pass to calculate labels when this happens.
+
+#if !SORTED
+
+ITERATE {calc.label}
+
+#endif !SORTED
+
+#endif LAB_ALPH
+
+% When sorting, we compute the sortkey by executing "presort" on each entry.
+% The presort key contains a number of "sortify"ed strings, concatenated
+% with multiple blanks between them. This makes things like "brinch per"
+% come before "brinch hansen per".
+%
+% The fields used here are: the sort.label for alphabetic labels (as set by
+% calc.label), followed by the author names (or editor names or organization
+% (with a leading "The " removed) or key field, depending on entry type and on
+% what's empty), followed by year, followed by the first bit of the title
+% (chopping off a leading "The ", "A ", or "An ").
+% Names are formatted: Von Last First Junior.
+% The names within a part will be separated by a single blank
+% (such as "brinch hansen"), two will separate the name parts themselves
+% (except the von and last), three will separate the names,
+% four will separate the names from year (and from label, if alphabetic),
+% and four will separate year from title.
+%
+% The sort.format.names function takes an argument that should be in
+% BibTeX name format, and returns a string containing " "-separated
+% names in the format described above. The function is almost the same
+% as format.names.
+
+#if SORTED
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+#if NAME_FULL
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+#else
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+#endif NAME_FULL
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% The sort.format.title function returns the argument,
+% but first any leading "A "'s, "An "'s, or "The "'s are removed.
+% The chop.word function uses s, so we need another string variable, t
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+% The auxiliary functions here, for the presort function, are analogous to
+% the ones for calc.label; the same comments apply, except that the
+% organization field takes precedence here over the key field. For sorting
+% purposes, we still remove a leading "The " from the organization field.
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% There is a limit, entry.max$, on the length of an entry string variable
+% (which is what its sort.key$ is), so we take at most that many characters
+% of the constructed key, and hope there aren't many references that match
+% to that many characters!
+
+FUNCTION {presort}
+#if LAB_ALPH
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+#else !LAB_ALPH
+{ type$ "book" =
+#endif LAB_ALPH
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+#if LAB_ALPH
+ *
+#endif LAB_ALPH
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+% And now we can sort
+
+SORT
+
+#endif SORTED
+
+% This long comment applies only to alphabetic labels, when sorted
+%
+% Now comes the final computation for alphabetic labels, putting in the 'a's
+% and 'b's and so forth if required. This involves two passes: a forward
+% pass to put in the 'b's, 'c's and so on, and a backwards pass
+% to put in the 'a's (we don't want to put in 'a's unless we know there
+% are 'b's).
+% We have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+%
+% VAR: longest.label, last.sort.label, next.extra: string
+% longest.label.width, last.extra.num: integer
+%
+% initialize.longest.label ==
+% BEGIN
+% longest.label := ""
+% last.sort.label := int.to.chr$(0)
+% next.extra := ""
+% longest.label.width := 0
+% last.extra.num := 0
+% END
+%
+% forward.pass ==
+% BEGIN
+% if last.sort.label = sort.label then
+% last.extra.num := last.extra.num + 1
+% extra.label := int.to.chr$(last.extra.num)
+% else
+% last.extra.num := chr.to.int$("a")
+% extra.label := ""
+% last.sort.label := sort.label
+% fi
+% END
+%
+% reverse.pass ==
+% BEGIN
+% if next.extra = "b" then
+% extra.label := "a"
+% fi
+% label := label * extra.label
+% if width$(label) > longest.label.width then
+% longest.label := label
+% longest.label.width := width$(label)
+% fi
+% next.extra := extra.label
+% END
+
+#if LAB_ALPH
+
+#if SORTED
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+#else !SORTED
+
+% It still doesn't seem like a good idea to use an order-of-citation
+% reference list when using alphabetic labels, but when this happens we
+% must compute the longest label
+
+STRINGS { longest.label }
+
+INTEGERS { longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+#endif SORTED
+
+#else !LAB_ALPH
+
+% Now comes the computation for numeric labels.
+% We use either the sorted order or original order.
+% We still have to keep track of the longest (in width$ terms) label, for use
+% by the "thebibliography" environment.
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+#endif LAB_ALPH
+
+% Now we're ready to start writing the .BBL file.
+% We begin, if necessary, with a LaTeX macro for unnamed names in an alphabetic
+% label; next comes stuff from the `preamble' command in the database files.
+% Then we give an incantation containing the command
+% \begin{thebibliography}{...}
+% where the `...' is the longest label.
+%
+% We also call init.state.consts, for use by the output routines.
+
+FUNCTION {begin.bib}
+#if LAB_ALPH
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+#else !LAB_ALPH
+{ preamble$ empty$
+#endif LAB_ALPH
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+% Now we produce the output for all the entries
+
+ITERATE {call.type$}
+
+% Finally, we finish up by writing the `\end{thebibliography}' command.
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/bibhtml/alphahtml.bst b/Master/texmf-dist/bibtex/bst/bibhtml/alphahtml.bst
new file mode 100644
index 00000000000..a8a68d52ae4
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/bibhtml/alphahtml.bst
@@ -0,0 +1,1410 @@
+%% alphahtml.bst, version 1.1
+%% Copyright 1999, 2005, Norman Gray.
+%%
+%% alphahtml.bst derived from alpha.bst and plainhtml.bst by
+%% Franz G. Fischer, Franz.Fischer@lpr.e-technik.tu-muenchen.de
+%
+% $Id: alphahtml.bst,v 1.2 2005/09/19 16:10:59 norman Exp $
+%
+% Released under the terms of the GNU General Public Licence --
+% see the file LICENCE, included in the distribution.
+%
+% Version history:
+% * 19 September 2005: added `webpage' entry type, and
+% `lastchecked' field.
+% 1.1 6 June 1999. Tidied documentation, clarified licence.
+% 1.0b1 Original version, based on Franz's adaptations, plus support
+% for eprint field (in article, techreport, misc, inproceedings,
+% unpublished)
+%
+% Modification of...
+% BibTeX standard bibliography style `alpha'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% ... to make it produce HTML, and add the url field
+%
+% this produces a file which is a <dl>...</dl>, which should be incorporated
+% into another html file somehow.
+% There will still be ~ and -- within the output file (it's too difficult
+% to get rid of them here). A post-processor should turn these
+% into either &nbsp; and &enspace; or ' ' and '-' as required.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url
+ lastchecked
+ eprint
+%EDIT1
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ close.link }
+
+STRINGS { s t xxxmirror }
+
+% Initialise state constants, and location of nearest XXX mirror (for eprints)
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ "xxx.lanl.gov" 'xxxmirror :=
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ % close the <dt> after the end of the first block
+ % and set closelink false
+ close.link
+ { "</a></dt> <dd>" write$
+ #0 'close.link := }
+ 'skip$
+ if$
+ newline$
+ " " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "<dt><a name=" quote$ * write$
+ cite$ write$
+ quote$ ">[" * label * "] " * write$
+ % the <dt> is closed within output.nonnull, as long as close.link is true
+ #1 'close.link :=
+% newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ "</dd>" write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<em>" swap$ * "</em>" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title "t" change.case$ }
+% if$
+%}
+
+% format the title, and surround it with the URL if one is defined
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { url empty$
+ { title "t" change.case$ }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ title "t" change.case$ * "</a>" * }
+ if$
+ }
+ if$
+}
+
+% format the eprint number, and surround it with a URL pointing to
+% one of the XXX mirrors
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { "eprint <a href=" quote$ * "http://" * xxxmirror * "/abs/" * eprint *
+ quote$ * " >" * eprint * "</a>" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.btitle}
+%{ title emphasize
+%}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { booktitle empty$
+ { "need title or booktitle in format.btitle" warning$ }
+ { booktitle 's := }
+ if$
+ }
+ { title 's := }
+ if$
+ url empty$
+ { s emphasize }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ s emphasize * "</a>" * }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+%{ volume field.or.null
+{ volume empty$ % allow this...
+ { "" }
+ { "<b>" volume * "</b>" * }
+ if$
+ number empty$
+ 'skip$
+ { " no. " number * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { " pp. " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+% surround the journal name with a link pointing to the crossref
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In <em><a href=" quote$ * "#" * crossref * quote$ * ">" *
+ journal * "</a></em>" * }
+% { "In <em>" journal * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+% " <a href=" quote$ * "#" * crossref * quote$ * ">" * crossref * "</a>" *
+}
+
+%FUNCTION {format.crossref.editor}
+%{ crossref empty$
+% 'skip$
+% { "<a href=" * quote$ * "#" * crossref * quote$ * " >" * }
+% if$
+% editor #1 "{vv~}{ll}" format.name$
+% editor num.names$ duplicate$
+% #2 >
+% { pop$ " et~al." * }
+% { #2 <
+% 'skip$
+% { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+% { " et~al." * }
+% { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+% if$
+% }
+% if$
+% }
+% if$
+% crossref empty$
+% 'skip$
+% { "</a>" * }
+% if$
+%}
+
+% if there is indeed a crossref, make the reference a link
+FUNCTION {format.crossref.editor}
+{ crossref empty$
+ { editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "<a href=" quote$ * "#" * crossref * quote$ * " >[" *
+ crossref * "]</a>" *
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "<em>" * series * "</em>" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In <em>" booktitle * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+% " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { ", cited " lastchecked * }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ format.eprint output
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ format.eprint output
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { % Need to put something here -- if the title were put here,
+ % we'd have a <a> inside a <a>
+ key empty$
+ { "" }
+ { key }
+ if$
+ "author and key" output.check
+ }
+ { format.authors "author" output.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ "[Online" format.lastchecked * "]" * output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "+" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "+" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ sort.label %EDIT2
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "<dl>" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "</dl>" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst b/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst
new file mode 100644
index 00000000000..a57cdb86f86
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst
@@ -0,0 +1,1420 @@
+%%
+%% DO NOT EDIT
+%%
+%% This is alphahtmldate.bst, edited from alphahtml.bst by alphahtmldate.sed
+%%
+%% alphahtml.bst, version 1.1
+%% Copyright 1999, 2005, Norman Gray.
+%%
+%% alphahtml.bst derived from alpha.bst and plainhtml.bst by
+%% Franz G. Fischer, Franz.Fischer@lpr.e-technik.tu-muenchen.de
+%
+% $Id: alphahtml.bst,v 1.2 2005/09/19 16:10:59 norman Exp $
+%
+% Released under the terms of the GNU General Public Licence --
+% see the file LICENCE, included in the distribution.
+%
+% Version history:
+% * 19 September 2005: added `webpage' entry type, and
+% `lastchecked' field.
+% 1.1 6 June 1999. Tidied documentation, clarified licence.
+% 1.0b1 Original version, based on Franz's adaptations, plus support
+% for eprint field (in article, techreport, misc, inproceedings,
+% unpublished)
+%
+% Modification of...
+% BibTeX standard bibliography style `alpha'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% ... to make it produce HTML, and add the url field
+%
+% this produces a file which is a <dl>...</dl>, which should be incorporated
+% into another html file somehow.
+% There will still be ~ and -- within the output file (it's too difficult
+% to get rid of them here). A post-processor should turn these
+% into either &nbsp; and &enspace; or ' ' and '-' as required.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url
+ lastchecked
+ eprint
+%EDIT1
+ sortmonth
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ close.link }
+
+STRINGS { s t xxxmirror }
+
+% Initialise state constants, and location of nearest XXX mirror (for eprints)
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ "xxx.lanl.gov" 'xxxmirror :=
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ % close the <dt> after the end of the first block
+ % and set closelink false
+ close.link
+ { "</a></dt> <dd>" write$
+ #0 'close.link := }
+ 'skip$
+ if$
+ newline$
+ " " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "<dt><a name=" quote$ * write$
+ cite$ write$
+ quote$ ">[" * label * "] " * write$
+ % the <dt> is closed within output.nonnull, as long as close.link is true
+ #1 'close.link :=
+% newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ "</dd>" write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<em>" swap$ * "</em>" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title "t" change.case$ }
+% if$
+%}
+
+% format the title, and surround it with the URL if one is defined
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { url empty$
+ { title "t" change.case$ }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ title "t" change.case$ * "</a>" * }
+ if$
+ }
+ if$
+}
+
+% format the eprint number, and surround it with a URL pointing to
+% one of the XXX mirrors
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { "eprint <a href=" quote$ * "http://" * xxxmirror * "/abs/" * eprint *
+ quote$ * " >" * eprint * "</a>" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.btitle}
+%{ title emphasize
+%}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { booktitle empty$
+ { "need title or booktitle in format.btitle" warning$ }
+ { booktitle 's := }
+ if$
+ }
+ { title 's := }
+ if$
+ url empty$
+ { s emphasize }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ s emphasize * "</a>" * }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+%{ volume field.or.null
+{ volume empty$ % allow this...
+ { "" }
+ { "<b>" volume * "</b>" * }
+ if$
+ number empty$
+ 'skip$
+ { " no. " number * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { " pp. " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+% surround the journal name with a link pointing to the crossref
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In <em><a href=" quote$ * "#" * crossref * quote$ * ">" *
+ journal * "</a></em>" * }
+% { "In <em>" journal * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+% " <a href=" quote$ * "#" * crossref * quote$ * ">" * crossref * "</a>" *
+}
+
+%FUNCTION {format.crossref.editor}
+%{ crossref empty$
+% 'skip$
+% { "<a href=" * quote$ * "#" * crossref * quote$ * " >" * }
+% if$
+% editor #1 "{vv~}{ll}" format.name$
+% editor num.names$ duplicate$
+% #2 >
+% { pop$ " et~al." * }
+% { #2 <
+% 'skip$
+% { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+% { " et~al." * }
+% { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+% if$
+% }
+% if$
+% }
+% if$
+% crossref empty$
+% 'skip$
+% { "</a>" * }
+% if$
+%}
+
+% if there is indeed a crossref, make the reference a link
+FUNCTION {format.crossref.editor}
+{ crossref empty$
+ { editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "<a href=" quote$ * "#" * crossref * quote$ * " >[" *
+ crossref * "]</a>" *
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "<em>" * series * "</em>" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In <em>" booktitle * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+% " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { ", cited " lastchecked * }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ format.eprint output
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ format.eprint output
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { % Need to put something here -- if the title were put here,
+ % we'd have a <a> inside a <a>
+ key empty$
+ { "" }
+ { key }
+ if$
+ "author and key" output.check
+ }
+ { format.authors "author" output.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ "[Online" format.lastchecked * "]" * output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "+" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "+" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ year field.or.null sortify
+ sortmonth field.or.null sortify
+ *
+ sort.label
+ *
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "<dl>" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "</dl>" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldater.bst b/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldater.bst
new file mode 100644
index 00000000000..6e17fe53ede
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldater.bst
@@ -0,0 +1,1420 @@
+%%
+%% DO NOT EDIT
+%%
+%% This is alphahtmldater.bst, edited from alphahtml.bst by alphahtmldater.sed
+%%
+%% alphahtml.bst, version 1.1
+%% Copyright 1999, 2005, Norman Gray.
+%%
+%% alphahtml.bst derived from alpha.bst and plainhtml.bst by
+%% Franz G. Fischer, Franz.Fischer@lpr.e-technik.tu-muenchen.de
+%
+% $Id: alphahtml.bst,v 1.2 2005/09/19 16:10:59 norman Exp $
+%
+% Released under the terms of the GNU General Public Licence --
+% see the file LICENCE, included in the distribution.
+%
+% Version history:
+% * 19 September 2005: added `webpage' entry type, and
+% `lastchecked' field.
+% 1.1 6 June 1999. Tidied documentation, clarified licence.
+% 1.0b1 Original version, based on Franz's adaptations, plus support
+% for eprint field (in article, techreport, misc, inproceedings,
+% unpublished)
+%
+% Modification of...
+% BibTeX standard bibliography style `alpha'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% ... to make it produce HTML, and add the url field
+%
+% this produces a file which is a <dl>...</dl>, which should be incorporated
+% into another html file somehow.
+% There will still be ~ and -- within the output file (it's too difficult
+% to get rid of them here). A post-processor should turn these
+% into either &nbsp; and &enspace; or ' ' and '-' as required.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url
+ lastchecked
+ eprint
+%EDIT1
+ sortmonth
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ close.link }
+
+STRINGS { s t xxxmirror }
+
+% Initialise state constants, and location of nearest XXX mirror (for eprints)
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+
+ "xxx.lanl.gov" 'xxxmirror :=
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ % close the <dt> after the end of the first block
+ % and set closelink false
+ close.link
+ { "</a></dt> <dd>" write$
+ #0 'close.link := }
+ 'skip$
+ if$
+ newline$
+ " " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "<dt><a name=" quote$ * write$
+ cite$ write$
+ quote$ ">[" * label * "] " * write$
+ % the <dt> is closed within output.nonnull, as long as close.link is true
+ #1 'close.link :=
+% newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ "</dd>" write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<em>" swap$ * "</em>" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title "t" change.case$ }
+% if$
+%}
+
+% format the title, and surround it with the URL if one is defined
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { url empty$
+ { title "t" change.case$ }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ title "t" change.case$ * "</a>" * }
+ if$
+ }
+ if$
+}
+
+% format the eprint number, and surround it with a URL pointing to
+% one of the XXX mirrors
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { "eprint <a href=" quote$ * "http://" * xxxmirror * "/abs/" * eprint *
+ quote$ * " >" * eprint * "</a>" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.btitle}
+%{ title emphasize
+%}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { booktitle empty$
+ { "need title or booktitle in format.btitle" warning$ }
+ { booktitle 's := }
+ if$
+ }
+ { title 's := }
+ if$
+ url empty$
+ { s emphasize }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ s emphasize * "</a>" * }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+%{ volume field.or.null
+{ volume empty$ % allow this...
+ { "" }
+ { "<b>" volume * "</b>" * }
+ if$
+ number empty$
+ 'skip$
+ { " no. " number * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { " pp. " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+% surround the journal name with a link pointing to the crossref
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In <em><a href=" quote$ * "#" * crossref * quote$ * ">" *
+ journal * "</a></em>" * }
+% { "In <em>" journal * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+% " <a href=" quote$ * "#" * crossref * quote$ * ">" * crossref * "</a>" *
+}
+
+%FUNCTION {format.crossref.editor}
+%{ crossref empty$
+% 'skip$
+% { "<a href=" * quote$ * "#" * crossref * quote$ * " >" * }
+% if$
+% editor #1 "{vv~}{ll}" format.name$
+% editor num.names$ duplicate$
+% #2 >
+% { pop$ " et~al." * }
+% { #2 <
+% 'skip$
+% { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+% { " et~al." * }
+% { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+% if$
+% }
+% if$
+% }
+% if$
+% crossref empty$
+% 'skip$
+% { "</a>" * }
+% if$
+%}
+
+% if there is indeed a crossref, make the reference a link
+FUNCTION {format.crossref.editor}
+{ crossref empty$
+ { editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "<a href=" quote$ * "#" * crossref * quote$ * " >[" *
+ crossref * "]</a>" *
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "<em>" * series * "</em>" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In <em>" booktitle * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+% " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { ", cited " lastchecked * }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ format.eprint output
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ format.eprint output
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { % Need to put something here -- if the title were put here,
+ % we'd have a <a> inside a <a>
+ key empty$
+ { "" }
+ { key }
+ if$
+ "author and key" output.check
+ }
+ { format.authors "author" output.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ "[Online" format.lastchecked * "]" * output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "+" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "+" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ year field.or.null sortify
+ sortmonth field.or.null sortify
+ *
+ sort.label
+ *
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "<dl>" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+REVERSE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "</dl>" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/bibhtml/plainhtml.bst b/Master/texmf-dist/bibtex/bst/bibhtml/plainhtml.bst
new file mode 100644
index 00000000000..f40c226132b
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/bibhtml/plainhtml.bst
@@ -0,0 +1,1286 @@
+%% plainhtml.bst, version 1.1
+%% Copyright 1999, 2005, Norman Gray.
+%%
+%% Part of bibhtml, Norman Gray <norman@astro.gla.ac.uk>, April 1996
+%
+% $Id: plainhtml.bst,v 1.2 2005/09/19 16:10:52 norman Exp $
+%
+% Released under the terms of the GNU General Public Licence --
+% see the file LICENCE, included in the distribution.
+%
+% Version history:
+% * 19 September 2005: added `webpage' entry type, and
+% `lastchecked' field.
+% 1.1 6 June 1999. Tidied documenation, clarified licence.
+% 1.0b3 April 1998, added support for eprint field
+% (in article, techreport, misc, inproceedings, unpublished)
+% 1.0b2 December 1996, added the above exhortation!
+% 1.0b1 Original version
+%
+% Modification of...
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% ... to make it produce HTML, and add the url field
+%
+% this produces a file which is a <dl>...</dl>, which should be incorporated
+% into another html file somehow.
+% There will still be ~ and -- within the output file (it's too difficult
+% to get rid of them here). A post-processor should turn these
+% into either &nbsp; and &enspace; or ' ' and '-' as required.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url
+ lastchecked
+ eprint
+%EDIT1
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ close.link }
+
+STRINGS { s t xxxmirror }
+
+% Initialise state constants, and location of nearest XXX mirror (for eprints)
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #0 'close.link :=
+
+ "xxx.lanl.gov" 'xxxmirror :=
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ % close the <dt> after the end of the first block
+ % and set closelink false
+ close.link
+ { "</a></dt> <dd>" write$
+ #0 'close.link := }
+ 'skip$
+ if$
+ newline$
+ " " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "<dt><a name=" quote$ * write$
+ cite$ write$
+ quote$ ">[" * cite$ * "] " * write$
+ % the <dt> is closed within output.nonnull, as long as close.link is true
+ #1 'close.link :=
+% newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ "</dd>" write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<em>" swap$ * "</em>" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title "t" change.case$ }
+% if$
+%}
+
+% format the title, and surround it with the URL if one is defined
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { url empty$
+ { title "t" change.case$ }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ title "t" change.case$ * "</a>" * }
+ if$
+ }
+ if$
+}
+
+% format the eprint number, and surround it with a URL pointing to
+% one of the XXX mirrors
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { "eprint <a href=" quote$ * "http://" * xxxmirror * "/abs/" * eprint *
+ quote$ * " >" * eprint * "</a>" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.btitle}
+%{ title emphasize
+%}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { booktitle empty$
+ { "need title or booktitle in format.btitle" warning$ }
+ { booktitle 's := }
+ if$
+ }
+ { title 's := }
+ if$
+ url empty$
+ { s emphasize }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ s emphasize * "</a>" * }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+%{ volume field.or.null
+{ volume empty$ % allow this...
+ { "" }
+ { "<b>" volume * "</b>" * }
+ if$
+ number empty$
+ 'skip$
+ { " no. " number * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { " pp. " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+% surround the journal name with a link pointing to the crossref
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In <em><a href=" quote$ * "#" * crossref * quote$ * ">" *
+ journal * "</a></em>" * }
+% { "In <em>" journal * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+% " <a href=" quote$ * "#" * crossref * quote$ * ">" * crossref * "</a>" *
+}
+
+%FUNCTION {format.crossref.editor}
+%{ crossref empty$
+% 'skip$
+% { "<a href=" * quote$ * "#" * crossref * quote$ * " >" * }
+% if$
+% editor #1 "{vv~}{ll}" format.name$
+% editor num.names$ duplicate$
+% #2 >
+% { pop$ " et~al." * }
+% { #2 <
+% 'skip$
+% { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+% { " et~al." * }
+% { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+% if$
+% }
+% if$
+% }
+% if$
+% crossref empty$
+% 'skip$
+% { "</a>" * }
+% if$
+%}
+
+% if there is indeed a crossref, make the reference a link
+FUNCTION {format.crossref.editor}
+{ crossref empty$
+ { editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "<a href=" quote$ * "#" * crossref * quote$ * " >[" *
+ crossref * "]</a>" *
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "<em>" * series * "</em>" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In <em>" booktitle * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+% " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { ", cited " lastchecked * }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ format.eprint output
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ format.eprint output
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { % Need to put something here -- if the title were put here,
+ % we'd have a <a> inside a <a>
+ key empty$
+ { "" }
+ { key }
+ if$
+ "author and key" output.check
+ }
+ { format.authors "author" output.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ "[Online" format.lastchecked * "]" * output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort.by.author}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.by.year}
+{ year field.or.null sortify
+%EDIT2
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort.by.author}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "<dl>" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "</dl>" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/bibhtml/plainhtmldate.bst b/Master/texmf-dist/bibtex/bst/bibhtml/plainhtmldate.bst
new file mode 100644
index 00000000000..8245416cd57
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/bibhtml/plainhtmldate.bst
@@ -0,0 +1,1083 @@
+%%
+%% DO NOT EDIT
+%%
+%% This is plainhtmldate.bst, edited from plainhtml.bst by plainhtmldate.sed
+%%
+%% plainhtml.bst, version 1.1
+%% Copyright 1999, 2005, Norman Gray.
+%%
+%% Part of bibhtml, Norman Gray <norman@astro.gla.ac.uk>, April 1996
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url
+ lastchecked
+ eprint
+ sortmonth
+ }
+ {}
+ { label }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ close.link }
+STRINGS { s t xxxmirror }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #0 'close.link :=
+ "xxx.lanl.gov" 'xxxmirror :=
+}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ close.link
+ { "</a></dt> <dd>" write$
+ #0 'close.link := }
+ 'skip$
+ if$
+ newline$
+ " " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "<dt><a name=" quote$ * write$
+ cite$ write$
+ quote$ ">[" * cite$ * "] " * write$
+ #1 'close.link :=
+ ""
+ before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ "</dd>" write$
+ newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<em>" swap$ * "</em>" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { url empty$
+ { title "t" change.case$ }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ title "t" change.case$ * "</a>" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { "eprint <a href=" quote$ * "http://" * xxxmirror * "/abs/" * eprint *
+ quote$ * " >" * eprint * "</a>" * }
+ if$
+}
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.btitle}
+{ title empty$
+ { booktitle empty$
+ { "need title or booktitle in format.btitle" warning$ }
+ { booktitle 's := }
+ if$
+ }
+ { title 's := }
+ if$
+ url empty$
+ { s emphasize }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ s emphasize * "</a>" * }
+ if$
+}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume empty$ % allow this...
+ { "" }
+ { "<b>" volume * "</b>" * }
+ if$
+ number empty$
+ 'skip$
+ { " no. " number * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { " pp. " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In <em><a href=" quote$ * "#" * crossref * quote$ * ">" *
+ journal * "</a></em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+}
+FUNCTION {format.crossref.editor}
+{ crossref empty$
+ { editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "<a href=" quote$ * "#" * crossref * quote$ * " >[" *
+ crossref * "]</a>" *
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "<em>" * series * "</em>" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+}
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In <em>" booktitle * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+}
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { ", cited " lastchecked * }
+ if$
+}
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ format.eprint output
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ format.eprint output
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ format.eprint output
+ fin.entry
+}
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { % Need to put something here -- if the title were put here,
+ key empty$
+ { "" }
+ { key }
+ if$
+ "author and key" output.check
+ }
+ { format.authors "author" output.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ "[Online" format.lastchecked * "]" * output
+ fin.entry
+}
+FUNCTION {default.type} { misc }
+MACRO {jan} {"January"}
+MACRO {feb} {"February"}
+MACRO {mar} {"March"}
+MACRO {apr} {"April"}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"August"}
+MACRO {sep} {"September"}
+MACRO {oct} {"October"}
+MACRO {nov} {"November"}
+MACRO {dec} {"December"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort.by.author}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+FUNCTION {presort.by.year}
+{ year field.or.null sortify
+ sortmonth field.or.null sortify
+ *
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {presort.by.year}
+SORT
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "<dl>" write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "</dl>" write$ newline$
+}
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/bibhtml/plainhtmldater.bst b/Master/texmf-dist/bibtex/bst/bibhtml/plainhtmldater.bst
new file mode 100644
index 00000000000..06fb2eb64a9
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/bibhtml/plainhtmldater.bst
@@ -0,0 +1,1294 @@
+%%
+%% DO NOT EDIT
+%%
+%% This is plainhtmldater.bst, edited from plainhtml.bst by plainhtmldater.sed
+%%
+%% plainhtml.bst, version 1.1
+%% Copyright 1999, 2005, Norman Gray.
+%%
+%% Part of bibhtml, Norman Gray <norman@astro.gla.ac.uk>, April 1996
+%
+% $Id: plainhtml.bst,v 1.2 2005/09/19 16:10:52 norman Exp $
+%
+% Released under the terms of the GNU General Public Licence --
+% see the file LICENCE, included in the distribution.
+%
+% Version history:
+% * 19 September 2005: added `webpage' entry type, and
+% `lastchecked' field.
+% 1.1 6 June 1999. Tidied documenation, clarified licence.
+% 1.0b3 April 1998, added support for eprint field
+% (in article, techreport, misc, inproceedings, unpublished)
+% 1.0b2 December 1996, added the above exhortation!
+% 1.0b1 Original version
+%
+% Modification of...
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% ... to make it produce HTML, and add the url field
+%
+% this produces a file which is a <dl>...</dl>, which should be incorporated
+% into another html file somehow.
+% There will still be ~ and -- within the output file (it's too difficult
+% to get rid of them here). A post-processor should turn these
+% into either &nbsp; and &enspace; or ' ' and '-' as required.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url
+ lastchecked
+ eprint
+%EDIT1
+ sortmonth
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ close.link }
+
+STRINGS { s t xxxmirror }
+
+% Initialise state constants, and location of nearest XXX mirror (for eprints)
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #0 'close.link :=
+
+ "xxx.lanl.gov" 'xxxmirror :=
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ % close the <dt> after the end of the first block
+ % and set closelink false
+ close.link
+ { "</a></dt> <dd>" write$
+ #0 'close.link := }
+ 'skip$
+ if$
+ newline$
+ " " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "<dt><a name=" quote$ * write$
+ cite$ write$
+ quote$ ">[" * cite$ * "] " * write$
+ % the <dt> is closed within output.nonnull, as long as close.link is true
+ #1 'close.link :=
+% newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ "</dd>" write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<em>" swap$ * "</em>" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title "t" change.case$ }
+% if$
+%}
+
+% format the title, and surround it with the URL if one is defined
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { url empty$
+ { title "t" change.case$ }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ title "t" change.case$ * "</a>" * }
+ if$
+ }
+ if$
+}
+
+% format the eprint number, and surround it with a URL pointing to
+% one of the XXX mirrors
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { "eprint <a href=" quote$ * "http://" * xxxmirror * "/abs/" * eprint *
+ quote$ * " >" * eprint * "</a>" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+%FUNCTION {format.btitle}
+%{ title emphasize
+%}
+
+FUNCTION {format.btitle}
+{ title empty$
+ { booktitle empty$
+ { "need title or booktitle in format.btitle" warning$ }
+ { booktitle 's := }
+ if$
+ }
+ { title 's := }
+ if$
+ url empty$
+ { s emphasize }
+ { "<a href=" quote$ * url * quote$ * " >" *
+ s emphasize * "</a>" * }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+%{ volume field.or.null
+{ volume empty$ % allow this...
+ { "" }
+ { "<b>" volume * "</b>" * }
+ if$
+ number empty$
+ 'skip$
+ { " no. " number * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { " pp. " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+% surround the journal name with a link pointing to the crossref
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In <em><a href=" quote$ * "#" * crossref * quote$ * ">" *
+ journal * "</a></em>" * }
+% { "In <em>" journal * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+% " <a href=" quote$ * "#" * crossref * quote$ * ">" * crossref * "</a>" *
+}
+
+%FUNCTION {format.crossref.editor}
+%{ crossref empty$
+% 'skip$
+% { "<a href=" * quote$ * "#" * crossref * quote$ * " >" * }
+% if$
+% editor #1 "{vv~}{ll}" format.name$
+% editor num.names$ duplicate$
+% #2 >
+% { pop$ " et~al." * }
+% { #2 <
+% 'skip$
+% { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+% { " et~al." * }
+% { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+% if$
+% }
+% if$
+% }
+% if$
+% crossref empty$
+% 'skip$
+% { "</a>" * }
+% if$
+%}
+
+% if there is indeed a crossref, make the reference a link
+FUNCTION {format.crossref.editor}
+{ crossref empty$
+ { editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "<a href=" quote$ * "#" * crossref * quote$ * " >[" *
+ crossref * "]</a>" *
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "<em>" * series * "</em>" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In <em>" booktitle * "</em>" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+% "<a href=#" * crossref * ">" * crossref * "</a>" *
+% " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { ", cited " lastchecked * }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ format.eprint output
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ format.eprint output
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { % Need to put something here -- if the title were put here,
+ % we'd have a <a> inside a <a>
+ key empty$
+ { "" }
+ { key }
+ if$
+ "author and key" output.check
+ }
+ { format.authors "author" output.check }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ "[Online" format.lastchecked * "]" * output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort.by.author}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.by.year}
+{ year field.or.null sortify
+%EDIT2
+ sortmonth field.or.null sortify
+ *
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort.by.year}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "<dl>" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+REVERSE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "</dl>" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/camel/law.bst b/Master/texmf-dist/bibtex/bst/camel/law.bst
new file mode 100644
index 00000000000..88d808d46f2
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/camel/law.bst
@@ -0,0 +1,1685 @@
+%%
+%% This is file `law.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% camel.dtx (with options: `bstheader,eng')
+%% law.dtx (with options: `bstheader,eng')
+%% camel.dtx (with options: `bstlibrary,eng')
+%% law.dtx (with options: `bstfunctions,eng')
+%% camel.dtx (with options: `bsttrailer,eng')
+%% This file is part of the Law module of the Camel package.
+%% ---------------------------------------------------------
+%% This is a generated file.
+%% IMPORTANT NOTICE:
+%%
+%% You are allowed to change this file, subject to the following
+%% conditions. Under any circumstances, new macro definitions
+%% should not be added to this file. You are welcome to modify
+%% the macro definitions contained in this file for your own
+%% use. If you pass a copy of the modified version to someone
+%% else, you should (a) let me know about the change on
+%% fb@soas.ac.uk, and (b) put a note of the changes and of your
+%% own contact details in the file. Furthermore, you must
+%% acknowledge Camel and its author(s) in the new file (if it
+%% is distributed to others), and you must attach these same
+%% conditions to the new file.
+%%
+%% You are not allowed to distribute this file alone. You are not
+%% allowed to take money for the distribution or use of this file
+%% (or a changed version) except for a nominal charge for copying
+%% etc.
+%%
+%% You are allowed to distribute this file under the condition that
+%% it is distributed with all of its contents, intact.
+%%
+%% For error reports, or offers to help make Camel a more powerful,
+%% friendlier, and better package, please contact me on
+%% `fb' at soas.ac.uk
+%%
+FUNCTION { hello }
+{
+" ============================================"
+" bibliography package, version 1.0k or later"
+" Use with LaTeX2e and the Camel prototype "
+" --------------------------------------------"
+" documentation last updated: 5 December 1994 "
+" code last updated: 22 March 1995 "
+" version: 1.0i "
+" Camel style package. "
+" This is the `law' style for BibTeX and the "
+" ============================================"
+stack$
+}
+ENTRY
+{ address
+annote
+author
+booktitle
+chapter
+edition
+editor
+howpublished
+institution
+journal
+key
+month
+note
+number
+organization
+pages
+publisher
+school
+series
+title
+type
+volume
+year
+date
+jurisdiction
+court
+division
+divno
+casedate
+translator
+booktranslator
+cites
+units
+}
+{}
+{ label extra.label sort.label }
+STRINGS { s t u v scrubdate
+ volume.var year.var number.var journal.var pages.var }
+INTEGERS { itemcount date.specials charcount a b c
+ nameptr namesleft numnames a.logical }
+FUNCTION {dc..} {"District Court"}
+FUNCTION {sc..} {"Supreme Court"}
+ FUNCTION {not}
+ { { #0 }
+ { #1 }
+ if$
+ }
+ FUNCTION {and}
+ { 'skip$
+ { pop$ #0 }
+ if$
+ }
+ FUNCTION {or}
+ { { pop$ #1 }
+ 'skip$
+ if$
+ }
+FUNCTION {times.ten}
+ { duplicate$ duplicate$ duplicate$ duplicate$ duplicate$
+ duplicate$ duplicate$ duplicate$ duplicate$
+ + + + + + + + + +
+ }
+FUNCTION {character.length}
+ { 'u :=
+ #0 'charcount :=
+ { u empty$ not }
+ { u
+ #2
+ global.max$ substring$ 'u :=
+ charcount #1 + 'charcount :=
+ }while$
+ charcount
+ }
+FUNCTION {first.in.second}
+ { 's :=
+ duplicate$ empty$
+ { pop$ pop$ #0 #0 }
+ { swap$ duplicate$ character.length 'a :=
+ swap$ duplicate$ character.length 'b :=
+ b a <
+ { pop$ pop$ #0 #0 }
+ { s "end" =
+ { b a - #1 + global.max$ substring$ =
+ { b a - #1 + #1 }
+ { #0 #0
+ }if$
+ }
+ { s "start" =
+ { #1 a substring$ =
+ { #1 #1 }
+ { #0
+ }if$
+ }
+ { s "reverse" =
+ { b a - #1 + 'b :=
+ { b #0 > }
+ { duplicate$
+ b a substring$
+ 's :=
+ swap$ duplicate$ s =
+ { pop$ pop$ b #0 'b := #1 }
+ { b #1 =
+ { pop$ pop$ #0 #0 'b := #0 }
+ { swap$ b #1 - 'b :=
+ }if$
+ }if$
+ }while$
+ }
+ { b a - #1 + 'b := #1 'c :=
+ { c b < }
+ { duplicate$
+ c a substring$
+ 's :=
+ swap$ duplicate$ s =
+ { pop$ pop$ c b 'c := #1 }
+ { b c - #1 =
+ { pop$ pop$ #0 b 'c := #0 }
+ { swap$ c #1 + 'c :=
+ }if$
+ }if$
+ }while$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }
+FUNCTION { get.character.type }
+ { duplicate$ "*" =
+ { pop$ duplicate$ empty$
+ { pop$ "other" }
+ { chr.to.int$ duplicate$
+ duplicate$ #47 > swap$ #58 < and
+ { pop$ "numeral" }
+ { duplicate$ #64 > swap$ duplicate$ #91 < swap$
+ duplicate$ #96 > swap$ #123 < and 'a.logical :=
+ and a.logical or
+ { "letter" }
+ { "other"
+ }if$
+ }if$
+ }if$
+ }
+ { =
+ { "other" }
+ { "letter"
+ }if$
+ }if$
+ }
+FUNCTION { type.last.char }
+ { duplicate$ character.length
+ #1 substring$
+ "*" get.character.type
+ }
+ FUNCTION {empty.to.null}
+ { duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+ }
+FUNCTION { check }
+{ 't :=
+ duplicate$ empty$
+ { "empty " t * " in " * cite$ * warning$}
+ 'skip$
+ if$
+}
+FUNCTION {either.or}
+ { duplicate$ empty$
+ { pop$ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+ }
+ { swap$ duplicate$ empty$
+ { pop$ }
+ { "both items in an either.or pair are non-empty in " cite$ *
+ warning$
+ " I'm using only ONE of these items (the second passed by the function)."
+ warning$
+ pop$
+ }if$
+ }if$
+ }
+FUNCTION {either.or.nowarning}
+ { duplicate$ empty$
+ { pop$ duplicate$ empty$
+ { empty.to.null }
+ 'skip$
+ if$
+ }
+ { swap$ pop$ }
+ if$
+ }
+FUNCTION {must.must.must}
+ { empty.to.null 't :=
+ empty.to.null swap$ empty.to.null swap$ t
+ * *
+ write$
+ }
+FUNCTION {might.ifone.must}
+ { empty.to.null 't :=
+ swap$ duplicate$ empty$
+ { pop$ pop$ t }
+ { swap$ empty.to.null t * * }
+ if$
+ write$
+ }
+FUNCTION {iftwo.might.iftwo}
+ { 't :=
+ duplicate$ empty$
+ { pop$ pop$ }
+ { empty.to.null swap$ empty.to.null swap$
+ t empty.to.null
+ * * write$ }
+ if$
+ }
+FUNCTION {must.ifthree.might}
+ { duplicate$ empty$
+ { pop$ pop$ empty.to.null }
+ { 't :=
+ swap$ empty.to.null
+ swap$ empty.to.null
+ t * *
+ }if$
+ write$
+ }
+FUNCTION {field.tag.no.combine}
+ { "endlabel" =
+ { duplicate$ empty$
+ { pop$ pop$ empty.to.null }
+ { empty.to.null 's := empty.to.null
+ swap$ empty.to.null swap$ s * *
+ }if$
+ }
+ { duplicate$ empty$
+ { pop$ pop$ empty.to.null }
+ { empty.to.null 's := empty.to.null
+ swap$ empty.to.null s swap$ * *
+ }if$
+ }if$
+ }
+FUNCTION {change.letter.case}
+ { 't :=
+ duplicate$ empty$
+ 'skip$
+ { t chr.to.int$ "n" chr.to.int$ =
+ 'skip$
+ { t change.case$ }
+ if$
+ }
+ if$
+ }
+ FUNCTION {n.dashify}
+ { 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+ }
+FUNCTION { gather.chars }
+ {
+ "forward" =
+ { swap$ duplicate$ character.length 'a :=
+ 't :=
+ duplicate$
+ { t #1 #1 substring$ swap$ get.character.type
+ "other" =
+ t empty$ not and }
+ { t #2 global.max$ substring$ 't := duplicate$
+ }while$
+ duplicate$ t #1 #1 substring$ swap$ get.character.type
+ t #1 #1 substring$ swap$
+ "" swap$ duplicate$ 'u :=
+ t #2 global.max$ substring$ 't :=
+ { u = }
+ { * swap$
+ u * 'u :=
+ u #1 #1 substring$ swap$
+ u #1 #1 substring$
+ u #2 global.max$ substring$ 'u :=
+ t #1 #1 substring$ swap$ get.character.type
+ t #1 #1 substring$ swap$
+ duplicate$ u =
+ { t #2 global.max$ substring$ 't := }
+ { swap$ pop$
+ }if$
+ }while$
+ swap$ pop$ t swap$ u
+ }
+ { swap$ duplicate$ character.length 'a :=
+ 't :=
+ duplicate$
+ { t a #1 substring$ swap$ get.character.type
+ "other" =
+ t empty$ not and }
+ { a #1 - 'a :=
+ t #1 a substring$ 't :=
+ }while$
+ duplicate$ t a #1 substring$ swap$ get.character.type
+ t a #1 substring$ swap$
+ "" swap$ duplicate$ 'u :=
+ a #1 - 'a :=
+ t #1 a substring$ 't :=
+ { u = }
+ { swap$ * swap$
+ u * 'u :=
+ u #1 #1 substring$ swap$
+ u #1 #1 substring$
+ u #2 global.max$ substring$ 'u :=
+ t a #1 substring$ swap$ get.character.type
+ t a #1 substring$ swap$
+ duplicate$ u =
+ { a #1 - 'a := t #1 a substring$ 't := }
+ { swap$ pop$
+ }if$
+ }while$
+ swap$ pop$ t swap$ u
+ }if$
+ }
+ FUNCTION {tie.or.space.connect}
+ { duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+ }
+FUNCTION {format.pages}
+ { swap$ duplicate$ empty$
+ { pop$ pop$ "" }
+ { swap$ duplicate$ "short" =
+ { pop$
+ 's :=
+ ""
+ s #1 #1 substring$
+ { "-" = not }
+ { s #1 #1 substring$ *
+ s #2 global.max$ substring$ 's :=
+ s #1 #1 substring$
+ duplicate$ "" =
+ { pop$ "-" }
+ 'skip$
+ if$
+ }
+ while$
+ }
+ { "full" =
+ { pages n.dashify }
+ { "invalid switch fed to the format.pages function"
+ warning$
+ }if$
+ }if$
+ }if$
+}
+FUNCTION {format.names}
+ { swap$ duplicate$ empty$
+ { swap$ pop$ }
+ { 's :=
+ 'u :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { u "lastonly" =
+ { s nameptr "{vv~}{ll}" format.name$ 't := }
+ { u "firstinitial" =
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
+ { u "full" =
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=}
+ { "style error; invalid or non-existent toggle" warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
+ }
+ FUNCTION {format.month.year}
+ { year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+ }
+FUNCTION {fillout.a.year}
+ { duplicate$ character.length #2 =
+ { "19" swap$ * }
+ 'skip$
+ if$
+ }
+FUNCTION {parse.month}
+ { duplicate$ "jan" =
+ { pop$ "1" }
+ { duplicate$ "feb" =
+ { pop$ "2" }
+ { duplicate$ "mar" =
+ { pop$ "3" }
+ { duplicate$ "apr" =
+ { pop$ "4" }
+ { duplicate$ "may" =
+ { pop$ "5" }
+ { duplicate$ "jun" =
+ { pop$ "6" }
+ { duplicate$ "jul" =
+ { pop$ "7" }
+ { duplicate$ "aug" =
+ { pop$ "8" }
+ { duplicate$ "sep" =
+ { pop$ "9" }
+ { duplicate$ "oct" =
+ { pop$ "10" }
+ { duplicate$ "nov" =
+ { pop$ "11" }
+ { duplicate$ "dec" =
+ { pop$ "12" }
+ { "invalid month in " cite$ * warning$
+ "passing text to Camel verbatim" warning$
+ "t" 'scrubdate :=
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }
+FUNCTION { format.month.name }
+ { swap$ duplicate$ empty$
+ { pop$ pop$ "" }
+ { swap$ "long" =
+ { duplicate$ "1" =
+ { "January" }
+ { duplicate$ "2" =
+ { "February" }
+ { duplicate$ "3" =
+ { "March" }
+ { duplicate$ "4" =
+ { "April" }
+ { duplicate$ "5" =
+ { "May" }
+ { duplicate$ "6" =
+ { "June" }
+ { duplicate$ "7" =
+ { "July" }
+ { duplicate$ "8" =
+ { "August" }
+ { duplicate$ "9" =
+ { "September" }
+ { duplicate$ "10" =
+ { "October" }
+ { duplicate$ "11" =
+ { "November" }
+ { duplicate$ "12" =
+ { "December" }
+ { "invalid month in " cite$ * warning$ ""
+ "passing text to Camel verbatim" warning$
+ "t" 'scrubdate :=
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }
+ { duplicate$ "1" =
+ { "Jan." }
+ { duplicate$ "2" =
+ { "Feb." }
+ { duplicate$ "3" =
+ { "Mar." }
+ { duplicate$ "4" =
+ { "Apr." }
+ { duplicate$ "5" =
+ { "May" }
+ { duplicate$ "6" =
+ { "Jun." }
+ { duplicate$ "7" =
+ { "Jul." }
+ { duplicate$ "8" =
+ { "Aug." }
+ { duplicate$ "9" =
+ { "Sept." }
+ { duplicate$ "10" =
+ { "Oct." }
+ { duplicate$ "11" =
+ { "Nov." }
+ { duplicate$ "12" =
+ { "Dec." }
+ { ""
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+swap$ pop$
+ }if$
+ }
+FUNCTION {extract.date}
+ { 'v := "" 's := "" 't := "" 'u :=
+ itemcount #0 =
+ { cites empty$
+ { "some date or other is COMPLETELY empty in " cite$ *
+ warning$ }
+ 'skip$
+ if$
+ }
+ { itemcount #1 =
+ { pop$ fillout.a.year 's := "" 'u := "" 't := }
+ { itemcount #2 =
+ { pop$ swap$ pop$ swap$ duplicate$ character.length #4 =
+ { swap$ "--" swap$ * * 's := "" 't := }
+ { swap$ fillout.a.year 's := 't :=
+ }if$
+ "" 'u :=
+ }
+ { itemcount #3 =
+ { date.specials
+ { pop$ fillout.a.year 's :=
+ "month" =
+ { 't :=
+ pop$ 'u := }
+ { 'u :=
+ pop$ 't :=
+ }if$
+ }
+ { pop$ fillout.a.year 's :=
+ pop$ 'u :=
+ pop$ 't :=
+ }if$
+ }
+ { "too many items for date in " cite$ * warning$
+ }if$
+ }if$
+ }if$
+ }if$
+ v duplicate$ "month.dd.yy" =
+ { pop$ s ", " u "\ " t "long" format.month.name }
+ { duplicate$ "dd.month.yy" =
+ { pop$ s "\ " t "long" format.month.name "\ " u }
+ { duplicate$ "mo.dd.yy" =
+ { pop$ s ", " u "\ " t "short" format.month.name }
+ { duplicate$ "dd.mo.yy" =
+ { pop$ s "\ " t "short" format.month.name "\ " u }
+ { duplicate$ "dd.mm.yy" =
+ { pop$ s "/" t "/" u }
+ { duplicate$ "mm.dd.yy" =
+ { s "/" u "/" t }
+ { "yy" =
+ { "" "" "" "" s }
+ { "invalid date toggle in style file" warning$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ }if$
+ "" 'v :=
+ duplicate$ empty$
+ { pop$ pop$ }
+ { swap$ * 'v := }
+ if$
+ duplicate$ empty$
+ { pop$ pop$ }
+ { swap$ * v swap$ * 'v := }
+ if$
+ duplicate$ empty$
+ { pop$ v }
+ { v swap$ * }
+ if$
+ }
+FUNCTION {topup.date}
+ { 'a :=
+ duplicate$ character.length #2 =
+ { duplicate$ #1 #1 substring$ chr.to.int$ #48 -
+ times.ten swap$ #2 #1 substring$ chr.to.int$ #48 -
+ +
+ }
+ { duplicate$ character.length #1 =
+ { chr.to.int$ #48 - }
+ { pop$ #0 "I can't cope with more than two Japanese year digits in "
+ cite$ * warning$
+ }if$
+ }if$
+ a + int.to.str$
+ }
+FUNCTION {format.jdate}
+ { duplicate$ #2 global.max$ substring$ "*" "forward" gather.chars
+ pop$ 't := swap$
+ #1 #1 substring$ duplicate$ "s" =
+ { pop$ t #1925 topup.date }
+ { duplicate$ "m" =
+ { pop$ t #1867 topup.date }
+ { duplicate$ "t" =
+ { pop$ t #1911 topup.date }
+ { "h" =
+ { t #1988 topup.date }
+ { "invalid Imperial calendar code in " cite$ * warning$
+ }if$
+ }if$
+ }if$
+ }if$
+ swap$
+ "*" "forward" gather.chars
+ pop$ swap$
+ "*" "forward" gather.chars
+ pop$ swap$ pop$ 't := swap$ "default" swap$ t swap$ "default"
+ swap$ "default"
+ #2 'itemcount :=
+ }
+FUNCTION {format.date}
+ { 'v :=
+ empty.to.null 's :=
+ #0 'charcount :=
+ #0 'itemcount :=
+ #0 'date.specials :=
+ { s empty$ not }
+ { s "*" "forward" gather.chars
+ duplicate$ "letter" =
+ { pop$ duplicate$ character.length #1 = itemcount not and
+ { pop$ pop$ s format.jdate "" 's := }
+ { duplicate$ character.length #3 =
+ { swap$ 's :=
+ parse.month "month" #1 'date.specials := }
+ { swap$ 's :=
+ pop$ "1" "invalid date in " cite$ * warning$
+ "passing text to Camel verbatim" warning$
+ "t" 'scrubdate :=
+ "default"
+ }if$
+ }if$
+ }
+ { "numeral" =
+ { duplicate$ character.length #1 =
+ { swap$ 's := "default" }
+ { duplicate$ character.length #2 =
+ { swap$ 's := "default" }
+ { duplicate$ character.length #4 =
+ { swap$ 's := "default" }
+ { swap$ 's := pop$ "1"
+ "invalid numerical element in date for " cite$ * warning$
+ "passing text to Camel verbatim" warning$
+ "t" 'scrubdate :=
+ "default"
+ }if$
+ }if$
+ }if$
+ }
+ { swap$ 's := pop$ "1"
+ "failed to parse date in " cite$ * warning$
+ "default"
+ }if$
+ }if$
+ itemcount #1 + 'itemcount :=
+ }while$
+ v extract.date
+ scrubdate "t" =
+ { pop$ year empty.to.null }
+ 'skip$
+ if$
+ }
+FUNCTION {parse.one.cite}
+{ duplicate$ "=" = not
+ { "=" "forward" gather.chars pop$
+ duplicate$ "[" swap$ "forward" first.in.second
+ { swap$ duplicate$ "]" swap$ "forward" first.in.second
+ { "" 'volume.var :=
+ 'b := swap$ 'a := a b <
+ { duplicate$ a #1 + b a #1 + - substring$
+ 'year.var :=
+ b #1 + global.max$ substring$
+ " " "forward" gather.chars pop$
+ duplicate$ "*" "forward" gather.chars
+ "numeral" =
+ { swap$ duplicate$ empty$
+ { pop$ pop$ 'number.var := }
+ { pop$ pop$ swap$ * "" 'number.var :=
+ }if$
+ }
+ { pop$ pop$ " " swap$ * swap$ * "" 'number.var :=
+ }if$
+ }
+ { "Weird syntax error in " cite$ * warning$
+ }if$
+ }
+ { "Opening [ without closing ] in " cite$ * warning$
+ }if$
+ }
+ { pop$ duplicate$ ")" swap$ "reverse" first.in.second
+ { swap$ duplicate$ "(" swap$ "reverse" first.in.second
+ { 'a := swap$ 'b := a b <
+ { duplicate$ a #1 + b a #1 + - substring$
+ 'year.var :=
+ #1 a #1 - substring$
+ " " "forward" gather.chars pop$
+ duplicate$ "/" swap$ "forward" first.in.second
+ { pop$ "/" "forward" gather.chars pop$
+ swap$ duplicate$ empty$
+ { pop$ "" 'number.var := }
+ { #2 global.max$ substring$
+ 'number.var :=
+ }if$
+ }
+ { pop$ "" 'number.var :=
+ }if$
+ duplicate$ empty$
+ { pop$ "" 'volume.var := }
+ { duplicate$ "*" "forward" gather.chars
+ "numeral" =
+ { swap$ duplicate$ empty$
+ { pop$ pop$ 'volume.var := }
+ { pop$ pop$ swap$ * "" 'volume.var :=
+ }if$
+ }
+ { pop$ pop$ " " swap$ * swap$ * "" 'volume.var :=
+ }if$
+ }if$
+ }
+ { "Weird syntax error in " cite$ * warning$
+ }if$
+ }
+ { "Closing ) without opening ( in " cite$ * warning$
+ }if$
+ }
+ { pop$ "No recognizable date in string in " cite$ * warning$
+ }if$
+ }if$
+ " " swap$ * " " "reverse" gather.chars pop$
+ duplicate$ "*" "forward" gather.chars
+ "numeral" =
+ { swap$ duplicate$ empty$
+ { pop$ pop$ 'pages.var := }
+ { pop$ pop$ swap$ * "" 'pages.var :=
+ }if$
+ }
+ { pop$ pop$ swap$ * "" 'pages.var :=
+ }if$
+ duplicate$ empty$
+ { 'journal.var := }
+ { duplicate$ character.length #2 -
+ #3 swap$ substring$ 'journal.var :=
+ }if$
+ }
+ 'skip$
+ if$
+}
+FUNCTION {build.bridges}
+ { duplicate$ empty$
+ { pop$ skip$ }
+ { duplicate$ "sections" =
+ { pop$ "\bridges{\ \S~}{}{\ \S\S~}{\ }{\ \S~}{\ \S\S~}"
+ "" "" must.must.must
+ }
+
+ { duplicate$ "articles" =
+ { pop$
+ "\bridges{\ art.~}{}{\ arts.~}{\ }{\ art.~}{\ arts.~}"
+ "" "" must.must.must
+ }
+ { "schedules" =
+ { "\bridges{\ sched.~}{}{\ scheds.~}{\ }{\ sched.~}{\ scheds.~}"
+ "" "" must.must.must
+ }
+ 'skip$
+ if$
+ }if$
+ }if$
+ }if$
+ }
+FUNCTION { get.a.kinda.sort.key }
+{ author empty$
+ { title empty$
+ { "0000" }
+ { title "*" "forward" gather.chars pop$
+ duplicate$ "l" change.letter.case "the" =
+ { pop$ "*" "forward" gather.chars pop$ swap$ pop$ }
+ { duplicate$ "l" change.letter.case "a" =
+ { pop$ "*" "forward" gather.chars pop$ swap$ pop$ }
+ { swap$ pop$
+ }if$
+ }if$
+ }if$
+ }
+ { author #1 "{ll}" format.name$
+ }if$
+}
+FUNCTION {j.format.division}
+ { division empty$
+ 'skip$
+ { dc.. court "end" first.in.second
+ { pop$ " No.~" 's := "endlabel" 't := }
+ { pop$ sc.. court "start" first.in.second
+ { pop$ "No.\ " 's := "frontlabel" 't := }
+ { pop$ " " 's := "endlabel" 't :=
+ }if$
+ }if$
+ }if$
+ division s divno t field.tag.no.combine
+ }
+FUNCTION {article}
+{ volume empty$ not number empty$ not and
+ volume empty$ number empty$ year "mo.dd.yy" format.date
+ pop$ itemcount #1 = not and and or
+ { "\bridges{,\ p.~}{,\ }{,\ }{\ }{\ at~}{\ at~}"
+ "" "" must.must.must
+ newline$
+ }
+ { title type.last.char "numeral" =
+ { "\bridges{,\ }{,\ }{,\ }{\ }{\ at~}{\ at~}"
+ "" "" must.must.must
+ newline$
+ }
+ 'skip$
+ if$
+ }if$
+ "\lexibib{article}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key
+ "}{" "" must.must.must
+author "lastonly" format.names
+"}{"
+""
+must.must.must
+title "title" check
+"}{"
+""
+must.must.must
+ volume empty$ not number empty$ not and
+ { journal "journal" check ", v.~" volume must.must.must
+ ", n.~" number "}{" must.must.must }
+ { volume empty$ not
+ { volume "\ " journal "journal" check empty.to.null
+ might.ifone.must
+ "}{" "" "" must.must.must}
+ { year "mo.dd.yy" format.date itemcount #1 =
+ { "[" swap$ "] " iftwo.might.iftwo
+ number "\ " journal "journal" check might.ifone.must
+ "}{" "" "" must.must.must}
+ { pop$ number empty$
+ { "\\" journal "journal" check "\\" must.must.must
+ "}{" "" "" must.must.must }
+ { number "\ " journal "journal" check might.ifone.must
+ "}{" "" "" must.must.must
+ }if$
+ }if$
+ }if$
+ }if$
+pages "short" format.pages "pages" check
+"}{"
+""
+must.must.must
+volume empty$ not
+ { "(" "" "" must.must.must
+ publisher ":\ " "" might.ifone.must
+ "" year "mo.dd.yy" format.date ")" must.must.must }
+ { year "mo.dd.yy" format.date itemcount #1 =
+ 'pop$
+ { "" "" must.must.must
+ }if$
+ }if$
+crossref empty$
+{ "}" "" "" must.must.must }
+{ booktitle empty$
+ { "no booktitle (name of special issue) for "
+ cite$ "/" crossref ". Why a crossref?" * * * * warning$
+ "}" "" "" must.must.must }
+ { volume empty$ {""} {") ("} if$ booktitle "}" must.must.must}
+ if$
+}if$
+newline$
+}
+FUNCTION {book}
+{ title type.last.char "numeral" =
+ { "\bridges{,\ }{}{,\ }{\ }{\ at~}{\ at~}"
+ "" "" must.must.must
+ newline$
+ }
+ { units empty.to.null "paras" =
+ { "\bridges{,\ para.~}{}{,\ paras.~}{\ }{,\ para.~}{,\ paras.}"
+ "" "" must.must.must
+ newline$
+ }
+ 'skip$
+ if$
+ }if$
+ "\lexibib{book}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{" must.must.must
+ volume empty$
+ { "" }
+ { "\volno\ " }
+ if$
+ author
+ "firstinitial" format.names "}{" must.must.must
+ booktitle empty$
+ { title "title" check "" "" must.must.must }
+ { booktitle ": " title must.ifthree.might
+ }if$
+ type empty.to.null "cmnd" =
+ type empty.to.null "command" =
+ type empty.to.null "command papers" =
+ or or
+ { ", " year "mo.dd.yy" format.date
+ ", " "Cmnd. "
+ * * *
+ series empty$
+ { "no.~" }
+ { "Ser.~" series ", No.~" * *
+ }if$
+ number "number" check
+ * *
+ "" "" must.must.must
+ }
+ 'skip$
+ if$
+ "}{}{}{" "(" "" must.must.must
+ editor empty$ translator empty$ and
+ { series empty$
+ 'skip$
+ { series " No.~" number
+ "endlabel" field.tag.no.combine ", " "" must.must.must }
+ if$
+ }
+ { editor translator either.or "firstinitial" format.names
+ translator empty$
+ { editor num.names$ #1 >
+ { " eds.\ " }
+ { " ed.\ " }
+ if$
+ }
+ { " trans.\ " }
+ if$
+ "" must.must.must
+ }if$
+ edition " ed.\ " "" might.ifone.must
+ type empty.to.null "cmnd" =
+ type empty.to.null "command" =
+ type empty.to.null "command papers" =
+ or or
+ { "" }
+ { year "mo.dd.yy" format.date
+ }if$
+ ")}" "" must.must.must
+ newline$
+}
+FUNCTION{incollection}
+{ "\lexibib{incollection}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{" must.must.must
+ author "lastonly" format.names "author" check
+ "}{" "" must.must.must
+ title "title" check
+ "}{" "" must.must.must
+ chapter empty$
+ { "\\in \\" }
+ { "\\" type empty$
+ { "chapter " chapter "chapter" check " of \\" * * * }
+ { type " " chapter "chapter" check " of \\" * * * *
+ }if$
+ }if$
+ booktitle "booktitle" check
+ "}{" must.must.must
+ pages "short" format.pages "pages" check
+ "}{" "(" must.must.must
+ editor empty$ translator empty$ and
+ { series empty$
+ 'skip$
+ { series " No.~" number
+ "endlabel" field.tag.no.combine ", " "" must.must.must }
+ if$
+ }
+ { editor booktranslator either.or "firstinitial" format.names
+ booktranslator empty$
+ { editor num.names$ #1 >
+ { " eds.\ " }
+ { " ed.\ " }
+ if$
+ }
+ { " trans.\ " }
+ if$
+ "" must.must.must
+ }if$
+ edition " ed.\ " "" might.ifone.must
+ year "mo.dd.yy" format.date ")}" "" must.must.must
+ newline$
+}
+FUNCTION{inbook}
+{ "\lexibib{inbook}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{" must.must.must
+ author "firstinitial" format.names "author" check
+ "}{" "" must.must.must
+ title booktitle =
+ { chapter empty$
+ { "no chapter or separate title for inbook entry " cite$ * warning$
+ }
+ { "{\rm " "Chapter" type either.or.nowarning
+ " " chapter " of} " * * * *
+ }if$
+ }
+ { ""
+ }if$
+ title "title" check
+ "}{" must.must.must
+ title booktitle =
+ { "" }
+ { chapter empty$
+ { "{\rm in} " }
+ { type empty$
+ { "{\rm Chapter " chapter " of} " * * }
+ { "{\rm " type " " chapter " of} " * * * *
+ }if$
+ }if$
+ }if$
+ booktitle "booktitle" check
+ "}{" must.must.must
+ pages "short" format.pages "pages" check
+ "}{" "(" must.must.must
+ translator empty$
+ { series empty$
+ 'skip$
+ { series " No.~" number
+ "endlabel" field.tag.no.combine ", " "" must.must.must }
+ if$
+ }
+ { translator "firstinitial" format.names
+ " trans.\ "
+ "" must.must.must
+ }if$
+ edition " ed.\ " "" might.ifone.must
+ year "mo.dd.yy" format.date ")" "}" must.must.must
+ newline$
+}
+FUNCTION{booklet}
+{ "\lexibib{booklet}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{" must.must.must
+ author "full" format.names "}{" "" must.must.must
+ "\\" title "\\}{}{}{(" must.must.must
+ howpublished ", " "" might.ifone.must
+ year "mo.dd.yy" format.date
+ ")}" "" must.must.must
+ newline$
+}
+FUNCTION {techreport}
+{"\lexibib{techreport}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{" must.must.must
+ institution author either.or.nowarning
+ "full" format.names "author & institution" check
+ "}{" title "title" check must.must.must
+ "}{}{}{" "(" "" must.must.must
+ author empty$
+ 'skip$
+ {institution "\ " "" might.ifone.must
+ }if$
+ type empty$
+ { "Technical report" }
+ { type
+ }if$
+ type empty.to.null "Cmnd" =
+ { "\ " }
+ { " No.~"
+ }if$
+ number "endlabel" field.tag.no.combine
+ ", " "" must.must.must
+ year "mo.dd.yy" format.date
+ "" ")}" must.must.must
+ newline$
+ }
+FUNCTION {mastersthesis}
+{"\lexibib{mastersthesis}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "}{" "" must.must.must
+ author
+ "full" format.names "author" check
+ "}{" title "title" check must.must.must
+ "}{}{}{("
+ type empty$
+ { "Master's Thesis" }
+ { type
+ }if$
+ ", " must.must.must
+ institution "institution" check ", " "" might.ifone.must
+ year "mo.dd.yy" format.date
+ ")" "}" must.must.must
+ newline$
+ }
+FUNCTION {clear.cite.vars}
+ {
+"" 'volume.var :=
+"" 'number.var :=
+"" 'journal.var :=
+"" 'pages.var :=
+"" 'year.var :=
+ }
+FUNCTION {case}
+{ cites empty.to.null "=" *
+ journal empty$
+ { parse.one.cite }
+ { volume empty.to.null 'volume.var :=
+ number empty.to.null 'number.var :=
+ journal 'journal.var :=
+ pages empty.to.null 'pages.var :=
+ year empty.to.null 'year.var :=
+ }if$
+ volume.var empty$ not number.var empty$ not and
+ { "\bridges{,\ p.~}{,\ }{,\ }{\ }{\ at~}{\ at~}"
+ "" "" must.must.must
+ newline$ }
+ 'skip$
+ if$
+ "\lexibib{case}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{}{" must.must.must
+ title empty$
+ { "Decision of the " court "court" check "" must.must.must
+ " (" j.format.division ")" iftwo.might.iftwo
+ ", " "" "" must.must.must
+ casedate "month.dd.yy" format.date "" "" must.must.must
+ "}{" "" "" must.must.must
+ }
+ { title "}{" "" must.must.must }
+ if$
+ volume.var empty$ not number.var empty$ not and
+ { journal.var "journal" check ", v.~" volume.var must.must.must
+ ", n.~" number.var "}{" must.must.must }
+ { volume.var empty$
+ { "[" year.var "mo.dd.yy" format.date "] " iftwo.might.iftwo
+ number.var "\ " journal.var "journal" check might.ifone.must
+ "}{" "" "" must.must.must }
+ { volume.var "\ " journal.var "journal" check empty.to.null
+ might.ifone.must
+ "}{" "" "" must.must.must
+ }if$
+ }if$
+pages.var "short" format.pages "pages" check
+"}{"
+"("
+must.must.must
+volume.var empty$
+ 'skip$
+ { year.var "mo.dd.yy" format.date "" "" must.must.must
+ }if$
+crossref empty$
+{ ")}" "" "" must.must.must }
+{ booktitle empty$
+ { "no booktitle (name of special issue) for "
+ cite$ "/" crossref * * * warning$
+ ")}" "" "" must.must.must }
+ { volume.var empty$ {""} {") ("} if$ booktitle "}" must.must.must}
+ if$
+}if$
+{ duplicate$ "=" = not }
+{ parse.one.cite
+ "={" "" "" must.must.must
+ volume.var empty$ not number.var empty$ not and
+ { journal.var "journal" check ", v.~" volume.var must.must.must
+ ", n.~" number.var "}{" must.must.must }
+ { volume.var empty$
+ { "[" year.var "mo.dd.yy" format.date "] " iftwo.might.iftwo
+ number.var "\ " journal.var "journal" check might.ifone.must
+ "}{" "" "" must.must.must }
+ { volume.var "\ " journal.var "journal" check empty.to.null
+ might.ifone.must
+ "}{" "" "" must.must.must
+ }if$
+ }if$
+pages.var "short" format.pages "pages" check
+"}{"
+""
+must.must.must
+volume.var empty$
+ 'skip$
+ { "(" year.var "mo.dd.yy" format.date ")" must.must.must
+ }if$
+crossref empty$
+{ "}" "" "" must.must.must }
+{ booktitle empty$
+ { "no booktitle (name of special issue) for "
+ cite$ "/" crossref * * * warning$
+ "}" "" "" must.must.must }
+ { volume.var empty$ {""} {") ("} if$ booktitle "}" must.must.must}
+ if$
+}if$
+}while$
+pop$
+clear.cite.vars
+newline$
+annote empty.to.null write$ newline$
+}
+FUNCTION {j.statute}
+ { "\lexibib{jstatute}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{}{" must.must.must
+ title "title" check empty.to.null "}{}{}{" "" must.must.must
+ title empty$ {""} {"("} if$
+ "" "" must.must.must
+ number empty$
+ 'skip$
+ { type empty$
+ { "Law" }
+ { type
+ }if$
+ "\ no.~" *
+ number "number" check " of "
+ iftwo.might.iftwo
+ }
+ if$
+ year "yy" format.date
+ title empty$ {""} {")"} if$
+ "}" must.must.must
+ newline$
+ }
+FUNCTION { s.statute }
+{ "\lexibib{statute}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{}{" must.must.must
+ title "title" check ", No.~" number
+ "endlabel" field.tag.no.combine
+ number empty$
+ { "\ " * }
+ { "\ of " * }
+ if$
+ year "mo.dd.yy" format.date "}{}{}{}" must.must.must
+ newline$
+}
+FUNCTION { e.statute }
+{ "\lexibib{statute}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{}{" must.must.must
+ title "title" check "\ "
+ year "mo.dd.yy" format.date must.must.must
+ "}{}{}{}" "" "" must.must.must
+ newline$
+}
+FUNCTION { statute }
+ { type build.bridges
+ jurisdiction empty.to.null duplicate$
+ "japan" =
+ { pop$ j.statute }
+ { duplicate$ "singapore" =
+ { pop$ s.statute }
+ { duplicate$ "england" =
+ { pop$ e.statute }
+ { pop$ "IMPORTANT: unknown jurisdiction for " cite$ * warning$
+ }if$
+ }if$
+ }if$
+ }
+FUNCTION {unpublished}
+{ "\lexibib{book}{" cite$ "}{" must.must.must
+ get.a.kinda.sort.key "" "}{" must.must.must
+ author "firstinitial" format.names "}{" "" must.must.must
+ title "title" check "" "" must.must.must
+ "}{}{}{" "(" "" must.must.must
+ note
+ ")}" "" must.must.must
+ newline$
+}
+FUNCTION {default.type} { book }
+READ
+EXECUTE {hello}
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year "yy" format.date purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year "yy" format.date purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {case.sort}
+{ title empty$
+ { key empty$
+ { "to sort, need title or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { title sort.format.title }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ { type$ "case" =
+ 'case.sort
+ { type$ "statute" =
+ 'case.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year "yy" format.date sortify
+ *
+ " "
+ *
+ title empty.to.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+%%
+%%
+%% End of file `law.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/chem-journal/jcc.bst b/Master/texmf-dist/bibtex/bst/chem-journal/jcc.bst
new file mode 100644
index 00000000000..8370282bd53
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/chem-journal/jcc.bst
@@ -0,0 +1,990 @@
+% BibTeX bibliography style `jcc' for J. Comp. Chem.
+% 1/26/96 Joerg-R. Hill
+% no output of 'title' for 'article', 'book', 'inbook', 'incollection'
+% no output of 'note' except in 'unpublished'
+%
+% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+% Copyright (C) 1985, all rights reserved.
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than
+% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+% This restriction helps ensure that all standard styles are identical.
+% The file btxbst.doc has the documentation for this style.
+%
+% Fixed article, book references 11/10/92---CLF
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block after.item author.or.editor }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.item :=
+}
+
+FUNCTION {add.semicolon}
+{ duplicate$
+ #-1 #1 substring$ "}" =
+ { #-2 #1024 substring$ ";} " * }
+ { "; " * }
+ if$
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.semicolon write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.item =
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {new.item}
+{ duplicate$ empty$
+ { skip$ }
+ { output.state mid.sentence =
+ { after.item 'output.state := }
+ { skip$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.item.checka}
+{ empty$
+ 'skip$
+ 'new.item
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { #1 'author.or.editor :=
+ author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { #2 'author.or.editor :=
+ editor format.names
+ editor num.names$ #1 >
+ { ", Eds." * }
+ { ", Ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ { year paren }
+ { month " " * year paren }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.bdate}
+{ year empty$
+ { "there's no year in " cite$ * warning$ }
+ 'year
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol. " volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume boldface field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.booktitle.ed}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " booktitle emphasize * ", " * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher ", " * address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output new.item
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.pub.address "publisher" output.check
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.bdate "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output new.item
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull }
+ if$
+ format.in.booktitle.ed "title" output.check
+ crossref missing$
+ { format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ new.block
+ format.bvolume output
+ new.block
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ crossref missing$
+ { format.in.booktitle.ed "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.edition output
+ format.bdate "year" output.check
+ new.block
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.bdate "year" output.check
+ }
+ { address output.nonnull
+ format.bdate "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.title "title" output.check new.sentence
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull new.item }
+ if$
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.title "title" output.check new.item
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished new.item.checka
+ howpublished output
+ format.bdate output
+ new.block
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.btitle "title" output.check new.item
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull new.item }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.title "title" output.check new.item
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check new.item
+% format.title "title" output.check new.item
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {bbrc} {"Biochem. Biophys. Res. Commun."}
+
+MACRO {jacs} {"J. Amer. Chem. Soc."}
+
+MACRO {jbc} {"J. Biol. Chem."}
+
+MACRO {pnas} {"Proc. Natl. Acad. Sci."}
+
+MACRO {jmb} {"J. Mol. Biol."}
+
+MACRO {embo} {"EMBO J."}
+
+MACRO {tibs} {"Trends Biochem. Sci."}
+
+MACRO {protsfg} {"Proteins: Struct. Func. Gen."}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/chem-journal/jpc.bst b/Master/texmf-dist/bibtex/bst/chem-journal/jpc.bst
new file mode 100644
index 00000000000..66f83d5a894
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/chem-journal/jpc.bst
@@ -0,0 +1,990 @@
+% BibTeX bibliography style `jpc' for J. Phys. Chem.
+% 8/9/93 Joerg-R. Hill
+% no output of 'title' for 'article', 'book', 'inbook', 'incollection'
+% no output of 'note' except in 'unpublished'
+%
+% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+% Copyright (C) 1985, all rights reserved.
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than
+% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+% This restriction helps ensure that all standard styles are identical.
+% The file btxbst.doc has the documentation for this style.
+%
+% Fixed article, book references 11/10/92---CLF
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block after.item author.or.editor }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.item :=
+}
+
+FUNCTION {add.semicolon}
+{ duplicate$
+ #-1 #1 substring$ "}" =
+ { #-2 #1024 substring$ ";} " * }
+ { "; " * }
+ if$
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.semicolon write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.item =
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {new.item}
+{ duplicate$ empty$
+ { skip$ }
+ { output.state mid.sentence =
+ { after.item 'output.state := }
+ { skip$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.item.checka}
+{ empty$
+ 'skip$
+ 'new.item
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f}." format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { author.or.editor #1 =
+ { "; " * t * }
+ { ", " * t * }
+ if$
+ }
+ { t "others" =
+ { " et~al." * }
+ { author.or.editor #1 =
+ { "; " * t * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { #1 'author.or.editor :=
+ author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { #2 'author.or.editor :=
+ editor format.names
+ editor num.names$ #1 >
+ { ", Eds." * }
+ { ", Ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ { year boldface }
+ { month " " * year boldface }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.bdate}
+{ year empty$
+ { "there's no year in " cite$ * warning$ }
+ 'year
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol. " volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume emphasize field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.booktitle.ed}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " booktitle emphasize * "; " * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher ": " * address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ crossref missing$
+ { journal emphasize "journal" output.check new.item
+ format.date "year" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check new.item }
+ { format.authors output.nonnull new.item
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.bdate "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output new.item
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check new.item }
+ { format.authors output.nonnull new.item }
+ if$
+ format.in.booktitle.ed "title" output.check
+ new.block
+ crossref missing$
+ { format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ new.block
+ format.bvolume output
+ new.block
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ crossref missing$
+ { format.in.booktitle.ed "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.edition output
+ format.bdate "year" output.check
+ new.block
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.bdate "year" output.check
+ }
+ { address output.nonnull
+ format.bdate "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.title "title" output.check new.sentence
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull new.item }
+ if$
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.title "title" output.check new.item
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.title output
+ new.sentence
+ format.authors output new.item
+ howpublished new.item.checka
+ howpublished output
+ format.date output
+ new.block
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.btitle "title" output.check new.item
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull new.item }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.title "title" output.check new.item
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check new.item
+% format.title "title" output.check new.item
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {bbrc} {"Biochem. Biophys. Res. Commun."}
+
+MACRO {jacs} {"J. Amer. Chem. Soc."}
+
+MACRO {jbc} {"J. Biol. Chem."}
+
+MACRO {pnas} {"Proc. Natl. Acad. Sci."}
+
+MACRO {jmb} {"J. Mol. Biol."}
+
+MACRO {embo} {"EMBO J."}
+
+MACRO {tibs} {"Trends Biochem. Sci."}
+
+MACRO {protsfg} {"Proteins: Struct. Func. Gen."}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/chem-journal/pccp.bst b/Master/texmf-dist/bibtex/bst/chem-journal/pccp.bst
new file mode 100644
index 00000000000..9c73cdbf538
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/chem-journal/pccp.bst
@@ -0,0 +1,989 @@
+% BibTeX bibliography style `pccp' for Phys. Chem. Chem. Phys.
+% 5/5/00 Joerg-R. Hill
+% no output of 'title' for 'article', 'book', 'inbook', 'incollection'
+% no output of 'note' except in 'unpublished'
+%
+% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+% Copyright (C) 1985, all rights reserved.
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than
+% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+% This restriction helps ensure that all standard styles are identical.
+% The file btxbst.doc has the documentation for this style.
+%
+% Fixed article, book references 11/10/92---CLF
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block after.item author.or.editor }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.item :=
+}
+
+FUNCTION {add.semicolon}
+{ duplicate$
+ #-1 #1 substring$ "}" =
+ { #-2 #1024 substring$ ";} " * }
+ { "; " * }
+ if$
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.semicolon write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.item =
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {new.item}
+{ duplicate$ empty$
+ { skip$ }
+ { output.state mid.sentence =
+ { after.item 'output.state := }
+ { skip$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.item.checka}
+{ empty$
+ 'skip$
+ 'new.item
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { #1 'author.or.editor :=
+ author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { #2 'author.or.editor :=
+ editor num.names$ #1 >
+ { "ed. " * }
+ { "ed. " * }
+ if$
+ editor format.names
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ { year }
+ { month " " * year }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.bdate}
+{ year empty$
+ { "there's no year in " cite$ * warning$ }
+ 'year
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol. " volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume boldface field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.booktitle.ed}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher ", " * address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.date "year" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.pub.address "publisher" output.check
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.bdate "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output new.item
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull }
+ if$
+ format.in.booktitle.ed "title" output.check
+ crossref missing$
+ { format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ new.block
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ crossref missing$
+ { format.in.booktitle.ed "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.edition output
+ format.bdate "year" output.check
+ new.block
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.bdate "year" output.check
+ }
+ { address output.nonnull
+ format.bdate "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.title "title" output.check new.sentence
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull new.item }
+ if$
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check new.item
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished new.item.checka
+ howpublished output
+ format.bdate output
+ new.block
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.btitle "title" output.check new.item
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull new.item }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.title "title" output.check new.item
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+% format.title "title" output.check new.item
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {bbrc} {"Biochem. Biophys. Res. Commun."}
+
+MACRO {jacs} {"J. Amer. Chem. Soc."}
+
+MACRO {jbc} {"J. Biol. Chem."}
+
+MACRO {pnas} {"Proc. Natl. Acad. Sci."}
+
+MACRO {jmb} {"J. Mol. Biol."}
+
+MACRO {embo} {"EMBO J."}
+
+MACRO {tibs} {"Trends Biochem. Sci."}
+
+MACRO {protsfg} {"Proteins: Struct. Func. Gen."}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/chem-journal/revcompchem.bst b/Master/texmf-dist/bibtex/bst/chem-journal/revcompchem.bst
new file mode 100644
index 00000000000..e3f7c5be881
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/chem-journal/revcompchem.bst
@@ -0,0 +1,993 @@
+% BibTeX bibliography style `revcompchem' for Reviews in Computational Chemistry
+% 4/28/98 Joerg-R. Hill
+%
+% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+% Copyright (C) 1985, all rights reserved.
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than
+% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+% This restriction helps ensure that all standard styles are identical.
+% The file btxbst.doc has the documentation for this style.
+%
+% Fixed article, book references 11/10/92---CLF
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block after.item author.or.editor }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.item :=
+}
+
+FUNCTION {add.semicolon}
+{ duplicate$
+ #-1 #1 substring$ "}" =
+ { #-2 #1024 substring$ ";} " * }
+ { "; " * }
+ if$
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.semicolon write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.item =
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {new.item}
+{ duplicate$ empty$
+ { skip$ }
+ { output.state mid.sentence =
+ { after.item 'output.state := }
+ { skip$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.item.checka}
+{ empty$
+ 'skip$
+ 'new.item
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { #1 'author.or.editor :=
+ author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { #2 'author.or.editor :=
+ editor format.names
+ editor num.names$ #1 >
+ { ", Eds." * }
+ { ", Ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ { year paren }
+ { month " " * year paren }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.bdate}
+{ year empty$
+ { "there's no year in " cite$ * warning$ }
+ 'year
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol. " volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume boldface field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.booktitle.ed}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher ", " * address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output new.item
+ format.date "year" output.check new.sentence
+ format.title "title" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.pub.address "publisher" output.check
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.bdate "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output new.item
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull }
+ if$
+ format.in.booktitle.ed "booktitle" output.check
+ crossref missing$
+ { format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ new.block
+ format.bvolume output
+ new.block
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ title empty$
+ { "need title for " cite$ * warning$ }
+ { format.title output }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ crossref missing$
+ { format.in.booktitle.ed "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.edition output
+ format.bdate "year" output.check
+ new.block
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.bdate "year" output.check
+ }
+ { address output.nonnull
+ format.bdate "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.title "title" output.check new.sentence
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull new.item }
+ if$
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.title "title" output.check new.item
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished new.item.checka
+ howpublished output
+ format.bdate output
+ new.block
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.btitle "title" output.check new.item
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull new.item }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check new.item
+ format.title "title" output.check new.item
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check new.item
+% format.title "title" output.check new.item
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {bbrc} {"Biochem. Biophys. Res. Commun."}
+
+MACRO {jacs} {"J. Amer. Chem. Soc."}
+
+MACRO {jbc} {"J. Biol. Chem."}
+
+MACRO {pnas} {"Proc. Natl. Acad. Sci."}
+
+MACRO {jmb} {"J. Mol. Biol."}
+
+MACRO {embo} {"EMBO J."}
+
+MACRO {tibs} {"Trends Biochem. Sci."}
+
+MACRO {protsfg} {"Proteins: Struct. Func. Gen."}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/computational-complexity/cc.bst b/Master/texmf-dist/bibtex/bst/computational-complexity/cc.bst
new file mode 100644
index 00000000000..ebaf928d197
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/computational-complexity/cc.bst
@@ -0,0 +1,1383 @@
+% File name: cc.bst
+%
+% cc.bst style file for BibTeX.
+% February 6, 1996
+% This style file provides the following citation facilities:
+% Usage in Tex Output:
+% file:
+% \cite Cook (1990)
+% \citeauthor Cook
+% \citeyear 1990
+% \citemul Cook (1990, 1991a, 1991b)
+% \shortcite Cook 1990
+% \parencite (Cook 1990)
+% \nocite
+
+% It was prepared by modifying previous style files.
+% Here are acknowledgements:
+%> BibTeX `named' style file for BibTeX version 0.99c, LaTeX version 2.09
+%> Place it in a file called named.bst in the BibTeX search path. (Placing it
+%> in the same directory as the LaTeX document should also work.)
+%> Support for named citations is provided by named.sty
+
+%> This version was made by modifying the master file made by
+%> Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU)
+
+%> Copyright (C) 1985, all rights reserved.
+%> Modifications Copyright 1988, Peter F. Patel-Schneider
+%> Copying of this file is authorized only if either
+%> (1) you make absolutely no changes to your copy, including name, or
+%> (2) if you do make changes, you name it something other than
+%> btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+%> This restriction helps ensure that all standard styles are identical.
+
+%> There are undoubtably bugs in this style. If you make bug fixes,
+%> improvements, etc. please let me know. My e-mail address is:
+%> pfps@research.att.com
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { mode s t }
+
+%FUNCTION {message}
+%{
+% duplicate$ top$
+%}
+
+FUNCTION {output.nonnull}
+{ 's :=
+%%%% "output.nonnull" top$
+%%%% output.state top$
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+%%%% { ", " * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {semi.block}
+{ %%%%"semi.block" top$
+ mid.sentence 'output.state :=
+}
+
+%FUNCTION {semi.block}
+%{ output.state mid.sentence =
+% 'skip$
+% { after.block 'output.state := }
+% if$
+%}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.semiblock.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'semi.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sl " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {bold}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ "{\sc " *
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ "}" *
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { "ed.\ "
+ editor format.names *
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "" }
+ { editor format.names
+ ", ed." *
+ }
+ if$
+}
+
+FUNCTION {format.editors.simple}
+{ editor empty$
+ { "" }
+ { editor format.names }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+% { "there's a month but no year in " cite$ * warning$
+% month
+% }
+ { }
+ if$
+ }
+% { month empty$
+% {year extra.label * }
+% { month " " * year * extra.label *}
+% if$
+% }
+ { year extra.label * }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+%FUNCTION {format.bvolume}
+%{ volume empty$
+% { "" }
+% { series empty$
+% 'skip$
+% {series emphasize ",\ vol.\ " * volume *}
+% if$
+% "volume and number" number either.or.check
+% }
+% if$
+%}
+%FUNCTION {format.bvolume}
+%{ volume empty$
+% { "" }
+% { series empty$
+% 'skip$
+% {series emphasize "\ " * volume bold *}
+% if$
+% "volume and number" number either.or.check
+% }
+% if$
+%}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+%FUNCTION {format.number.series}
+%{ volume empty$
+% { number empty$
+% { series field.or.null }
+% { output.state mid.sentence =
+% { "number" }
+% { "Number" }
+% if$
+% number tie.or.space.connect
+% series empty$
+% { "there's a number but no series in " cite$ * warning$ }
+% { " in " * series * }
+% if$
+% }
+% if$
+% }
+% { "" }
+% if$
+%}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series "\ " * number bold * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { pages n.dashify }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.year}
+{ volume field.or.null bold
+ number empty$
+ 'skip$
+ { "(" number * ")\," * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ year empty$
+ 'skip$
+ { "\ (" * format.date * ")" * }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null bold
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ",\, pp.\, " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " booktitle emphasize * ", " * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ address empty$
+ 'publisher
+ { publisher ", " * address * }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \shortcite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \shortcite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \shortcite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "\ " * format.vol.num.year * "journal" output.check
+ format.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors.simple "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ semi.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ semi.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ semi.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address "publisher" output.check
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ format.publisher.address "publisher" output.check
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date output
+ }
+ { address output.nonnull
+ format.date output
+%%%% new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ semi.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors "author" output.check
+ title howpublished new.semiblock.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+% { format.editors output.nonnull }
+ { format.editors.reverse output.nonnull }
+ if$
+ semi.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+
+MACRO {jan} {"January"}
+MACRO {feb} {"February"}
+MACRO {mar} {"March"}
+MACRO {apr} {"April"}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"August"}
+MACRO {sep} {"September"}
+MACRO {oct} {"October"}
+MACRO {nov} {"November"}
+MACRO {dec} {"December"}
+
+
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{
+ 's :=
+ s num.names$ 'numnames :=
+
+ mode "cite" =
+ { numnames #1 =
+ { s #1 "{vv }{ll}" format.name$ }
+ { numnames #2 =
+ { s #1 "{vv }{ll }\& " format.name$ s #2 "{vv }{ll}" format.name$ * }
+ { s #1 "{vv }{ll }\bgroup \em et al.\egroup " format.name$ }
+ if$
+ }
+ if$
+ }
+ { numnames #1 =
+ { s #1 "{ll}" format.name$ }
+ { numnames #2 =
+ { s #1 "{ll }\& " format.name$ s #2 "{ll}" format.name$ * }
+ { s #1 "{ll }\bgroup \em et al.\egroup " format.name$ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{
+ "cite" 'mode :=
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+
+ "\protect\citeauthoryear{" swap$ * "}{" *
+ year field.or.null purify$ * % CHANGED - pfps - 15 Feb 1989
+ 'label :=
+
+ "sort" 'mode :=
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ " " *
+ year field.or.null purify$ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+
+{ calc.label
+ sort.label
+
+ " "
+ *
+ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ *
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ cite$
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label := % CHANGED - pfps 15 Feb 1989
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+
+ "\begin{thebibliography}{}\small" write$ newline$
+
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/computational-complexity/cc2.bst b/Master/texmf-dist/bibtex/bst/computational-complexity/cc2.bst
new file mode 100644
index 00000000000..fb6b8e55522
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/computational-complexity/cc2.bst
@@ -0,0 +1,1667 @@
+%%
+%% This is file `cc2.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `,ay,nat,lang,vonx,ed-au,nmft,nmft-sc,nmfted,nmand-rm,dt-beg,yr-par,note-yr,atit-u,vol-bf,volp-com,pgsep-s,jnm-x,pg-bk,isbn,issn,url,url-blk,edpar,edby,edbyy,ppx,ord,amper,and-xcom,etal-it,nfss')
+%% ----------------------------------------
+%% *** bst for computational complexity with natbib.sty ***
+%%
+%% Copyright 1994-2004 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ new.block
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+FUNCTION {scaps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textsc{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bib.name.font}
+{ scaps }
+FUNCTION {bib.fname.font}
+{ bib.name.font }
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "editors" }
+
+FUNCTION {bbl.editor}
+{ "editor" }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edition" }
+
+FUNCTION {bbl.volume}
+{ "volume" }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "number" }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "" }
+
+FUNCTION {bbl.page}
+{ "" }
+
+FUNCTION {bbl.chapter}
+{ "chapter" }
+
+FUNCTION {bbl.techrep}
+{ "Technical Report" }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\urlprefix\url{" url * "}" * }
+ if$
+}
+
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff~}{vv~}{ll}{, jj}"
+ format.name$
+ bib.name.font
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ "\&"
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ format.names
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " *
+ get.bbl.editor
+ "(" swap$ * ")" *
+ *
+ }
+ if$
+}
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { bbl.pages * }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ new.block
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ new.block
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {select.language}
+{ duplicate$ empty$
+ 'pop$
+ { language empty$
+ 'skip$
+ { "{\selectlanguage{" language * "}" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ select.language
+ }
+ if$
+}
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ "\&"
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "\," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????"
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ select.language
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ convert.edition
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ n.dashify
+ }
+ {
+ }
+ if$
+ "pages" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ bolden
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "(" swap$ * ")" *
+ }
+ if$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ get.bbl.editor
+ swap$ "," *
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ capitalize
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ add.blank
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.isbn output
+ format.book.pages output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.isbn output
+ format.book.pages output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ format.publisher.address output
+ format.edition output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ new.block
+ howpublished "howpublished" bibinfo.check output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ new.block
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ format.url output
+ new.block
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal emphasize *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ { " \& " * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ ff{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\providecommand{\url}[1]{\texttt{#1}}"
+ write$ newline$
+ "\providecommand{\urlprefix}{URL }"
+ write$ newline$
+ "\providecommand{\selectlanguage}[1]{\relax}"
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `cc2.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/context/cont-ab.bst b/Master/texmf-dist/bibtex/bst/context/cont-ab.bst
new file mode 100644
index 00000000000..cc3c9411ae9
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/context/cont-ab.bst
@@ -0,0 +1,1120 @@
+% Written by Taco Hoekwater
+% Donated to the Public Domain. Use at your own risk.
+% Preliminary version, 19-aug-1999.
+% New 17/9/2003: 'eprint' and 'doi' tags
+
+% This style produces citations in a format the ConTeXt can handle.
+% It outputs a large collection of labels so that context can decide
+% which one to use.
+%
+% Actually, there are a number of separate bst files that change in
+% only two lines: the ITERATEs right before the two SORTs can
+% have different values, sorting by either one of
+%
+% -------------------------- cont-master.bst clabel
+% - the author (+year, title) : cont-au.bst author
+% - the title (+author, year) : cont-ti.bst title
+% - the short key a la abbrev : cont-ab.bst clabel
+% - nothing at all (cite order): cont-no.bst none
+%
+%
+% Output gives the following computed info:
+%
+% - the total number of bib entries
+% - the longest short label
+%
+% And per entry:
+%
+% - the key
+% - the entry type
+% - the yeardata for crossrefs
+% - the authordata for crossrefs
+% - the short key
+% - the .bib appearance number
+
+% Commands that may be written to the bbl file (not counting stuff the
+% bib database defines itself):
+%
+% \setuppublicationlist
+% \startpublication
+% \stoppublication
+
+% Field entries with a strange format/appearance:
+%
+% \artauthor,
+% \editor,
+% \author: \xxx[junior]{firstnames}[inits]{von}{lastname}
+
+% \etalchar: appears in short keys sometimes
+% \maybeyear: appears in \pubyear sometimes
+%
+% And these commands for the entries have only one argument,
+% precisely matching the corresponding field. Note that there
+% are more fields supported than in the standard bst files.
+%
+% \abstract
+% \annotate
+% \arttitle
+% \chapter
+% \city
+% \comment
+% \crossref
+% \edition
+% \isbn
+% \issn
+% \issue
+% \journal
+% \keyword
+% \keywords
+% \lang
+% \month
+% \names
+% \note
+% \organization
+% \pages
+% \pubname
+% \pubyear
+% \series
+% \size
+% \thekey
+% \title
+% \type
+% \volume
+% \eprint
+% \doi
+% \howpublished
+
+ENTRY
+ { abstract
+ address
+ annotate
+ author
+ booktitle
+ chapter
+ comment
+ doi
+ edition
+ editor
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ keyword
+ keywords
+ language
+ month
+ names
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ size
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label clabel sort.clabel ordinal.label}
+
+
+STRINGS { s t autype}
+
+STRINGS { last.label next.extra nlabel }
+
+STRINGS { longest.label last.sort.label}
+
+INTEGERS { longest.label.width last.extra.num ordinal.num }
+
+INTEGERS { nameptr namesleft numnames }
+
+INTEGERS { len }
+
+
+FUNCTION {begin.bib}
+{ #0 'ordinal.num :=
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\setuppublicationlist[samplesize={" write$
+ longest.label "},totalnumber=" * write$
+ nlabel "]" * write$
+ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$
+}
+
+
+
+FUNCTION {do.out}
+{ duplicate$ empty$
+ { pop$ pop$ write$}
+ { "{" swap$ * "}" * * write$ pop$ newline$ }
+ if$
+}
+
+
+FUNCTION {do.t.out}
+{ duplicate$ empty$
+ { pop$ pop$ write$}
+ { "{" swap$ "t" change.case$ * "}" * * write$ pop$ newline$ }
+ if$
+}
+
+FUNCTION {format.year}
+{ year empty$
+ 'skip$
+ { "\pubyear{" year * write$
+ extra.label empty$
+ { "}" write$ }
+ { "\maybeyear{" extra.label * "}}" * write$ }
+ if$
+ newline$
+ }
+ if$
+}
+
+FUNCTION {start.entry}
+{ ordinal.num #1 + 'ordinal.num :=
+ newline$
+ "\startpublication[" write$
+ "k=" write$
+ cite$ "," * write$
+ "t=" write$
+ type$ "," * write$
+ newline$
+ label write$
+ "," write$
+ doi empty$
+ {}
+ {
+ "o=" write$
+ doi write$
+ "," write$
+ } if$
+ newline$
+ "n=" write$
+ ordinal.label write$
+ ",s=" write$
+ clabel write$
+ "]" write$
+ newline$
+ "" "\lang" language do.out
+}
+
+FUNCTION {stop.entry}
+{ "" "\note" note do.out
+ "" "\annotate" annotate do.out
+ "" "\eprint" eprint do.out
+ "" "\doi" doi do.out
+ "" "\keyword" keyword do.out
+ "" "\keywords" keywords do.out
+ "" "\comment" comment do.out
+ "" "\abstract" abstract do.out
+ "" "\names" names do.out
+ "" "\size" size do.out
+ "\stoppublication" write$
+ newline$
+}
+
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.names}
+{ 's := 'autype :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { autype write$
+ s nameptr "{jj}" format.name$ 't :=
+ "[" t * "]" * write$
+ s nameptr "{ff}" format.name$ 't :=
+ "{" t * "}" * write$
+ s nameptr "{f}" format.name$ add.period$ 't :=
+ "[" t * "]" * write$
+ s nameptr "{vv}" format.name$ 't :=
+ "{" t * "}" * write$
+ s nameptr "{ll}" format.name$ 't :=
+ "{" t * "}" * write$
+ newline$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.key}
+{ "" "\thekey" key do.out }
+
+
+FUNCTION {format.artauthors}
+{ author empty$
+ { format.key }
+ { "\artauthor" author format.names }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { format.key }
+ { "\author" author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { format.key }
+ { "\editor" editor format.names }
+ if$
+}
+
+
+FUNCTION {format.title}
+{ "" "\title" title do.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.t.title}
+{ "" "\title" title do.t.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.arttitle}
+{ "" "\arttitle" title do.t.out }
+
+FUNCTION {format.journal}
+{ "" "\journal" journal do.out
+ "" "\issn" issn do.out
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ "" "\volume" volume do.out
+}
+
+FUNCTION {format.volume.issue}
+{ "" "\volume" volume do.out
+ "" "\issue" number do.out
+}
+
+FUNCTION {format.number.series}
+{ "" "\series" series do.out
+ volume empty$
+ { "" "\volume" number do.out
+ }
+ { "" "\volume" volume do.out
+ "" "\issue" number do.out }
+ if$
+}
+
+FUNCTION {format.edition}
+{ "" "\edition" edition do.out
+ "" "\month" month do.out
+}
+
+FUNCTION {format.pages}
+{ "" "\pages" pages do.out }
+
+
+FUNCTION {format.vol.num.pages}
+{ format.volume.issue
+ format.pages
+}
+
+FUNCTION {format.vol.num.page}
+{ format.volume.issue
+ format.pages
+}
+
+FUNCTION {format.type.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { "" "\type" type do.out
+ "" "\chapter" chapter do.out
+ }
+ if$
+ format.pages
+}
+
+FUNCTION {format.booktitle}
+{"" "\title" booktitle do.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ 'skip$
+ { format.booktitle }
+ if$
+}
+
+FUNCTION {format.in.booktitle.or.series}
+{ "" "\series" series do.out
+ booktitle empty$
+ 'skip$
+ { editor empty$
+ { format.booktitle }
+ { format.editors format.booktitle }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{"" "\type" type do.out
+ "" "\volume" number do.out
+}
+
+FUNCTION {format.crossref}
+{ "" "\crossref" crossref do.out
+}
+
+FUNCTION {format.book.crossref}
+{
+ "" "\volume" volume do.out
+ format.crossref
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ format.crossref
+}
+
+FUNCTION {article}
+{ start.entry
+ format.artauthors
+ format.year
+ format.arttitle
+ crossref missing$
+ { format.journal
+ format.vol.num.pages
+ }
+ { format.crossref
+ format.pages
+ }
+ if$
+ "" "\month" month do.out
+ stop.entry
+}
+
+FUNCTION {book}
+{ start.entry
+ author empty$
+ { format.editors
+ }
+ { format.authors
+ }
+ if$
+ format.year
+ format.title
+ crossref missing$
+ { format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ }
+ {
+ format.book.crossref
+ }
+ if$
+ format.edition
+ stop.entry
+}
+
+FUNCTION {booklet}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.key
+ "" "\pubname" publisher do.out
+ "" "\howpublished" howpublished do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {inbook}
+{ start.entry
+ author empty$
+ { format.editors
+ }
+ { format.authors
+ }
+ if$
+ format.year
+ format.title
+ crossref missing$
+ { format.type.chapter.pages
+ format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ }
+ { format.type.chapter.pages
+ format.book.crossref
+ }
+ if$
+ format.edition
+ stop.entry
+}
+
+FUNCTION {incollection}
+{ start.entry
+ format.artauthors
+ format.year
+ format.arttitle
+ format.editors
+ crossref missing$
+ { format.in.ed.booktitle
+ format.number.series
+ "" "\city" address do.out
+ format.edition
+ format.type.chapter.pages
+ }
+ { format.incoll.inproc.crossref
+ format.type.chapter.pages
+ }
+ if$
+ "" "\pubname" publisher do.out
+ stop.entry
+}
+
+FUNCTION {inproceedings}
+{ start.entry
+ format.authors
+ format.year
+ format.arttitle
+ crossref missing$
+ { format.in.booktitle.or.series
+ format.number.series
+ "" "\city" address do.out
+ format.pages
+ }
+ { format.incoll.inproc.crossref
+ format.pages
+ }
+ if$
+ "" "\pubname" publisher do.out
+ "" "\organization" organization do.out
+ stop.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ start.entry
+ format.authors
+ format.year
+ format.title
+ "" "\organization" organization do.out
+ "" "\city" address do.out
+ "" "\edition" edition do.out
+ stop.entry
+}
+
+FUNCTION {mastersthesis}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ "" "\type" type do.out
+ "" "\pubname" school do.out
+ "" "\month" month do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {misc}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.key
+ "" "\city" address do.out
+ "" "\month" month do.out
+ "" "\pubname" publisher do.out
+ "" "\howpublished" howpublished do.out
+ stop.entry
+}
+
+FUNCTION {phdthesis}
+{ start.entry
+ format.authors
+ format.title
+ format.year
+ "" "\type" type do.out
+ "" "\month" month do.out
+ "" "\pubname" school do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {proceedings}
+{ start.entry
+ format.editors
+ format.year
+ format.title
+ format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ "" "\organization" organization do.out
+ stop.entry
+}
+
+FUNCTION {techreport}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.tr.number
+ "" "\city" address do.out
+ "" "\pubname" institution do.out
+ stop.entry
+}
+
+FUNCTION {unpublished}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ "" "\month" month do.out
+ stop.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"1"}
+MACRO {feb} {"2"}
+MACRO {mar} {"3"}
+MACRO {apr} {"4"}
+MACRO {may} {"5"}
+MACRO {jun} {"6"}
+MACRO {jul} {"7"}
+MACRO {aug} {"8"}
+MACRO {sep} {"9"}
+MACRO {oct} {"10"}
+MACRO {nov} {"11"}
+MACRO {dec} {"12"}
+
+READ
+
+FUNCTION {initialize.ordinal.label}
+{ #0 'ordinal.num := }
+
+FUNCTION {set.ordinal.label} {
+ #1 ordinal.num + 'ordinal.num :=
+ ordinal.num int.to.str$ 'ordinal.label :=
+}
+
+EXECUTE {initialize.ordinal.label}
+
+ITERATE {set.ordinal.label}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ "{" swap$ * "}," *
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ "a=" swap$ * "y=" *
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ 'label :=
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.clab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.clabel}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.clabel}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.clab.names }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.clabel}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.clabel}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.clab.names }
+ if$
+}
+
+FUNCTION {calc.clabel}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.clabel
+ { type$ "proceedings" =
+ 'editor.key.organization.clabel
+ { type$ "manual" =
+ 'author.key.organization.clabel
+ 'author.key.clabel
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'clabel :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.clabel :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort.title}
+{ calc.label
+ calc.clabel
+ title field.or.null
+ sort.format.title
+ " "
+ *
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.author}
+{ calc.clabel
+ calc.label
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.clabel}
+{ calc.label
+ calc.clabel
+ clabel sortify
+ duplicate$ 'sort.label :=
+ #1 entry.max$ substring$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.none}
+{ calc.label
+ calc.clabel
+ "" 'sort.label :=
+ "" 'sort.key$ :=
+}
+
+ITERATE {presort.clabel}
+
+SORT
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'ordinal.num :=
+}
+
+FUNCTION {forward.pass}
+{ ordinal.num #1 + 'ordinal.num :=
+ ordinal.num int.to.str$ 'nlabel :=
+ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ clabel extra.label * 'clabel :=
+ extra.label 'next.extra :=
+ clabel width$ longest.label.width >
+ { clabel 'longest.label :=
+ clabel width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order.author}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.title}
+{ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.clabel}
+{ sort.label
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.none}
+{ sort.label 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order.clabel}
+
+SORT
+
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/context/cont-au.bst b/Master/texmf-dist/bibtex/bst/context/cont-au.bst
new file mode 100644
index 00000000000..3af40718107
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/context/cont-au.bst
@@ -0,0 +1,1120 @@
+% Written by Taco Hoekwater
+% Donated to the Public Domain. Use at your own risk.
+% Preliminary version, 19-aug-1999.
+% New 17/9/2003: 'eprint' and 'doi' tags
+
+% This style produces citations in a format the ConTeXt can handle.
+% It outputs a large collection of labels so that context can decide
+% which one to use.
+%
+% Actually, there are a number of separate bst files that change in
+% only two lines: the ITERATEs right before the two SORTs can
+% have different values, sorting by either one of
+%
+% -------------------------- cont-master.bst author
+% - the author (+year, title) : cont-au.bst author
+% - the title (+author, year) : cont-ti.bst title
+% - the short key a la abbrev : cont-ab.bst clabel
+% - nothing at all (cite order): cont-no.bst none
+%
+%
+% Output gives the following computed info:
+%
+% - the total number of bib entries
+% - the longest short label
+%
+% And per entry:
+%
+% - the key
+% - the entry type
+% - the yeardata for crossrefs
+% - the authordata for crossrefs
+% - the short key
+% - the .bib appearance number
+
+% Commands that may be written to the bbl file (not counting stuff the
+% bib database defines itself):
+%
+% \setuppublicationlist
+% \startpublication
+% \stoppublication
+
+% Field entries with a strange format/appearance:
+%
+% \artauthor,
+% \editor,
+% \author: \xxx[junior]{firstnames}[inits]{von}{lastname}
+
+% \etalchar: appears in short keys sometimes
+% \maybeyear: appears in \pubyear sometimes
+%
+% And these commands for the entries have only one argument,
+% precisely matching the corresponding field. Note that there
+% are more fields supported than in the standard bst files.
+%
+% \abstract
+% \annotate
+% \arttitle
+% \chapter
+% \city
+% \comment
+% \crossref
+% \edition
+% \isbn
+% \issn
+% \issue
+% \journal
+% \keyword
+% \keywords
+% \lang
+% \month
+% \names
+% \note
+% \organization
+% \pages
+% \pubname
+% \pubyear
+% \series
+% \size
+% \thekey
+% \title
+% \type
+% \volume
+% \eprint
+% \doi
+% \howpublished
+
+ENTRY
+ { abstract
+ address
+ annotate
+ author
+ booktitle
+ chapter
+ comment
+ doi
+ edition
+ editor
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ keyword
+ keywords
+ language
+ month
+ names
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ size
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label clabel sort.clabel ordinal.label}
+
+
+STRINGS { s t autype}
+
+STRINGS { last.label next.extra nlabel }
+
+STRINGS { longest.label last.sort.label}
+
+INTEGERS { longest.label.width last.extra.num ordinal.num }
+
+INTEGERS { nameptr namesleft numnames }
+
+INTEGERS { len }
+
+
+FUNCTION {begin.bib}
+{ #0 'ordinal.num :=
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\setuppublicationlist[samplesize={" write$
+ longest.label "},totalnumber=" * write$
+ nlabel "]" * write$
+ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$
+}
+
+
+
+FUNCTION {do.out}
+{ duplicate$ empty$
+ { pop$ pop$ write$}
+ { "{" swap$ * "}" * * write$ pop$ newline$ }
+ if$
+}
+
+
+FUNCTION {do.t.out}
+{ duplicate$ empty$
+ { pop$ pop$ write$}
+ { "{" swap$ "t" change.case$ * "}" * * write$ pop$ newline$ }
+ if$
+}
+
+FUNCTION {format.year}
+{ year empty$
+ 'skip$
+ { "\pubyear{" year * write$
+ extra.label empty$
+ { "}" write$ }
+ { "\maybeyear{" extra.label * "}}" * write$ }
+ if$
+ newline$
+ }
+ if$
+}
+
+FUNCTION {start.entry}
+{ ordinal.num #1 + 'ordinal.num :=
+ newline$
+ "\startpublication[" write$
+ "k=" write$
+ cite$ "," * write$
+ "t=" write$
+ type$ "," * write$
+ newline$
+ label write$
+ "," write$
+ doi empty$
+ {}
+ {
+ "o=" write$
+ doi write$
+ "," write$
+ } if$
+ newline$
+ "n=" write$
+ ordinal.label write$
+ ",s=" write$
+ clabel write$
+ "]" write$
+ newline$
+ "" "\lang" language do.out
+}
+
+FUNCTION {stop.entry}
+{ "" "\note" note do.out
+ "" "\annotate" annotate do.out
+ "" "\eprint" eprint do.out
+ "" "\doi" doi do.out
+ "" "\keyword" keyword do.out
+ "" "\keywords" keywords do.out
+ "" "\comment" comment do.out
+ "" "\abstract" abstract do.out
+ "" "\names" names do.out
+ "" "\size" size do.out
+ "\stoppublication" write$
+ newline$
+}
+
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.names}
+{ 's := 'autype :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { autype write$
+ s nameptr "{jj}" format.name$ 't :=
+ "[" t * "]" * write$
+ s nameptr "{ff}" format.name$ 't :=
+ "{" t * "}" * write$
+ s nameptr "{f}" format.name$ add.period$ 't :=
+ "[" t * "]" * write$
+ s nameptr "{vv}" format.name$ 't :=
+ "{" t * "}" * write$
+ s nameptr "{ll}" format.name$ 't :=
+ "{" t * "}" * write$
+ newline$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.key}
+{ "" "\thekey" key do.out }
+
+
+FUNCTION {format.artauthors}
+{ author empty$
+ { format.key }
+ { "\artauthor" author format.names }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { format.key }
+ { "\author" author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { format.key }
+ { "\editor" editor format.names }
+ if$
+}
+
+
+FUNCTION {format.title}
+{ "" "\title" title do.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.t.title}
+{ "" "\title" title do.t.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.arttitle}
+{ "" "\arttitle" title do.t.out }
+
+FUNCTION {format.journal}
+{ "" "\journal" journal do.out
+ "" "\issn" issn do.out
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ "" "\volume" volume do.out
+}
+
+FUNCTION {format.volume.issue}
+{ "" "\volume" volume do.out
+ "" "\issue" number do.out
+}
+
+FUNCTION {format.number.series}
+{ "" "\series" series do.out
+ volume empty$
+ { "" "\volume" number do.out
+ }
+ { "" "\volume" volume do.out
+ "" "\issue" number do.out }
+ if$
+}
+
+FUNCTION {format.edition}
+{ "" "\edition" edition do.out
+ "" "\month" month do.out
+}
+
+FUNCTION {format.pages}
+{ "" "\pages" pages do.out }
+
+
+FUNCTION {format.vol.num.pages}
+{ format.volume.issue
+ format.pages
+}
+
+FUNCTION {format.vol.num.page}
+{ format.volume.issue
+ format.pages
+}
+
+FUNCTION {format.type.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { "" "\type" type do.out
+ "" "\chapter" chapter do.out
+ }
+ if$
+ format.pages
+}
+
+FUNCTION {format.booktitle}
+{"" "\title" booktitle do.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ 'skip$
+ { format.booktitle }
+ if$
+}
+
+FUNCTION {format.in.booktitle.or.series}
+{ "" "\series" series do.out
+ booktitle empty$
+ 'skip$
+ { editor empty$
+ { format.booktitle }
+ { format.editors format.booktitle }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{"" "\type" type do.out
+ "" "\volume" number do.out
+}
+
+FUNCTION {format.crossref}
+{ "" "\crossref" crossref do.out
+}
+
+FUNCTION {format.book.crossref}
+{
+ "" "\volume" volume do.out
+ format.crossref
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ format.crossref
+}
+
+FUNCTION {article}
+{ start.entry
+ format.artauthors
+ format.year
+ format.arttitle
+ crossref missing$
+ { format.journal
+ format.vol.num.pages
+ }
+ { format.crossref
+ format.pages
+ }
+ if$
+ "" "\month" month do.out
+ stop.entry
+}
+
+FUNCTION {book}
+{ start.entry
+ author empty$
+ { format.editors
+ }
+ { format.authors
+ }
+ if$
+ format.year
+ format.title
+ crossref missing$
+ { format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ }
+ {
+ format.book.crossref
+ }
+ if$
+ format.edition
+ stop.entry
+}
+
+FUNCTION {booklet}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.key
+ "" "\pubname" publisher do.out
+ "" "\howpublished" howpublished do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {inbook}
+{ start.entry
+ author empty$
+ { format.editors
+ }
+ { format.authors
+ }
+ if$
+ format.year
+ format.title
+ crossref missing$
+ { format.type.chapter.pages
+ format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ }
+ { format.type.chapter.pages
+ format.book.crossref
+ }
+ if$
+ format.edition
+ stop.entry
+}
+
+FUNCTION {incollection}
+{ start.entry
+ format.artauthors
+ format.year
+ format.arttitle
+ format.editors
+ crossref missing$
+ { format.in.ed.booktitle
+ format.number.series
+ "" "\city" address do.out
+ format.edition
+ format.type.chapter.pages
+ }
+ { format.incoll.inproc.crossref
+ format.type.chapter.pages
+ }
+ if$
+ "" "\pubname" publisher do.out
+ stop.entry
+}
+
+FUNCTION {inproceedings}
+{ start.entry
+ format.authors
+ format.year
+ format.arttitle
+ crossref missing$
+ { format.in.booktitle.or.series
+ format.number.series
+ "" "\city" address do.out
+ format.pages
+ }
+ { format.incoll.inproc.crossref
+ format.pages
+ }
+ if$
+ "" "\pubname" publisher do.out
+ "" "\organization" organization do.out
+ stop.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ start.entry
+ format.authors
+ format.year
+ format.title
+ "" "\organization" organization do.out
+ "" "\city" address do.out
+ "" "\edition" edition do.out
+ stop.entry
+}
+
+FUNCTION {mastersthesis}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ "" "\type" type do.out
+ "" "\pubname" school do.out
+ "" "\month" month do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {misc}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.key
+ "" "\city" address do.out
+ "" "\month" month do.out
+ "" "\pubname" publisher do.out
+ "" "\howpublished" howpublished do.out
+ stop.entry
+}
+
+FUNCTION {phdthesis}
+{ start.entry
+ format.authors
+ format.title
+ format.year
+ "" "\type" type do.out
+ "" "\month" month do.out
+ "" "\pubname" school do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {proceedings}
+{ start.entry
+ format.editors
+ format.year
+ format.title
+ format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ "" "\organization" organization do.out
+ stop.entry
+}
+
+FUNCTION {techreport}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.tr.number
+ "" "\city" address do.out
+ "" "\pubname" institution do.out
+ stop.entry
+}
+
+FUNCTION {unpublished}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ "" "\month" month do.out
+ stop.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"1"}
+MACRO {feb} {"2"}
+MACRO {mar} {"3"}
+MACRO {apr} {"4"}
+MACRO {may} {"5"}
+MACRO {jun} {"6"}
+MACRO {jul} {"7"}
+MACRO {aug} {"8"}
+MACRO {sep} {"9"}
+MACRO {oct} {"10"}
+MACRO {nov} {"11"}
+MACRO {dec} {"12"}
+
+READ
+
+FUNCTION {initialize.ordinal.label}
+{ #0 'ordinal.num := }
+
+FUNCTION {set.ordinal.label} {
+ #1 ordinal.num + 'ordinal.num :=
+ ordinal.num int.to.str$ 'ordinal.label :=
+}
+
+EXECUTE {initialize.ordinal.label}
+
+ITERATE {set.ordinal.label}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ "{" swap$ * "}," *
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ "a=" swap$ * "y=" *
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ 'label :=
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.clab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.clabel}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.clabel}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.clab.names }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.clabel}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.clabel}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.clab.names }
+ if$
+}
+
+FUNCTION {calc.clabel}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.clabel
+ { type$ "proceedings" =
+ 'editor.key.organization.clabel
+ { type$ "manual" =
+ 'author.key.organization.clabel
+ 'author.key.clabel
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'clabel :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.clabel :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort.title}
+{ calc.label
+ calc.clabel
+ title field.or.null
+ sort.format.title
+ " "
+ *
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.author}
+{ calc.clabel
+ calc.label
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.clabel}
+{ calc.label
+ calc.clabel
+ clabel sortify
+ duplicate$ 'sort.label :=
+ #1 entry.max$ substring$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.none}
+{ calc.label
+ calc.clabel
+ "" 'sort.label :=
+ "" 'sort.key$ :=
+}
+
+ITERATE {presort.author}
+
+SORT
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'ordinal.num :=
+}
+
+FUNCTION {forward.pass}
+{ ordinal.num #1 + 'ordinal.num :=
+ ordinal.num int.to.str$ 'nlabel :=
+ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ clabel extra.label * 'clabel :=
+ extra.label 'next.extra :=
+ clabel width$ longest.label.width >
+ { clabel 'longest.label :=
+ clabel width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order.author}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.title}
+{ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.clabel}
+{ sort.label
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.none}
+{ sort.label 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order.author}
+
+SORT
+
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/context/cont-no.bst b/Master/texmf-dist/bibtex/bst/context/cont-no.bst
new file mode 100644
index 00000000000..7b582f359c8
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/context/cont-no.bst
@@ -0,0 +1,1120 @@
+% Written by Taco Hoekwater
+% Donated to the Public Domain. Use at your own risk.
+% Preliminary version, 19-aug-1999.
+% New 17/9/2003: 'eprint' and 'doi' tags
+
+% This style produces citations in a format the ConTeXt can handle.
+% It outputs a large collection of labels so that context can decide
+% which one to use.
+%
+% Actually, there are a number of separate bst files that change in
+% only two lines: the ITERATEs right before the two SORTs can
+% have different values, sorting by either one of
+%
+% -------------------------- cont-master.bst none
+% - the author (+year, title) : cont-au.bst author
+% - the title (+author, year) : cont-ti.bst title
+% - the short key a la abbrev : cont-ab.bst clabel
+% - nothing at all (cite order): cont-no.bst none
+%
+%
+% Output gives the following computed info:
+%
+% - the total number of bib entries
+% - the longest short label
+%
+% And per entry:
+%
+% - the key
+% - the entry type
+% - the yeardata for crossrefs
+% - the authordata for crossrefs
+% - the short key
+% - the .bib appearance number
+
+% Commands that may be written to the bbl file (not counting stuff the
+% bib database defines itself):
+%
+% \setuppublicationlist
+% \startpublication
+% \stoppublication
+
+% Field entries with a strange format/appearance:
+%
+% \artauthor,
+% \editor,
+% \author: \xxx[junior]{firstnames}[inits]{von}{lastname}
+
+% \etalchar: appears in short keys sometimes
+% \maybeyear: appears in \pubyear sometimes
+%
+% And these commands for the entries have only one argument,
+% precisely matching the corresponding field. Note that there
+% are more fields supported than in the standard bst files.
+%
+% \abstract
+% \annotate
+% \arttitle
+% \chapter
+% \city
+% \comment
+% \crossref
+% \edition
+% \isbn
+% \issn
+% \issue
+% \journal
+% \keyword
+% \keywords
+% \lang
+% \month
+% \names
+% \note
+% \organization
+% \pages
+% \pubname
+% \pubyear
+% \series
+% \size
+% \thekey
+% \title
+% \type
+% \volume
+% \eprint
+% \doi
+% \howpublished
+
+ENTRY
+ { abstract
+ address
+ annotate
+ author
+ booktitle
+ chapter
+ comment
+ doi
+ edition
+ editor
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ keyword
+ keywords
+ language
+ month
+ names
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ size
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label clabel sort.clabel ordinal.label}
+
+
+STRINGS { s t autype}
+
+STRINGS { last.label next.extra nlabel }
+
+STRINGS { longest.label last.sort.label}
+
+INTEGERS { longest.label.width last.extra.num ordinal.num }
+
+INTEGERS { nameptr namesleft numnames }
+
+INTEGERS { len }
+
+
+FUNCTION {begin.bib}
+{ #0 'ordinal.num :=
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\setuppublicationlist[samplesize={" write$
+ longest.label "},totalnumber=" * write$
+ nlabel "]" * write$
+ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$
+}
+
+
+
+FUNCTION {do.out}
+{ duplicate$ empty$
+ { pop$ pop$ write$}
+ { "{" swap$ * "}" * * write$ pop$ newline$ }
+ if$
+}
+
+
+FUNCTION {do.t.out}
+{ duplicate$ empty$
+ { pop$ pop$ write$}
+ { "{" swap$ "t" change.case$ * "}" * * write$ pop$ newline$ }
+ if$
+}
+
+FUNCTION {format.year}
+{ year empty$
+ 'skip$
+ { "\pubyear{" year * write$
+ extra.label empty$
+ { "}" write$ }
+ { "\maybeyear{" extra.label * "}}" * write$ }
+ if$
+ newline$
+ }
+ if$
+}
+
+FUNCTION {start.entry}
+{ ordinal.num #1 + 'ordinal.num :=
+ newline$
+ "\startpublication[" write$
+ "k=" write$
+ cite$ "," * write$
+ "t=" write$
+ type$ "," * write$
+ newline$
+ label write$
+ "," write$
+ doi empty$
+ {}
+ {
+ "o=" write$
+ doi write$
+ "," write$
+ } if$
+ newline$
+ "n=" write$
+ ordinal.label write$
+ ",s=" write$
+ clabel write$
+ "]" write$
+ newline$
+ "" "\lang" language do.out
+}
+
+FUNCTION {stop.entry}
+{ "" "\note" note do.out
+ "" "\annotate" annotate do.out
+ "" "\eprint" eprint do.out
+ "" "\doi" doi do.out
+ "" "\keyword" keyword do.out
+ "" "\keywords" keywords do.out
+ "" "\comment" comment do.out
+ "" "\abstract" abstract do.out
+ "" "\names" names do.out
+ "" "\size" size do.out
+ "\stoppublication" write$
+ newline$
+}
+
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.names}
+{ 's := 'autype :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { autype write$
+ s nameptr "{jj}" format.name$ 't :=
+ "[" t * "]" * write$
+ s nameptr "{ff}" format.name$ 't :=
+ "{" t * "}" * write$
+ s nameptr "{f}" format.name$ add.period$ 't :=
+ "[" t * "]" * write$
+ s nameptr "{vv}" format.name$ 't :=
+ "{" t * "}" * write$
+ s nameptr "{ll}" format.name$ 't :=
+ "{" t * "}" * write$
+ newline$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.key}
+{ "" "\thekey" key do.out }
+
+
+FUNCTION {format.artauthors}
+{ author empty$
+ { format.key }
+ { "\artauthor" author format.names }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { format.key }
+ { "\author" author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { format.key }
+ { "\editor" editor format.names }
+ if$
+}
+
+
+FUNCTION {format.title}
+{ "" "\title" title do.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.t.title}
+{ "" "\title" title do.t.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.arttitle}
+{ "" "\arttitle" title do.t.out }
+
+FUNCTION {format.journal}
+{ "" "\journal" journal do.out
+ "" "\issn" issn do.out
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ "" "\volume" volume do.out
+}
+
+FUNCTION {format.volume.issue}
+{ "" "\volume" volume do.out
+ "" "\issue" number do.out
+}
+
+FUNCTION {format.number.series}
+{ "" "\series" series do.out
+ volume empty$
+ { "" "\volume" number do.out
+ }
+ { "" "\volume" volume do.out
+ "" "\issue" number do.out }
+ if$
+}
+
+FUNCTION {format.edition}
+{ "" "\edition" edition do.out
+ "" "\month" month do.out
+}
+
+FUNCTION {format.pages}
+{ "" "\pages" pages do.out }
+
+
+FUNCTION {format.vol.num.pages}
+{ format.volume.issue
+ format.pages
+}
+
+FUNCTION {format.vol.num.page}
+{ format.volume.issue
+ format.pages
+}
+
+FUNCTION {format.type.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { "" "\type" type do.out
+ "" "\chapter" chapter do.out
+ }
+ if$
+ format.pages
+}
+
+FUNCTION {format.booktitle}
+{"" "\title" booktitle do.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ 'skip$
+ { format.booktitle }
+ if$
+}
+
+FUNCTION {format.in.booktitle.or.series}
+{ "" "\series" series do.out
+ booktitle empty$
+ 'skip$
+ { editor empty$
+ { format.booktitle }
+ { format.editors format.booktitle }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{"" "\type" type do.out
+ "" "\volume" number do.out
+}
+
+FUNCTION {format.crossref}
+{ "" "\crossref" crossref do.out
+}
+
+FUNCTION {format.book.crossref}
+{
+ "" "\volume" volume do.out
+ format.crossref
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ format.crossref
+}
+
+FUNCTION {article}
+{ start.entry
+ format.artauthors
+ format.year
+ format.arttitle
+ crossref missing$
+ { format.journal
+ format.vol.num.pages
+ }
+ { format.crossref
+ format.pages
+ }
+ if$
+ "" "\month" month do.out
+ stop.entry
+}
+
+FUNCTION {book}
+{ start.entry
+ author empty$
+ { format.editors
+ }
+ { format.authors
+ }
+ if$
+ format.year
+ format.title
+ crossref missing$
+ { format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ }
+ {
+ format.book.crossref
+ }
+ if$
+ format.edition
+ stop.entry
+}
+
+FUNCTION {booklet}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.key
+ "" "\pubname" publisher do.out
+ "" "\howpublished" howpublished do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {inbook}
+{ start.entry
+ author empty$
+ { format.editors
+ }
+ { format.authors
+ }
+ if$
+ format.year
+ format.title
+ crossref missing$
+ { format.type.chapter.pages
+ format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ }
+ { format.type.chapter.pages
+ format.book.crossref
+ }
+ if$
+ format.edition
+ stop.entry
+}
+
+FUNCTION {incollection}
+{ start.entry
+ format.artauthors
+ format.year
+ format.arttitle
+ format.editors
+ crossref missing$
+ { format.in.ed.booktitle
+ format.number.series
+ "" "\city" address do.out
+ format.edition
+ format.type.chapter.pages
+ }
+ { format.incoll.inproc.crossref
+ format.type.chapter.pages
+ }
+ if$
+ "" "\pubname" publisher do.out
+ stop.entry
+}
+
+FUNCTION {inproceedings}
+{ start.entry
+ format.authors
+ format.year
+ format.arttitle
+ crossref missing$
+ { format.in.booktitle.or.series
+ format.number.series
+ "" "\city" address do.out
+ format.pages
+ }
+ { format.incoll.inproc.crossref
+ format.pages
+ }
+ if$
+ "" "\pubname" publisher do.out
+ "" "\organization" organization do.out
+ stop.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ start.entry
+ format.authors
+ format.year
+ format.title
+ "" "\organization" organization do.out
+ "" "\city" address do.out
+ "" "\edition" edition do.out
+ stop.entry
+}
+
+FUNCTION {mastersthesis}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ "" "\type" type do.out
+ "" "\pubname" school do.out
+ "" "\month" month do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {misc}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.key
+ "" "\city" address do.out
+ "" "\month" month do.out
+ "" "\pubname" publisher do.out
+ "" "\howpublished" howpublished do.out
+ stop.entry
+}
+
+FUNCTION {phdthesis}
+{ start.entry
+ format.authors
+ format.title
+ format.year
+ "" "\type" type do.out
+ "" "\month" month do.out
+ "" "\pubname" school do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {proceedings}
+{ start.entry
+ format.editors
+ format.year
+ format.title
+ format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ "" "\organization" organization do.out
+ stop.entry
+}
+
+FUNCTION {techreport}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.tr.number
+ "" "\city" address do.out
+ "" "\pubname" institution do.out
+ stop.entry
+}
+
+FUNCTION {unpublished}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ "" "\month" month do.out
+ stop.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"1"}
+MACRO {feb} {"2"}
+MACRO {mar} {"3"}
+MACRO {apr} {"4"}
+MACRO {may} {"5"}
+MACRO {jun} {"6"}
+MACRO {jul} {"7"}
+MACRO {aug} {"8"}
+MACRO {sep} {"9"}
+MACRO {oct} {"10"}
+MACRO {nov} {"11"}
+MACRO {dec} {"12"}
+
+READ
+
+FUNCTION {initialize.ordinal.label}
+{ #0 'ordinal.num := }
+
+FUNCTION {set.ordinal.label} {
+ #1 ordinal.num + 'ordinal.num :=
+ ordinal.num int.to.str$ 'ordinal.label :=
+}
+
+EXECUTE {initialize.ordinal.label}
+
+ITERATE {set.ordinal.label}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ "{" swap$ * "}," *
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ "a=" swap$ * "y=" *
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ 'label :=
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.clab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.clabel}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.clabel}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.clab.names }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.clabel}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.clabel}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.clab.names }
+ if$
+}
+
+FUNCTION {calc.clabel}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.clabel
+ { type$ "proceedings" =
+ 'editor.key.organization.clabel
+ { type$ "manual" =
+ 'author.key.organization.clabel
+ 'author.key.clabel
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'clabel :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.clabel :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort.title}
+{ calc.label
+ calc.clabel
+ title field.or.null
+ sort.format.title
+ " "
+ *
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.author}
+{ calc.clabel
+ calc.label
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.clabel}
+{ calc.label
+ calc.clabel
+ clabel sortify
+ duplicate$ 'sort.label :=
+ #1 entry.max$ substring$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.none}
+{ calc.label
+ calc.clabel
+ "" 'sort.label :=
+ "" 'sort.key$ :=
+}
+
+ITERATE {presort.none}
+
+SORT
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'ordinal.num :=
+}
+
+FUNCTION {forward.pass}
+{ ordinal.num #1 + 'ordinal.num :=
+ ordinal.num int.to.str$ 'nlabel :=
+ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ clabel extra.label * 'clabel :=
+ extra.label 'next.extra :=
+ clabel width$ longest.label.width >
+ { clabel 'longest.label :=
+ clabel width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order.author}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.title}
+{ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.clabel}
+{ sort.label
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.none}
+{ sort.label 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order.none}
+
+SORT
+
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/context/cont-ti.bst b/Master/texmf-dist/bibtex/bst/context/cont-ti.bst
new file mode 100644
index 00000000000..b4660d6ae99
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/context/cont-ti.bst
@@ -0,0 +1,1120 @@
+% Written by Taco Hoekwater
+% Donated to the Public Domain. Use at your own risk.
+% Preliminary version, 19-aug-1999.
+% New 17/9/2003: 'eprint' and 'doi' tags
+
+% This style produces citations in a format the ConTeXt can handle.
+% It outputs a large collection of labels so that context can decide
+% which one to use.
+%
+% Actually, there are a number of separate bst files that change in
+% only two lines: the ITERATEs right before the two SORTs can
+% have different values, sorting by either one of
+%
+% -------------------------- cont-master.bst title
+% - the author (+year, title) : cont-au.bst author
+% - the title (+author, year) : cont-ti.bst title
+% - the short key a la abbrev : cont-ab.bst clabel
+% - nothing at all (cite order): cont-no.bst none
+%
+%
+% Output gives the following computed info:
+%
+% - the total number of bib entries
+% - the longest short label
+%
+% And per entry:
+%
+% - the key
+% - the entry type
+% - the yeardata for crossrefs
+% - the authordata for crossrefs
+% - the short key
+% - the .bib appearance number
+
+% Commands that may be written to the bbl file (not counting stuff the
+% bib database defines itself):
+%
+% \setuppublicationlist
+% \startpublication
+% \stoppublication
+
+% Field entries with a strange format/appearance:
+%
+% \artauthor,
+% \editor,
+% \author: \xxx[junior]{firstnames}[inits]{von}{lastname}
+
+% \etalchar: appears in short keys sometimes
+% \maybeyear: appears in \pubyear sometimes
+%
+% And these commands for the entries have only one argument,
+% precisely matching the corresponding field. Note that there
+% are more fields supported than in the standard bst files.
+%
+% \abstract
+% \annotate
+% \arttitle
+% \chapter
+% \city
+% \comment
+% \crossref
+% \edition
+% \isbn
+% \issn
+% \issue
+% \journal
+% \keyword
+% \keywords
+% \lang
+% \month
+% \names
+% \note
+% \organization
+% \pages
+% \pubname
+% \pubyear
+% \series
+% \size
+% \thekey
+% \title
+% \type
+% \volume
+% \eprint
+% \doi
+% \howpublished
+
+ENTRY
+ { abstract
+ address
+ annotate
+ author
+ booktitle
+ chapter
+ comment
+ doi
+ edition
+ editor
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ keyword
+ keywords
+ language
+ month
+ names
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ size
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label clabel sort.clabel ordinal.label}
+
+
+STRINGS { s t autype}
+
+STRINGS { last.label next.extra nlabel }
+
+STRINGS { longest.label last.sort.label}
+
+INTEGERS { longest.label.width last.extra.num ordinal.num }
+
+INTEGERS { nameptr namesleft numnames }
+
+INTEGERS { len }
+
+
+FUNCTION {begin.bib}
+{ #0 'ordinal.num :=
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\setuppublicationlist[samplesize={" write$
+ longest.label "},totalnumber=" * write$
+ nlabel "]" * write$
+ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$
+}
+
+
+
+FUNCTION {do.out}
+{ duplicate$ empty$
+ { pop$ pop$ write$}
+ { "{" swap$ * "}" * * write$ pop$ newline$ }
+ if$
+}
+
+
+FUNCTION {do.t.out}
+{ duplicate$ empty$
+ { pop$ pop$ write$}
+ { "{" swap$ "t" change.case$ * "}" * * write$ pop$ newline$ }
+ if$
+}
+
+FUNCTION {format.year}
+{ year empty$
+ 'skip$
+ { "\pubyear{" year * write$
+ extra.label empty$
+ { "}" write$ }
+ { "\maybeyear{" extra.label * "}}" * write$ }
+ if$
+ newline$
+ }
+ if$
+}
+
+FUNCTION {start.entry}
+{ ordinal.num #1 + 'ordinal.num :=
+ newline$
+ "\startpublication[" write$
+ "k=" write$
+ cite$ "," * write$
+ "t=" write$
+ type$ "," * write$
+ newline$
+ label write$
+ "," write$
+ doi empty$
+ {}
+ {
+ "o=" write$
+ doi write$
+ "," write$
+ } if$
+ newline$
+ "n=" write$
+ ordinal.label write$
+ ",s=" write$
+ clabel write$
+ "]" write$
+ newline$
+ "" "\lang" language do.out
+}
+
+FUNCTION {stop.entry}
+{ "" "\note" note do.out
+ "" "\annotate" annotate do.out
+ "" "\eprint" eprint do.out
+ "" "\doi" doi do.out
+ "" "\keyword" keyword do.out
+ "" "\keywords" keywords do.out
+ "" "\comment" comment do.out
+ "" "\abstract" abstract do.out
+ "" "\names" names do.out
+ "" "\size" size do.out
+ "\stoppublication" write$
+ newline$
+}
+
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.names}
+{ 's := 'autype :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { autype write$
+ s nameptr "{jj}" format.name$ 't :=
+ "[" t * "]" * write$
+ s nameptr "{ff}" format.name$ 't :=
+ "{" t * "}" * write$
+ s nameptr "{f}" format.name$ add.period$ 't :=
+ "[" t * "]" * write$
+ s nameptr "{vv}" format.name$ 't :=
+ "{" t * "}" * write$
+ s nameptr "{ll}" format.name$ 't :=
+ "{" t * "}" * write$
+ newline$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.key}
+{ "" "\thekey" key do.out }
+
+
+FUNCTION {format.artauthors}
+{ author empty$
+ { format.key }
+ { "\artauthor" author format.names }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { format.key }
+ { "\author" author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { format.key }
+ { "\editor" editor format.names }
+ if$
+}
+
+
+FUNCTION {format.title}
+{ "" "\title" title do.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.t.title}
+{ "" "\title" title do.t.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.arttitle}
+{ "" "\arttitle" title do.t.out }
+
+FUNCTION {format.journal}
+{ "" "\journal" journal do.out
+ "" "\issn" issn do.out
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ "" "\volume" volume do.out
+}
+
+FUNCTION {format.volume.issue}
+{ "" "\volume" volume do.out
+ "" "\issue" number do.out
+}
+
+FUNCTION {format.number.series}
+{ "" "\series" series do.out
+ volume empty$
+ { "" "\volume" number do.out
+ }
+ { "" "\volume" volume do.out
+ "" "\issue" number do.out }
+ if$
+}
+
+FUNCTION {format.edition}
+{ "" "\edition" edition do.out
+ "" "\month" month do.out
+}
+
+FUNCTION {format.pages}
+{ "" "\pages" pages do.out }
+
+
+FUNCTION {format.vol.num.pages}
+{ format.volume.issue
+ format.pages
+}
+
+FUNCTION {format.vol.num.page}
+{ format.volume.issue
+ format.pages
+}
+
+FUNCTION {format.type.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { "" "\type" type do.out
+ "" "\chapter" chapter do.out
+ }
+ if$
+ format.pages
+}
+
+FUNCTION {format.booktitle}
+{"" "\title" booktitle do.out
+ "" "\isbn" isbn do.out
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ 'skip$
+ { format.booktitle }
+ if$
+}
+
+FUNCTION {format.in.booktitle.or.series}
+{ "" "\series" series do.out
+ booktitle empty$
+ 'skip$
+ { editor empty$
+ { format.booktitle }
+ { format.editors format.booktitle }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{"" "\type" type do.out
+ "" "\volume" number do.out
+}
+
+FUNCTION {format.crossref}
+{ "" "\crossref" crossref do.out
+}
+
+FUNCTION {format.book.crossref}
+{
+ "" "\volume" volume do.out
+ format.crossref
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ format.crossref
+}
+
+FUNCTION {article}
+{ start.entry
+ format.artauthors
+ format.year
+ format.arttitle
+ crossref missing$
+ { format.journal
+ format.vol.num.pages
+ }
+ { format.crossref
+ format.pages
+ }
+ if$
+ "" "\month" month do.out
+ stop.entry
+}
+
+FUNCTION {book}
+{ start.entry
+ author empty$
+ { format.editors
+ }
+ { format.authors
+ }
+ if$
+ format.year
+ format.title
+ crossref missing$
+ { format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ }
+ {
+ format.book.crossref
+ }
+ if$
+ format.edition
+ stop.entry
+}
+
+FUNCTION {booklet}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.key
+ "" "\pubname" publisher do.out
+ "" "\howpublished" howpublished do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {inbook}
+{ start.entry
+ author empty$
+ { format.editors
+ }
+ { format.authors
+ }
+ if$
+ format.year
+ format.title
+ crossref missing$
+ { format.type.chapter.pages
+ format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ }
+ { format.type.chapter.pages
+ format.book.crossref
+ }
+ if$
+ format.edition
+ stop.entry
+}
+
+FUNCTION {incollection}
+{ start.entry
+ format.artauthors
+ format.year
+ format.arttitle
+ format.editors
+ crossref missing$
+ { format.in.ed.booktitle
+ format.number.series
+ "" "\city" address do.out
+ format.edition
+ format.type.chapter.pages
+ }
+ { format.incoll.inproc.crossref
+ format.type.chapter.pages
+ }
+ if$
+ "" "\pubname" publisher do.out
+ stop.entry
+}
+
+FUNCTION {inproceedings}
+{ start.entry
+ format.authors
+ format.year
+ format.arttitle
+ crossref missing$
+ { format.in.booktitle.or.series
+ format.number.series
+ "" "\city" address do.out
+ format.pages
+ }
+ { format.incoll.inproc.crossref
+ format.pages
+ }
+ if$
+ "" "\pubname" publisher do.out
+ "" "\organization" organization do.out
+ stop.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ start.entry
+ format.authors
+ format.year
+ format.title
+ "" "\organization" organization do.out
+ "" "\city" address do.out
+ "" "\edition" edition do.out
+ stop.entry
+}
+
+FUNCTION {mastersthesis}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ "" "\type" type do.out
+ "" "\pubname" school do.out
+ "" "\month" month do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {misc}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.key
+ "" "\city" address do.out
+ "" "\month" month do.out
+ "" "\pubname" publisher do.out
+ "" "\howpublished" howpublished do.out
+ stop.entry
+}
+
+FUNCTION {phdthesis}
+{ start.entry
+ format.authors
+ format.title
+ format.year
+ "" "\type" type do.out
+ "" "\month" month do.out
+ "" "\pubname" school do.out
+ "" "\city" address do.out
+ stop.entry
+}
+
+FUNCTION {proceedings}
+{ start.entry
+ format.editors
+ format.year
+ format.title
+ format.number.series
+ "" "\city" address do.out
+ "" "\pubname" publisher do.out
+ "" "\organization" organization do.out
+ stop.entry
+}
+
+FUNCTION {techreport}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ format.tr.number
+ "" "\city" address do.out
+ "" "\pubname" institution do.out
+ stop.entry
+}
+
+FUNCTION {unpublished}
+{ start.entry
+ format.authors
+ format.year
+ format.t.title
+ "" "\month" month do.out
+ stop.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"1"}
+MACRO {feb} {"2"}
+MACRO {mar} {"3"}
+MACRO {apr} {"4"}
+MACRO {may} {"5"}
+MACRO {jun} {"6"}
+MACRO {jul} {"7"}
+MACRO {aug} {"8"}
+MACRO {sep} {"9"}
+MACRO {oct} {"10"}
+MACRO {nov} {"11"}
+MACRO {dec} {"12"}
+
+READ
+
+FUNCTION {initialize.ordinal.label}
+{ #0 'ordinal.num := }
+
+FUNCTION {set.ordinal.label} {
+ #1 ordinal.num + 'ordinal.num :=
+ ordinal.num int.to.str$ 'ordinal.label :=
+}
+
+EXECUTE {initialize.ordinal.label}
+
+ITERATE {set.ordinal.label}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+ "{" swap$ * "}," *
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { "{" cite$ * "}," *}
+ { "{" key * "}," * }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ "a=" swap$ * "y=" *
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ 'label :=
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.clab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.clabel}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.clabel}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.clab.names }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.clabel}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.clab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.clabel}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.clab.names }
+ if$
+}
+
+FUNCTION {calc.clabel}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.clabel
+ { type$ "proceedings" =
+ 'editor.key.organization.clabel
+ { type$ "manual" =
+ 'author.key.organization.clabel
+ 'author.key.clabel
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'clabel :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.clabel :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort.title}
+{ calc.label
+ calc.clabel
+ title field.or.null
+ sort.format.title
+ " "
+ *
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.author}
+{ calc.clabel
+ calc.label
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.clabel}
+{ calc.label
+ calc.clabel
+ clabel sortify
+ duplicate$ 'sort.label :=
+ #1 entry.max$ substring$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.none}
+{ calc.label
+ calc.clabel
+ "" 'sort.label :=
+ "" 'sort.key$ :=
+}
+
+ITERATE {presort.title}
+
+SORT
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'ordinal.num :=
+}
+
+FUNCTION {forward.pass}
+{ ordinal.num #1 + 'ordinal.num :=
+ ordinal.num int.to.str$ 'nlabel :=
+ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ clabel extra.label * 'clabel :=
+ extra.label 'next.extra :=
+ clabel width$ longest.label.width >
+ { clabel 'longest.label :=
+ clabel width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order.author}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.title}
+{ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.clabel}
+{ sort.label
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.order.none}
+{ sort.label 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order.title}
+
+SORT
+
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/dinat/dinat.bst b/Master/texmf-dist/bibtex/bst/dinat/dinat.bst
new file mode 100644
index 00000000000..38a8cb4a275
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/dinat/dinat.bst
@@ -0,0 +1,1952 @@
+%% DINAT.BST Version 2.5 2000-11-14
+%% (c) Helge Baumann email:Helge.Baumann@gmx.de
+%%------------------------------------------------------------------------------
+%% For use with BibTeX version 0.99a or later.
+%%------------------------------------------------------------------------------
+%% Copying of this file is authorized only if either
+%% (1) you make absolutely no changes to your copy, including name, or
+%% (2) if you do make changes, you name it something other than dinat.bst,
+%% natdin.bst, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+%% This restriction helps ensure that all standard styles are identical.
+%%------------------------------------------------------------------------------
+%% This is a full author-year citation style bibliography. As such, it is
+%% non-standard LaTeX, and requires the natbib-package by Patrick W. Daly,
+%% version 7 or higher to function properly.
+%% It should be used with the following configuration in natbib.cfg:
+%% \newcommand{\bibstyle@dinat}%
+%% {\bibpunct{(}{)}{;}{a}{}{,~}%
+%% \gdef\NAT@biblabelnum##1{\textbf{##1}}}
+%%------------------------------------------------------------------------------
+%% The form of the \bibitem entries is
+%% \bibitem[Jones u. a.(1990)Jones, Baker und Smith]{key}...
+%% If there are more [Jones u. a. 1990], a single character is added to
+%% the year like in [Jones u.a.(1990{\natexlab{a}})Jones, Baker und Smith].
+%% The resulting bibliography entry is
+%% \textsc{Jones}, \textsc{Baker} und \textsc{Smith} ...
+%% The \cite command functions as follows:
+%% \cite{key} ==>> Jones u. a. (1990)
+%% \cite[chap. 2]{key} ==>> (Jones u. a. 1990, chap. 2)
+%% \cite[e.g.][]{key} ==>> (e.g. Jones u. a. 1990)
+%% \cite[e.g.][p. 32]{key} ==>> (e.g. Jones u. a. p. 32)
+%% \citep{key} ==>> (Jones u. a. 1990)
+%% \citep*{key} ==>> (Jones, Baker und Smith 1990)
+%% \citet{key} ==>> Jones u. a. (1990)
+%% \citet*{key} ==>> Jones, Baker und Smith (1990)
+%% \citeauthor{key} ==>> Jones u. a.
+%% \citeauthor*{key} ==>> Jones, Baker und Smith
+%% \citeyear{key} ==>> 1990
+%%------------------------------------------------------------------------------
+%% This bibliography style file is intended for texts in german.
+%% It draws up bibliographies in accordance with the german DIN 1505,
+%% part 2 and 3, as discribed in the german text
+%% http://www.fh-hamburg.de/pers/Lorenzen/tum/litverz.ps
+%%------------------------------------------------------------------------------
+%% This style is based on the natdin.bst style.
+%% The intention for designing a new style for the same result
+%% were the many bugs and the poor design of the original style.
+%% So i simplified the programming and add some comments for rework.
+%% The names of the functions were changed to reflect their functionality:
+%% out.*: write the top of the stack to the bbl-file
+%% format.*: format the top of the stack
+%% push.*: put one item on top of the stack
+%%------------------------------------------------------------------------------
+%% There are some non standard fields for most entries:
+%% isbn: international book number
+%% issn: internation journal number
+%% url: for electronic published documents or additional information
+%% if there is no publisher and address, the url is used instead,
+%% else it acts like a additional note
+%% urldate: the date of the access to the url
+%%------------------------------------------------------------------------------
+%% Author(s):
+%% HB: Helge Baumann, helge.baumann@gmx.de
+%%------------------------------------------------------------------------------
+%% History:
+%% (only main changes are listed, for others see the webpage)
+%% 2000-04-10 (HB): Initial release
+%% 2000-04-18 (HB): Version 1.1:
+%% corrected some typos and oversights
+%% minor changes in output
+%% 2000-04-25 (HB): Version 1.2:
+%% dinat only: added \natexlab
+%% using full key/cite for label
+%% 2000-05-02 (HB): Version 2.0:
+%% added urldate for date of visit
+%% added labels in bibliography, so the seperate
+%% style dinnat.bst is not needed anymore
+%% 2000-05-09 (HB): Version 2.1:
+%% removed blanc in bibpunct
+%% put text ("u.\,a." ...) in functions
+%% rebuild some push functions
+%% changed \cite to \citep
+%% removed push.crossref.editor (not used)
+%% 2000-07-12 (HB): version 2.2:
+%% added push.crossref
+%% changed many crossrefs
+%% corrected typos
+%% put \, in curly braces
+%% 2000-10-03 (HB): version 2.3:
+%% changed remaining "u.~a."
+%% added \labelsep behind dinatlabel
+%% added mastersthesis again, keeping (wrong)
+%% masterthesis (sorry for that)
+%% minor changes in proceedings
+%% 2000-11-05 (HB): version 2.4:
+%% improved inbook
+%% removed extra period from proceedings
+%% added missing colon in misc
+%% improved name formatting
+%% removed long dashes from ISBN/ISSN
+%% restructured format.dashes
+%% 2000-11-14 (HB): version 2.5:
+%% always use key for label if present
+%%------------------------------------------------------------------------------
+
+
+%%------------------------------------------------------------------------------
+%% push standard text items on top of the stack
+%%------------------------------------------------------------------------------
+FUNCTION {push.bd} { "Bd." }
+FUNCTION {push.diplom} { "Diplomarbeit" }
+FUNCTION {push.disser} { "Dissertation" }
+FUNCTION {push.forschung} { "Forschungsbericht" }
+FUNCTION {push.hrsg} { "Hrsg." }
+FUNCTION {push.in} { "In:" }
+FUNCTION {push.isbn} { "ISBN" }
+FUNCTION {push.issn} { "ISSN" }
+FUNCTION {push.kap} { "Kap." }
+FUNCTION {push.nr} { "Nr." }
+FUNCTION {push.sn} { "S" }
+FUNCTION {push.s} { "S." }
+FUNCTION {push.siehe} { "Siehe" }
+FUNCTION {push.ua} { "u.\,a." }
+FUNCTION {push.und} { "und" }
+FUNCTION {push.url.name} { "URL" }
+FUNCTION {push.veranst} { "Veranst." }
+FUNCTION {push.von} { "von" }
+FUNCTION {push.zugriff} { "Zugriffsdatum" }
+
+FUNCTION {push.cite} { "\citep" }
+
+
+%%------------------------------------------------------------------------------
+%% Definitions for every bibliography entry
+%%------------------------------------------------------------------------------
+ENTRY
+ % fields (crossref is default)
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ urldate
+ volume
+ year
+ }
+ % INTEGERS
+ {}
+ % STRINGS (sort.key$ is default)
+ { label extra.label sort.label short.list dinat.label }
+
+
+%%------------------------------------------------------------------------------
+%% required macros for abbr. names of month
+%%------------------------------------------------------------------------------
+MACRO {jan} {"Januar"}
+
+MACRO {feb} {"Februar"}
+
+MACRO {mar} {"M\^^b{a}rz"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"Mai"}
+
+MACRO {jun} {"Juni"}
+
+MACRO {jul} {"Juli"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"Oktober"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"Dezember"}
+
+
+%%------------------------------------------------------------------------------
+%% macros for common journals
+%%------------------------------------------------------------------------------
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+
+%%------------------------------------------------------------------------------
+%% for debugging (not used)
+%%------------------------------------------------------------------------------
+FUNCTION {show}
+% show quoted top of stack
+{ duplicate$ ":::: `" swap$ * "'" * top$
+}
+
+FUNCTION {show.stack}
+% show and clear whole stack
+{ "STACK====================================================================="
+ top$
+ stack$
+ "ENDSTACK=================================================================="
+ top$
+}
+
+
+%%------------------------------------------------------------------------------
+%% logical functions
+%%------------------------------------------------------------------------------
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ { skip$ }
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ { skip$ }
+ if$
+}
+
+
+%%------------------------------------------------------------------------------
+%% variables for the recent output state
+%%------------------------------------------------------------------------------
+INTEGERS { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ colon.after
+ period.dash }
+
+FUNCTION {init.state.consts}
+% initialisation of the state variables
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'colon.after :=
+ #5 'period.dash :=
+}
+
+FUNCTION {set.period.dash}
+% set ". -- "
+{ output.state before.all =
+ { skip$ }
+ { period.dash 'output.state := }
+ if$
+}
+
+FUNCTION {set.period.dash.check}
+% only if not empty
+{ empty$
+ { skip$ }
+ { set.period.dash }
+ if$
+}
+
+FUNCTION {set.colon.after}
+% set ": "
+{ output.state before.all =
+ { skip$ }
+ { colon.after 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+% set ". "
+{ output.state before.all =
+ { skip$ }
+ { after.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence.check}
+% only if not empty
+{ empty$
+ { skip$ }
+ { new.sentence }
+ if$
+}
+
+FUNCTION {part.of.sentence}
+% set ", "
+{ output.state before.all =
+ { skip$ }
+ { mid.sentence 'output.state := }
+ if$
+}
+
+
+%%------------------------------------------------------------------------------
+%% output lines to bbl. file
+%%------------------------------------------------------------------------------
+STRINGS { h s t u v }
+
+FUNCTION {out.block}
+% writes the second but last element with seperator
+{ 's :=
+ output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ { write$ }
+ { output.state colon.after =
+ { ": " * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state period.dash =
+ { ". -- " * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state mid.sentence =
+ { ", " * write$ }
+ { write$
+ newline$
+ "\newblock " write$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ after.block 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {out}
+% write only if not empty
+{ duplicate$ empty$
+ { pop$ }
+ { out.block }
+ if$
+}
+
+FUNCTION {out.check.required}
+% write if not empty, else drop warning
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ { out.block }
+ if$
+}
+
+FUNCTION {out.check.din}
+% write if not empty, else drop note
+{ 't :=
+ duplicate$ empty$
+ { pop$ "DIN: empty " t * " in " * cite$ * top$ }
+ { out.block }
+ if$
+}
+
+
+%%------------------------------------------------------------------------------
+%% format entries for full author/editor citations
+%%------------------------------------------------------------------------------
+INTEGERS { nameptr namesleft pos len }
+
+FUNCTION {format.full.names}
+% format all names
+{ 's :=
+ ""
+ #1 'nameptr :=
+ s num.names$ 'namesleft :=
+ { namesleft #0 > } % while
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 =
+ { % first name
+ t *
+ }
+ { namesleft #1 =
+ { % last name
+ t "others" =
+ { " " * push.ua * }
+ { " " * push.und * " " * t * }
+ if$
+ }
+ { % other names
+ ", " * t *
+ }
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$ % { namesleft #0 > }
+}
+
+FUNCTION {key.full}
+{ key empty$
+ { cite$ }
+ { key }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key.full }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key.full }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor.key.full }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ { author.editor.key.full }
+ { type$ "proceedings" =
+ { editor.key.full }
+ { author.key.full }
+ if$
+ }
+ if$
+}
+
+
+%%------------------------------------------------------------------------------
+%% write bibentry to bbl. file
+%%------------------------------------------------------------------------------
+FUNCTION {out.bibitem.start}
+% start of entry
+{ newline$
+ "\bibitem[" label * ")" *
+ make.full.names
+ duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "]{" * cite$ * "}" *
+ write$
+ newline$
+ "\dinatlabel{" dinat.label * "} " *
+ write$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {out.bibitem.end}
+% end of entry
+{ write$
+ newline$
+}
+
+
+%%------------------------------------------------------------------------------
+%% format text
+%%------------------------------------------------------------------------------
+FUNCTION {format.emphasize}
+% emphasize top of stack
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {format.smallcaps}
+% top of stack in small caps
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textsc{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {format.dashes}
+% replace single dashes (-) with tex-styled dashes (--)
+{ 't :=
+ ""
+ { t empty$ not } % while$
+ { t #1 #2 substring$ "--" =
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ { t #1 #1 substring$ "-" =
+ { "--" * }
+ { t #1 #1 substring$ * }
+ if$
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$ % { t empty$ not }
+}
+
+
+%%------------------------------------------------------------------------------
+%% manipulte entries on the stack
+%%------------------------------------------------------------------------------
+FUNCTION {tie.or.space.connect}
+% connect two top items with space or ~, if second is shorter than 3
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {push.field.or.null}
+% push an empty item on the stack if it's a missing entry
+{ duplicate$ empty$
+ { pop$ "" }
+ { skip$ }
+ if$
+}
+
+
+%%------------------------------------------------------------------------------
+%% format text on stack
+%%------------------------------------------------------------------------------
+STRINGS { hrsg }
+
+FUNCTION {format.names}
+% format all names on top of stack
+{ 's :=
+ ""
+ #1 'nameptr :=
+ s num.names$ 'namesleft :=
+ { namesleft #0 > } % while names left
+ { % first get last name in small caps
+ s nameptr "{ll}" format.name$ 't :=
+ t format.smallcaps 't :=
+ % second get all first names
+ s nameptr "{, ff}" format.name$ 'u :=
+ u text.length$ 'len :=
+ #1 'pos :=
+ "" 'v :=
+ { pos len < } % while
+ { u pos #1 substring$ "~" =
+ { v "" =
+ { u #1 pos #1 - substring$ 'v := }
+ { skip$ }
+ if$
+ % cut second and more first names
+ v u pos #2 substring$ * "." * 'v :=
+ }
+ { skip$ }
+ if$
+ pos #1 + 'pos :=
+ }
+ while$ % { pos len < }
+ v "" =
+ { u 'v := }
+ { skip$ }
+ if$
+ % third get all "von"
+ s nameptr "{ vv}" format.name$ 'u :=
+ % put it all together
+ t v * u * hrsg * 't :=
+
+ nameptr #1 =
+ { %first name
+ t *
+ }
+ { namesleft #1 =
+ { % last name
+ t "others" format.smallcaps =
+ t "others" format.smallcaps hrsg * =
+ or
+ { " " * push.ua * }
+ { "~; " * t * }
+ if$
+ }
+ { % other names
+ "~; " * t *
+ }
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$ % { namesleft #0 > }
+ "" 'hrsg :=
+}
+
+
+%%------------------------------------------------------------------------------
+%% push formatted or empty field(s) on top of the stack
+%%------------------------------------------------------------------------------
+FUNCTION {push.authors}
+% format author names
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {push.editors}
+% format editor names
+{ editor empty$
+ { "" }
+ { " (" push.hrsg * ")" * 'hrsg :=
+ editor format.names
+ }
+ if$
+}
+
+FUNCTION {push.authors.editors}
+% format author and/or editor names
+{ author empty$
+ { push.editors }
+ { push.authors
+ editor empty$
+ { skip$ }
+ { "~; " * push.editors * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {push.organization}
+% format organization
+{ organization empty$
+ { "" }
+ { organization
+ " (" * push.veranst * ")" *
+ }
+ if$
+}
+
+FUNCTION {push.title}
+% title as in entry
+{ title empty$
+ { "" }
+ { title }
+ if$
+}
+
+FUNCTION {push.url}
+% prefixed with "URL" and special formatting
+{ url empty$
+ { "" }
+ { push.url.name " \url{" * url * "}" *
+ urldate empty$
+ { skip$ }
+ { ". -- " * push.zugriff * ": " * urldate * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {push.date}
+% format: month year
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ { year }
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {push.address.publisher.year}
+% the whole imprint
+{ address empty$
+ { publisher empty$
+ { url empty$
+ { year empty$
+ { "no publisher, address, url or date in " cite$ * warning$
+ "" }
+ { push.date }
+ if$
+ }
+ { "no proper publisher, using url in " cite$ * warning$
+ push.url
+ year empty$
+ { skip$ }
+ { ", " * push.date * }
+ if$
+ }
+ if$
+ }
+ { publisher
+ year empty$
+ { "there's a publisher but no year in " cite$ * warning$ }
+ { ", " * push.date * }
+ if$
+ }
+ if$
+ }
+ { address
+ publisher empty$
+ { "there's an address but no publisher in " cite$ * warning$ }
+ { "~: " * publisher * }
+ if$
+ year empty$
+ { skip$ }
+ { ", " * push.date * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {push.btitle}
+% the booktitle
+{ title empty$
+ { "" }
+ { title format.emphasize }
+ if$
+}
+
+FUNCTION {push.btitle.vol}
+% booktitle in multivolume works
+{ number empty$
+ { series empty$
+ { push.btitle
+ volume empty$
+ { skip$ }
+ { ". " * push.bd * volume tie.or.space.connect }
+ if$
+ }
+ { volume empty$
+ { push.btitle }
+ { series format.emphasize ". " *
+ push.bd * volume tie.or.space.connect
+ ": " * push.btitle *
+ }
+ if$
+ }
+ if$
+ }
+ { push.btitle }
+ if$
+}
+
+FUNCTION {push.article.in.journal}
+% source of article
+{ journal empty$
+ { "" }
+ { author missing$
+ title missing$
+ and
+ { journal format.emphasize }
+ { push.in " " * journal format.emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {push.series.number}
+% series and number like DIN
+{ volume empty$
+ { series empty$
+ { number empty$
+ { "" }
+ { "there's a number but no series in " cite$ * warning$
+ "(" number * ")" * }
+ if$
+ }
+ { "(" series *
+ number empty$
+ { skip$ }
+ { number tie.or.space.connect }
+ if$
+ ")" *
+ }
+ if$
+ }
+ { series empty$
+ { "" }
+ { type$ "proceedings" =
+ { "(" series *
+ number empty$
+ { skip$ }
+ { number tie.or.space.connect }
+ if$
+ ")" *
+ }
+ { "" }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {push.misc.series}
+% series in MISC
+{ series empty$
+ { "" }
+ { "(" series * ")" * }
+ if$
+}
+
+FUNCTION {push.edition}
+% like in entry
+{ edition empty$
+ { "" }
+ { edition }
+ if$
+}
+
+FUNCTION {push.isbn.issn}
+% preceeded with ISSN/ISBN
+{ isbn empty$
+ { issn empty$
+ { "" }
+ { push.issn " " * issn * }
+ if$
+ }
+ { push.isbn " " * isbn * }
+ if$
+}
+
+FUNCTION {push.pages.book}
+% as length of a book
+{ pages empty$
+ { "" }
+ { pages format.dashes "~" * push.sn * }
+ if$
+}
+
+FUNCTION {push.pages}
+% as part of a book
+{ pages empty$
+ { "" }
+ { push.s "~" * pages format.dashes * }
+ if$
+}
+
+FUNCTION {push.vol.year.num.pages}
+% for journals etc.
+{ volume push.field.or.null
+ year empty$
+ { "there's no year in " cite$ * warning$ }
+ { duplicate$ empty$
+ { pop$ "(" }
+ { " (" * }
+ if$
+ year * ")" *
+ }
+ if$
+ month empty$
+ { skip$ }
+ { duplicate$ empty$
+ { pop$ month }
+ { ", " * month * }
+ if$
+ }
+ if$
+ number empty$
+ { skip$ }
+ { duplicate$ empty$
+ { pop$ push.nr }
+ { ", " * push.nr * }
+ if$
+ "~" * number *
+ }
+ if$
+ pages empty$
+ { skip$ }
+ { duplicate$ empty$
+ { skip$ }
+ { ", " *
+ title missing$
+ { push.pages.book * }
+ { push.pages * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {push.chapter.pages}
+% chapter and pages
+{ chapter empty$
+ { push.pages }
+ { type empty$
+ { push.kap }
+ { type }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ { skip$ }
+ { ", " * push.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {push.in.ed.booktitle}
+% main title and volume
+{ booktitle empty$
+ { "" }
+ { push.in " " *
+ editor empty$
+ { skip$ }
+ { push.editors * ": " * }
+ if$
+ booktitle format.emphasize *
+ volume empty$
+ { skip$ }
+ { " " * push.bd * "~" * volume * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {push.mastersthesis.type}
+% type of a mastersthesis
+{ type empty$
+ { push.diplom }
+ { type }
+ if$
+}
+
+FUNCTION {push.phdthesis.type}
+% type of a phdthesis
+{ type empty$
+ { push.disser }
+ { type }
+ if$
+}
+
+FUNCTION {push.tr.number}
+% type and number of a technical report
+{ number empty$
+ { " " }
+ { "(" number * "). " * }
+ if$
+ "-- " *
+ type empty$
+ { push.forschung * }
+ { type * }
+ if$
+}
+
+FUNCTION {push.article.crossref}
+% article from a journal
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { push.in " " * journal format.emphasize * }
+ if$
+ }
+ { push.in " " * key * }
+ if$
+ " " * push.cite * "{" * crossref * "}" *
+ pages empty$
+ { skip$ }
+ { ", " * push.pages * }
+ if$
+}
+
+FUNCTION {push.book.crossref}
+% crossreference in BOOKs
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ push.siehe
+ }
+ { ". -- " push.bd * "~" * volume *
+ " " * push.von *
+ }
+ if$
+ " " * push.cite * "{" * crossref * "}" *
+}
+
+FUNCTION {push.incoll.inproc.crossref}
+% crossreference with In:
+{ editor empty$
+ editor push.field.or.null author push.field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { push.siehe }
+ { push.in " " * booktitle format.emphasize * "." * }
+ if$
+ }
+ { push.in }
+ if$
+ }
+ { push.in }
+ if$
+ " " * push.cite * "{" * crossref * "}" *
+ chapter empty$
+ { skip$ }
+ { ", " *
+ type empty$
+ { push.kap * }
+ { type * }
+ if$
+ chapter tie.or.space.connect
+ }
+ if$
+ pages empty$
+ { skip$ }
+ { ", " * push.pages * }
+ if$
+}
+
+FUNCTION {push.crossref}
+% a simple crossref
+{ crossref empty$
+ { "" }
+ { push.siehe " " * push.cite * "{" * crossref * "}" * }
+ if$
+}
+
+
+%%------------------------------------------------------------------------------
+%% functions for the different entries
+%%------------------------------------------------------------------------------
+FUNCTION {article}
+% required: author, title, journal, year
+% optional: volume, number, pages, month, note, url, issn
+{ out.bibitem.start
+ push.authors "author" out.check.required
+ set.colon.after
+ push.title "title" out.check.required
+ crossref missing$
+ { push.article.in.journal out.block
+ new.sentence
+ push.vol.year.num.pages out
+ }
+ { push.article.crossref out.block }
+ if$
+ url set.period.dash.check
+ push.url out
+ note set.period.dash.check
+ note out
+ issn set.period.dash.check
+ push.isbn.issn out
+ out.bibitem.end
+}
+
+FUNCTION {book}
+% required: author/editor, title, publisher, year
+% optional: volume oder number, series, address, edition, pages, month,
+% note, url, isbn
+{ out.bibitem.start
+ author empty$
+ { push.editors "author and editor" out.check.required }
+ { push.authors.editors out.block }
+ if$
+ set.colon.after
+ crossref missing$
+ { push.btitle.vol }
+ { push.btitle }
+ if$
+ "title" out.check.required
+ push.edition out
+ push.address.publisher.year "publisher" out.check.required
+ new.sentence
+ crossref missing$
+ { push.series.number out }
+ { push.book.crossref out.block }
+ if$
+ pages set.period.dash.check
+ push.pages.book out
+ address empty$
+ publisher empty$
+ and
+ { skip$ }
+ { url set.period.dash.check
+ push.url out
+ }
+ if$
+ note set.period.dash.check
+ note out
+ isbn set.period.dash.check
+ push.isbn.issn out
+ out.bibitem.end
+}
+
+% booklet see below
+
+% conference see below
+
+FUNCTION {inbook}
+% required: author/editor, title, chapter/pages, publisher, year
+% optional: volume oder number, series, type, address, month, note, url, isbn
+{ out.bibitem.start
+ author empty$
+ { push.editors "author and editor" out.check.required }
+ { push.authors out.block }
+ if$
+ set.colon.after
+ push.btitle.vol "title" out.check.required
+ push.chapter.pages out
+ crossref missing$
+ { push.in.ed.booktitle "booktitle" out.check.required
+ address empty$
+ { part.of.sentence
+ push.address.publisher.year out
+ }
+ { push.address.publisher.year "publisher" out.check.required }
+ if$
+ new.sentence
+ series empty$
+ { skip$ }
+ { push.series.number out }
+ if$
+ part.of.sentence
+ address empty$
+ publisher empty$
+ and
+ { skip$ }
+ { url set.period.dash.check
+ push.url out
+ }
+ if$
+ }
+ { push.crossref out.block
+ url set.period.dash.check
+ push.url out
+ }
+ if$
+ note set.period.dash.check
+ note out
+ isbn set.period.dash.check
+ push.isbn.issn out
+ out.bibitem.end
+}
+
+FUNCTION {incollection}
+% required: author, title, booktitle, publisher, year
+% optional: editor, volume oder number, series, type, chapter,
+% pages, address, edition, month, note, url
+{ out.bibitem.start
+ push.authors "author" out.check.required
+ set.colon.after
+ push.title "title" out.check.required
+ crossref missing$
+ { push.in.ed.booktitle "booktitle" out.check.required
+ push.edition out
+ push.address.publisher.year "publisher" out.check.required
+ new.sentence
+ push.series.number out
+ part.of.sentence
+ push.chapter.pages "pages" out.check.required
+ address empty$
+ publisher empty$
+ and
+ { skip$ }
+ { url set.period.dash.check
+ push.url out
+ }
+ if$
+ }
+ { push.incoll.inproc.crossref out.block
+ url set.period.dash.check
+ push.url out
+ }
+ if$
+ note set.period.dash.check
+ note out
+ isbn set.period.dash.check
+ issn set.period.dash.check
+ push.isbn.issn out
+ out.bibitem.end
+}
+
+FUNCTION {inproceedings}
+% required: author, title, booktitle, year
+% optional: editor, volume oder number, series, pages, address, month,
+% organization, publisher, note, url
+{ out.bibitem.start
+ push.authors "author" out.check.required
+ set.colon.after
+ push.title "title" out.check.required
+ crossref missing$
+ { push.in.ed.booktitle "booktitle" out.check.required
+ address empty$
+ { organization new.sentence.check
+ push.organization out
+ part.of.sentence
+ push.address.publisher.year out
+ }
+ { push.address.publisher.year "publisher" out.check.required }
+ if$
+ new.sentence
+ series empty$
+ { skip$ }
+ { push.series.number out }
+ if$
+ part.of.sentence
+ push.pages "pages" out.check.required
+ address empty$
+ publisher empty$
+ and
+ { skip$ }
+ { url set.period.dash.check
+ push.url out
+ }
+ if$
+ }
+ { push.incoll.inproc.crossref out.block
+ url set.period.dash.check
+ push.url out
+ }
+ if$
+ note set.period.dash.check
+ note out
+ isbn set.period.dash.check
+ issn set.period.dash.check
+ push.isbn.issn out
+ out.bibitem.end
+}
+
+FUNCTION {manual}
+% required: title
+% optional: author, organization, address, edition, month, year, note, url
+{ out.bibitem.start
+ author empty$
+ { organization empty$
+ { title empty$
+ { skip$ }
+ { push.btitle "title" out.check.required }
+ if$
+ }
+ { push.organization out.block
+ set.colon.after
+ push.btitle "title" out.check.required
+ }
+ if$
+ }
+ { push.authors out.block
+ set.colon.after
+ push.btitle "title" out.check.required
+ }
+ if$
+ push.edition "edition" out.check.required
+ author empty$
+ { organization empty$
+ { address out
+ part.of.sentence
+ }
+ { skip$ }
+ if$
+ }
+ { address ": " * push.organization * out
+ part.of.sentence
+ }
+ if$
+ push.date out
+ pages set.period.dash.check
+ push.pages.book out
+ url set.period.dash.check
+ push.url out
+ note set.period.dash.check
+ note out
+ out.bibitem.end
+}
+
+FUNCTION {mastersthesis}
+% required: author, title, school, year
+% optional: type, address, month, note, url
+{ out.bibitem.start
+ push.authors "author" out.check.required
+ set.colon.after
+ push.btitle "title" out.check.required
+ address out
+ part.of.sentence
+ school "school" out.check.required
+ part.of.sentence
+ push.mastersthesis.type out.block
+ part.of.sentence
+ push.date "year" out.check.required
+ pages set.period.dash.check
+ push.pages.book out
+ url set.period.dash.check
+ push.url out
+ note set.period.dash.check
+ note out
+ out.bibitem.end
+}
+
+FUNCTION {misc}
+% required:
+% optional: author, title, howpublished, month, year, note, url
+{ out.bibitem.start
+ note empty$
+ { title empty$
+ { skip$ }
+ { push.authors.editors out.block
+ set.colon.after
+ push.btitle out
+ howpublished out
+ push.date out
+ push.crossref out
+ url set.period.dash.check
+ push.url out
+ }
+ if$
+ }
+ { note #1 #4 substring$ "u" change.case$ "NORM" =
+ { note out
+ part.of.sentence
+ push.date out
+ push.title format.emphasize out
+ push.crossref out
+ }
+ { author empty$
+ { editor empty$
+ { organization empty$
+ { skip$ }
+ { push.organization out.block
+ set.colon.after
+ }
+ if$
+ }
+ { push.editors push.organization * out.block
+ set.colon.after
+ }
+ if$
+ }
+ { push.authors.editors out.block
+ set.colon.after
+ }
+ if$
+ push.btitle out
+ push.crossref out
+ howpublished out
+ push.date out
+ new.sentence
+ push.misc.series out
+ url set.period.dash.check
+ push.url out
+ note set.period.dash.check
+ note out
+ }
+ if$
+ }
+ if$
+ out.bibitem.end
+}
+
+FUNCTION {phdthesis}
+% required: author, title, school, year
+% optional: type, address, month, note, url
+{ out.bibitem.start
+ push.authors "author" out.check.required
+ set.colon.after
+ push.btitle "title" out.check.required
+ address out
+ part.of.sentence
+ school "school" out.check.required
+ part.of.sentence
+ push.phdthesis.type out.block
+ part.of.sentence
+ push.date "year" out.check.required
+ pages set.period.dash.check
+ push.pages.book out
+ url set.period.dash.check
+ push.url out
+ note set.period.dash.check
+ note out
+ out.bibitem.end
+}
+
+FUNCTION {proceedings}
+% required: title, year
+% optional: editor, volume oder number, series, address, month,
+% organization, publisher, note, url
+{ out.bibitem.start
+ editor empty$
+ { push.organization }
+ { push.editors
+ organization empty$
+ { skip$ }
+ { "~; " * push.organization * }
+ if$
+ }
+ if$
+ out.block
+ set.colon.after
+ push.btitle "title" out.check.required
+ volume empty$
+ { skip$ }
+ { push.bd "~" * volume format.emphasize * out.block }
+ if$
+ push.address.publisher.year "publisher" out.check.required
+ push.series.number out
+ pages set.period.dash.check
+ push.pages.book out
+ address empty$
+ publisher empty$
+ and
+ { skip$ }
+ { url set.period.dash.check
+ push.url out
+ }
+ if$
+ note set.period.dash.check
+ note out
+ isbn set.period.dash.check
+ issn set.period.dash.check
+ push.isbn.issn out
+ out.bibitem.end
+}
+
+FUNCTION {techreport}
+% required: author, title, institution, year
+% optional: type, number, address, month, note, url
+{ out.bibitem.start
+ author empty$
+ { push.editors "author and editor" out.check.required }
+ { push.authors.editors out.block }
+ if$
+ set.colon.after
+ push.title "title" out.check.required
+ institution empty$
+ { skip$ }
+ { institution new.sentence.check
+ "/ " institution * out.block
+ }
+ if$
+ push.address.publisher.year out
+ number new.sentence.check
+ push.tr.number "number" out.check.required
+ pages set.period.dash.check
+ push.pages.book out
+ address empty$
+ publisher empty$
+ and
+ { skip$ }
+ { url set.period.dash.check
+ push.url out
+ }
+ if$
+ note "note" out.check.required
+ isbn set.period.dash.check
+ issn set.period.dash.check
+ push.isbn.issn out
+ out.bibitem.end
+}
+
+FUNCTION {booklet}
+% required: title
+% optional: author, howpublished, address, month, year, note, url
+{ misc % so far
+}
+
+FUNCTION {conference}
+% required: author, title, note
+% optional: month, year, url
+{ inproceedings % like stated in BibTeXing by O. Patashnik
+}
+
+FUNCTION {masterthesis}
+% required: author, title, school, year
+% optional: type, address, month, note, url
+{ mastersthesis % just because of a typo in former version
+}
+
+FUNCTION {unpublished}
+% required: author, title, note
+% optional: month, year, url
+{ misc % so far
+}
+
+FUNCTION {default.type}
+% all other types
+{ misc
+}
+
+
+%%------------------------------------------------------------------------------
+%% for producing the labels
+%%------------------------------------------------------------------------------
+FUNCTION {sortify}
+% simplify for sorting
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {chop.word}
+% cut a word
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ { s }
+ if$
+}
+
+FUNCTION {chop.article}
+% cut article from a word
+{ 't :=
+ "A " #2
+ "An " #3
+ "Der " #4
+ "Die " #4
+ "Das " #4
+ "Ein " #4
+ "Eine " #5
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+}
+
+
+FUNCTION {format.lab.names}
+% format names for the label
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " " * push.ua * }
+ { #2 <
+ { skip$ }
+ { s #2 "{ll}" format.name$ "others" =
+ { " " * push.ua * }
+ { " " * push.und * " " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.label}
+% label from key or author
+{ key empty$
+ { author empty$
+ { cite$ }
+ { author format.lab.names }
+ if$
+ }
+ { key }
+ if$
+}
+
+FUNCTION {author.editor.label}
+% label from key, author or editor
+{ key empty$
+ { author empty$
+ { editor empty$
+ { cite$ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+ }
+ { key }
+ if$
+}
+
+FUNCTION {author.organization.label}
+% label from key, author or organization
+{ key empty$
+ { author empty$
+ { organization empty$
+ { cite$ }
+ { organization chop.article }
+ if$
+ }
+ { author format.lab.names }
+ if$
+ }
+ { key }
+ if$
+}
+
+FUNCTION {editor.organization.label}
+% label from key, editor or organization
+{ key empty$
+ { editor empty$
+ { organization empty$
+ { cite$ }
+ { organization chop.article }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { key }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+% make short label (only first author)
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ { author.editor.label }
+ { type$ "proceedings" =
+ { editor.organization.label }
+ { type$ "manual" =
+ { author.organization.label }
+ { author.label }
+ if$
+ }
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+% make a full label
+{ calc.short.authors
+ short.list "(" *
+ year push.field.or.null format.dashes * 'label :=
+ short.list " " *
+ year push.field.or.null format.dashes * 'dinat.label :=
+ label sortify 'sort.label :=
+}
+
+
+%%------------------------------------------------------------------------------
+%% sorting
+%%------------------------------------------------------------------------------
+FUNCTION {sort.format.names}
+% format names for sorting
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'namesleft :=
+ { namesleft #0 > } % while
+ { nameptr #1 =
+ { skip$ }
+ { " " * }
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't :=
+ namesleft #1 =
+ t "others" =
+ and
+ { "[" * push.ua * "]" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$ % { namesleft #0 > }
+}
+
+FUNCTION {sort.format.title}
+% format title for sorting (without article)
+{ chop.article
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+% author or key for sorting
+{ key empty$
+ { author empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { author sort.format.names }
+ if$
+ }
+ { key sortify }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+% author, editor or key for sorting
+{ key empty$
+ { author empty$
+ { editor empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+ }
+ { key sortify }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+% author, organization or key for sorting
+{ key empty$
+ { author empty$
+ { organization empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { organization chop.article sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+ }
+ { key sortify }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+% editor, organization or key for sorting
+{ key empty$
+ { editor empty$
+ { organization empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { organization chop.article sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { key sortify }
+ if$
+}
+
+FUNCTION {presort}
+% first sort
+{ calc.label
+ sort.label
+ " " *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ { author.editor.sort }
+ { type$ "proceedings" =
+ { editor.organization.sort }
+ { type$ "manual" =
+ { author.organization.sort }
+ { author.sort }
+ if$
+ }
+ if$
+ }
+ if$
+ " " *
+ year push.field.or.null sortify *
+ " " *
+ title push.field.or.null sort.format.title *
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num label.count }
+
+FUNCTION {initialize.label}
+{ "" 'last.label :=
+ #0 'label.count :=
+}
+
+FUNCTION {forward.pass}
+% find maximum additional character for identical labels
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ label.count #1 + 'label.count :=
+}
+
+FUNCTION {reverse.pass}
+% add additional characters to identical labels
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ { skip$ }
+ if$
+ extra.label 'next.extra :=
+ extra.label empty$
+ { "" }
+ { "{\natexlab{" extra.label * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+ dinat.label extra.label * 'dinat.label :=
+}
+
+FUNCTION {bib.sort.order}
+{ sort.label 'sort.key$ :=
+}
+
+
+%%------------------------------------------------------------------------------
+%% making the bbl. file
+%%------------------------------------------------------------------------------
+FUNCTION {begin.bib}
+% beginning of the file
+{ preamble$ empty$
+ { skip$ }
+ { preamble$
+ write$
+ newline$
+ }
+ if$
+ "\begin{thebibliography}{" label.count int.to.str$ * "}" *
+ write$
+ newline$
+ "% this bibliography was produced with the style dinat.bst v2.5"
+ write$
+ newline$
+ "\makeatletter"
+ write$
+ newline$
+ "\newcommand{\dinatlabel}[1]%"
+ write$
+ newline$
+ "{\ifNAT@numbers\else\NAT@biblabelnum{#1}\hspace{2\labelsep}\fi}"
+ write$
+ newline$
+ "\makeatother"
+ write$
+ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$
+ newline$
+ "\expandafter\ifx\csname url\endcsname\relax\def\url#1{\texttt{#1}}\fi"
+ write$
+ newline$
+}
+
+FUNCTION {end.bib}
+% end of the bbl. file
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+
+%%------------------------------------------------------------------------------
+%% processing the .bib file
+%%------------------------------------------------------------------------------
+READ
+
+ITERATE {presort}
+
+SORT
+
+EXECUTE {initialize.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/directory/address-html.bst b/Master/texmf-dist/bibtex/bst/directory/address-html.bst
new file mode 100644
index 00000000000..b2b49f34659
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/directory/address-html.bst
@@ -0,0 +1,791 @@
+%% address-html.bst
+%% Copyright 1999-2000 Christophe Geuzaine
+%
+% Last Mod by Christophe on Sun Aug 27 21:10:54 2000
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+% BibTeX bibliography style `address-html.bst'
+% 'directory' database: all fields
+%
+% Christophe.Geuzaine@advalvas.be
+%
+% Last modified 08/06/1999
+%
+% This is definitively a hack...
+%
+% The parts you may want to customize are labeled with "CUSTOM"
+%
+
+INTEGERS { nameptr namesleft numnames numaux len }
+STRINGS { s t u v }
+
+% ------------------------------------------------------------
+% E N T R I E S
+% ------------------------------------------------------------
+
+ENTRY
+ { name
+ nickname
+ birthday
+ birthyear
+ address
+ phone
+ cellular
+ fax
+ email
+ url
+ account
+ p.address
+ p.phone
+ p.cellular
+ p.fax
+ p.email
+ p.url
+ p.account
+ r.address
+ r.phone
+ r.cellular
+ r.fax
+ r.email
+ r.url
+ r.account
+ w.title
+ w.name
+ w.address
+ w.phone
+ w.cellular
+ w.fax
+ w.email
+ w.url
+ w.account
+ note
+ }
+ {}
+ { birthday.str
+ private.str
+ residence.str
+ work.str
+ note.str
+ and.str
+ nickname.str
+ address.str
+ phone.str
+ cellular.str
+ fax.str
+ email.str
+ url.str
+ account.str
+ title.str
+ name.str
+ }
+
+
+% ------------------------------------------------------------
+% G E N E R A L
+% ------------------------------------------------------------
+
+FUNCTION {init.strings}
+{
+
+% CUSOTM this is the 'html' equivalent for the \dirXXX customization
+% commands
+
+ "<dt>&nbsp;&nbsp;&nbsp;&nbsp;<em>birthday</em></dt>" 'birthday.str :=
+ "<dt>&nbsp;&nbsp;&nbsp;&nbsp;<em>home</em></dt>" 'private.str :=
+ "<dt>&nbsp;&nbsp;&nbsp;&nbsp;<em>residence</em></dt>" 'residence.str :=
+ "<dt>&nbsp;&nbsp;&nbsp;&nbsp;<em>workplace</em></dt>" 'work.str :=
+ "<dt>&nbsp;&nbsp;&nbsp;&nbsp;<em>note</em></dt>" 'note.str :=
+
+ " and " 'and.str :=
+ " aka " 'nickname.str :=
+ "" 'address.str :=
+ "Phn: " 'phone.str :=
+ "GSM: " 'cellular.str :=
+ "Fax: " 'fax.str :=
+ "" 'email.str :=
+ "" 'url.str :=
+ "Account: " 'account.str :=
+ "" 'title.str :=
+ "" 'name.str :=
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ write$
+ newline$
+ "<dd> " write$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {emailize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<A HREF=" quote$ * "mailto:" * swap$ * quote$ * " >" * swap$ * "</A>" * }
+ if$
+}
+
+FUNCTION {urlize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<A HREF=" quote$ * swap$ * quote$ * " >" * swap$ * "</A>" * }
+ if$
+}
+
+FUNCTION {ttize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<tt>" swap$ * "</tt>" * }
+ if$
+}
+
+% ------------------------------------------------------------
+% S O R T I N G F U N C T I O N S
+% ------------------------------------------------------------
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sort.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.raw.names}
+{ 't :=
+ "A " #2 "L'" #2
+ "An " #3 "Au " #3 "Le " #3 "La " #3
+ "The " #4 "Les " #4 "Aux " #4
+ t
+ chop.word chop.word
+ chop.word chop.word chop.word chop.word
+ chop.word chop.word chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {name.sort}
+{ name empty$
+ { " Name field missing in entry '" cite$ * "'" * warning$ "" }
+ { name sort.names }
+ if$
+}
+
+FUNCTION {raw.name.sort}
+{ name empty$
+ { " Name field missing in entry '" cite$ * "'" * warning$ "" }
+ { name sort.raw.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "company" =
+ type$ "place" =
+ or
+ { raw.name.sort }
+ { name.sort }
+ if$
+ " "
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+% ------------------------------------------------------------
+% P R E - A N D P O S T - H E A D E R S
+% ------------------------------------------------------------
+
+FUNCTION {begin.bib}
+{ "<HTML><!-- This is a file generated by the LaTeX directory package -->" write$
+ newline$
+ "<TITLE>Address Book (generated by the LaTeX directory package)</TITLE>" write$
+ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$
+ "<p><hr><center><font size=-1>This address book was generated by <A HREF= " write$
+ quote$ "http://www.geuz.org/directory/" * quote$ * write$
+ " >directory</A>, version 1.15</center></HTML>" write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% F O R M A T S
+% ------------------------------------------------------------
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+% CUSTOM uncomment one of the following lines to have the behaviour on the right
+ s nameptr "{ff{ } }{vv{ } }{ll{ }}{, jj{ }}" format.name$ 't := % Christophe de Geuzaine, jr
+% s nameptr "{f.{ } }{vv{ } }{ll{ }}{, jj{ }}" format.name$ 't := % C. de Geuzaine, jr
+% s nameptr "{vv{ } }{ll{ }}{ f.{ }}{, jj{ }}" format.name$ 't := % de Geuzaine C., jr
+% s nameptr "{vv{ } }{ll{ }}{, ff{ }}{, jj{ }}" format.name$ 't := % de Geuzaine, Christophe, jr
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { and.str * t * }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.dates}
+{
+ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+
+ birthyear empty$
+ { #0 'numaux := }
+ { birthyear num.names$ 'numaux :=
+ numnames numaux =
+ { }
+ { " birthdays and birthyears don't match in entry '" cite$ * "'" * warning$ }
+ if$
+ }
+ if$
+
+% CUSTOM
+
+ { namesleft #0 > }
+ { s nameptr "{ff}" format.name$ 't :=
+ s nameptr "{ll}" format.name$ 'u :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * "/" * u * }
+ { and.str * t * "/" * u * }
+ if$
+ }
+ { t "/" * u * }
+ if$
+
+ numaux #0 > not
+ { }
+ { birthyear nameptr "{ll}" format.name$ 'v :=
+ "/" * v * }
+ if$
+
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ numaux #1 - 'numaux :=
+ }
+ while$
+}
+
+FUNCTION {format.years}
+{
+ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { and.str * t * }
+ if$
+ }
+ t
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.name}
+{ name empty$
+ { "" }
+ { name format.names }
+ if$
+}
+
+FUNCTION {format.nickname}
+{ nickname empty$
+ { "" }
+ { nickname.str nickname format.names * }
+ if$
+}
+
+FUNCTION {format.birthday.flag}
+{ birthyear empty$ not
+ birthday empty$ not
+ or
+ { birthday.str }
+ { "" }
+ if$
+}
+
+FUNCTION {format.birthday}
+{ birthday empty$
+ {
+ birthyear empty$
+ { "" }
+ { birthyear format.years }
+ if$
+ }
+ { birthday format.dates }
+ if$
+}
+
+FUNCTION {format.address}
+{ address empty$
+ { "" }
+ { address.str address * }
+ if$
+}
+
+FUNCTION {format.account}
+{ account empty$
+ { "" }
+ { account.str account ttize * }
+ if$
+}
+
+FUNCTION {format.phone}
+{ phone empty$
+ { "" }
+ { phone.str phone * }
+ if$
+}
+
+FUNCTION {format.cellular}
+{ cellular empty$
+ { "" }
+ { cellular.str cellular * }
+ if$
+}
+
+FUNCTION {format.fax}
+{ fax empty$
+ { "" }
+ { fax.str fax * }
+ if$
+}
+
+FUNCTION {format.email}
+{ email empty$
+ { "" }
+ { email.str email email emailize * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { url.str url url urlize * }
+ if$
+}
+
+
+FUNCTION {format.p.flag}
+{ p.address empty$ not
+ p.phone empty$ not
+ p.cellular empty$ not
+ p.fax empty$ not
+ p.email empty$ not
+ p.url empty$ not
+ p.account empty$ not
+ or or or or or or
+ { private.str }
+ { "" }
+ if$
+}
+
+FUNCTION {format.p.address}
+{ p.address empty$
+ { "" }
+ { address.str p.address * }
+ if$
+}
+
+FUNCTION {format.p.phone}
+{ p.phone empty$
+ { "" }
+ { phone.str p.phone * }
+ if$
+}
+
+FUNCTION {format.p.cellular}
+{ p.cellular empty$
+ { "" }
+ { cellular.str p.cellular * }
+ if$
+}
+
+FUNCTION {format.p.fax}
+{ p.fax empty$
+ { "" }
+ { fax.str p.fax * }
+ if$
+}
+
+FUNCTION {format.p.email}
+{ p.email empty$
+ { "" }
+ { email.str p.email p.email emailize * }
+ if$
+}
+
+FUNCTION {format.p.url}
+{ p.url empty$
+ { "" }
+ { url.str p.url p.url urlize * }
+ if$
+}
+
+FUNCTION {format.p.account}
+{ p.account empty$
+ { "" }
+ { account.str p.account ttize * }
+ if$
+}
+
+FUNCTION {format.r.flag}
+{ r.address empty$ not
+ r.phone empty$ not
+ r.cellular empty$ not
+ r.fax empty$ not
+ r.email empty$ not
+ r.url empty$ not
+ r.account empty$ not
+ or or or or or or
+ { residence.str }
+ { "" }
+ if$
+}
+
+FUNCTION {format.r.address}
+{ r.address empty$
+ { "" }
+ { address.str r.address * }
+ if$
+}
+
+FUNCTION {format.r.phone}
+{ r.phone empty$
+ { "" }
+ { phone.str r.phone * }
+ if$
+}
+
+FUNCTION {format.r.cellular}
+{ r.cellular empty$
+ { "" }
+ { cellular.str r.cellular * }
+ if$
+}
+
+FUNCTION {format.r.fax}
+{ r.fax empty$
+ { "" }
+ { fax.str r.fax * }
+ if$
+}
+
+FUNCTION {format.r.email}
+{ r.email empty$
+ { "" }
+ { email.str r.email r.email emailize * }
+ if$
+}
+
+FUNCTION {format.r.url}
+{ r.url empty$
+ { "" }
+ { url.str r.url r.url urlize * }
+ if$
+}
+
+FUNCTION {format.r.account}
+{ r.account empty$
+ { "" }
+ { account.str r.account ttize * }
+ if$
+}
+
+FUNCTION {format.w.flag}
+{ w.title empty$ not
+ w.name empty$ not
+ w.address empty$ not
+ w.phone empty$ not
+ w.cellular empty$ not
+ w.fax empty$ not
+ w.email empty$ not
+ w.url empty$ not
+ w.account empty$ not
+ or or or or or or or or
+ { work.str }
+ { "" }
+ if$
+}
+
+FUNCTION {format.w.title}
+{ w.title empty$
+ { "" }
+ { title.str w.title * }
+ if$
+}
+
+FUNCTION {format.w.name}
+{ w.name empty$
+ { "" }
+ { name.str w.name * }
+ if$
+}
+
+FUNCTION {format.w.address}
+{ w.address empty$
+ { "" }
+ { address.str w.address * }
+ if$
+}
+
+FUNCTION {format.w.phone}
+{ w.phone empty$
+ { "" }
+ { phone.str w.phone * }
+ if$
+}
+
+FUNCTION {format.w.cellular}
+{ w.cellular empty$
+ { "" }
+ { cellular.str w.cellular * }
+ if$
+}
+
+FUNCTION {format.w.fax}
+{ w.fax empty$
+ { "" }
+ { fax.str w.fax * }
+ if$
+}
+
+FUNCTION {format.w.email}
+{ w.email empty$
+ { "" }
+ { email.str w.email w.email emailize * }
+ if$
+}
+
+FUNCTION {format.w.url}
+{ w.url empty$
+ { "" }
+ { url.str w.url w.url urlize * }
+ if$
+}
+
+FUNCTION {format.w.account}
+{ w.account empty$
+ { "" }
+ { account.str w.account ttize * }
+ if$
+}
+
+FUNCTION {format.note.flag}
+{ note empty$
+ { "" }
+ { note.str }
+ if$
+}
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { note }
+ if$
+}
+
+
+% ------------------------------------------------------------
+% P E R S O N E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { person }
+{
+ init.strings
+ newline$
+ "<p><dt><b>" write$
+ format.name write$
+ "</b></dt>" write$
+
+ format.nickname write$
+
+ ""
+ format.birthday.flag output
+ format.birthday output
+
+ format.p.flag output
+ format.p.address output
+ format.p.phone output
+ format.p.cellular output
+ format.p.fax output
+ format.p.email output
+ format.p.url output
+ format.p.account output
+
+ format.r.flag output
+ format.r.address output
+ format.r.phone output
+ format.r.cellular output
+ format.r.fax output
+ format.r.email output
+ format.r.url output
+ format.r.account output
+
+ format.w.flag output
+ format.w.title output
+ format.w.name output
+ format.w.address output
+ format.w.phone output
+ format.w.cellular output
+ format.w.fax output
+ format.w.email output
+ format.w.url output
+ format.w.account output
+
+ format.note.flag output
+ format.note output
+
+ write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% C O M P A N Y E N T R Y
+% ------------------------------------------------------------
+
+
+FUNCTION { company }
+{
+ init.strings
+ newline$
+ "<p><dt><b>" write$
+ name write$
+ "</b></dt><dd>" write$
+
+ ""
+ format.address output
+ format.phone output
+ format.cellular output
+ format.fax output
+ format.email output
+ format.url output
+ format.account output
+ format.note.flag output
+ format.note output
+
+ write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% P L A C E E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { place }
+{
+ init.strings
+ newline$
+ "<p><dt><b>" write$
+ name write$
+ "</b></dt><dd>" write$
+
+ ""
+ format.address output
+ format.phone output
+ format.cellular output
+ format.fax output
+ format.note.flag output
+ format.note output
+
+ write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% M A I N
+% ------------------------------------------------------------
+
+READ
+ITERATE {presort}
+SORT
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/directory/address.bst b/Master/texmf-dist/bibtex/bst/directory/address.bst
new file mode 100644
index 00000000000..8f692899926
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/directory/address.bst
@@ -0,0 +1,767 @@
+%% address.bst
+%% Copyright 1999-2000 Christophe Geuzaine
+%
+% Last Mod by Christophe on Sun Aug 27 21:07:56 2000
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+% BibTeX bibliography style `address.bst'
+% 'directory' database: all fields
+%
+% Christophe.Geuzaine@advalvas.be
+%
+% The parts you may want to customize are labeled with "CUSTOM"
+%
+
+INTEGERS { nameptr namesleft numnames numaux len }
+STRINGS { s t u v }
+
+% ------------------------------------------------------------
+% E N T R I E S
+% ------------------------------------------------------------
+
+ENTRY
+ { name
+ nickname
+ birthday
+ birthyear
+ address
+ phone
+ cellular
+ fax
+ email
+ url
+ account
+ p.address
+ p.phone
+ p.cellular
+ p.fax
+ p.email
+ p.url
+ p.account
+ r.address
+ r.phone
+ r.cellular
+ r.fax
+ r.email
+ r.url
+ r.account
+ w.title
+ w.name
+ w.address
+ w.phone
+ w.cellular
+ w.fax
+ w.email
+ w.url
+ w.account
+ note
+ }
+ {}
+ { label
+ letter
+ }
+
+% ------------------------------------------------------------
+% G E N E R A L
+% ------------------------------------------------------------
+
+FUNCTION {output}
+{ 's :=
+ s empty$
+ {}
+ { s write$
+ newline$
+ "\dirblock" write$
+ newline$
+ }
+ if$
+}
+
+FUNCTION {output.flag}
+{ 's :=
+ s empty$
+ {}
+ { s write$
+ newline$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% ------------------------------------------------------------
+% S O R T I N G F U N C T I O N S
+% ------------------------------------------------------------
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sort.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.raw.names}
+{ 't :=
+ "A " #2 "L'" #2
+ "An " #3 "Au " #3 "Le " #3 "La " #3
+ "The " #4 "Les " #4 "Aux " #4
+ t
+ chop.word chop.word
+ chop.word chop.word chop.word chop.word
+ chop.word chop.word chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {name.sort}
+{ name empty$
+ { " Name field missing in entry '" cite$ * "'" * warning$ "" }
+ { name sort.names }
+ if$
+}
+
+FUNCTION {raw.name.sort}
+{ name empty$
+ { " Name field missing in entry '" cite$ * "'" * warning$ "" }
+ { name sort.raw.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "company" =
+ type$ "place" =
+ or
+ { raw.name.sort }
+ { name.sort }
+ if$
+ " "
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {format.first.letter}
+{ type$ "company" =
+ type$ "place" =
+ or
+ { raw.name.sort }
+ { name.sort }
+ if$
+ #1 #1 substring$
+}
+
+% ------------------------------------------------------------
+% P R E - A N D P O S T - H E A D E R S
+% ------------------------------------------------------------
+
+FUNCTION {begin.bib}
+{ "\begin{theaddressbook}" write$
+ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{theaddressbook}" write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% F O R M A T S
+% ------------------------------------------------------------
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+% CUSTOM uncomment one of the following lines to have the behaviour on the right
+ s nameptr "{ff }{vv }{ll}{, jj}" format.name$ 't := % Christophe de Geuzaine, jr
+% s nameptr "{f. }{vv }{ll}{, jj}" format.name$ 't := % C. de Geuzaine, jr
+% s nameptr "{vv }{ll}{ f.}{, jj}" format.name$ 't := % de Geuzaine C., jr
+% s nameptr "{vv }{ll}{, ff}{, jj}" format.name$ 't := % de Geuzaine, Christophe, jr
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { " {\dirandf} " * t * }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.dates}
+{
+ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+
+ birthyear empty$
+ { #0 'numaux := }
+ { birthyear num.names$ 'numaux :=
+ numnames numaux =
+ { }
+ { " birthdays and birthyears don't match in entry '" cite$ * "'" * warning$ }
+ if$
+ }
+ if$
+
+% CUSTOM you shoudn't change this, but rather redefine the command \Dirbirthday.
+
+ { namesleft #0 > }
+ { s nameptr "{ff}" format.name$ 't :=
+ s nameptr "{ll}" format.name$ 'u :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", \dirbira{" * t * "}{" * u * "}" * }
+ { " {\dirandf} \dirbira{" * t * "}{" * u * "}" * }
+ if$
+ }
+ { "\dirbira{" t * "}{" * u * "}" * }
+ if$
+
+ numaux #0 > not
+ { }
+ { birthyear nameptr "{ll}" format.name$ 'v :=
+ "\dirbiya{" * v * "}" * }
+ if$
+
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ numaux #1 - 'numaux :=
+ }
+ while$
+}
+
+FUNCTION {format.years}
+{
+ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", \dirbyra{" * t * "}" * }
+ { " {\dirandf} \dirbyra{" * t * "}" * }
+ if$
+ }
+ { "\dirbyra{" t * "}" * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.name}
+{ name empty$
+ { "" }
+ { name format.names }
+ if$
+}
+
+FUNCTION {format.nickname}
+{ nickname empty$
+ { "" }
+ { newline$
+ "\dirnica{" nickname format.names "}" * * }
+ if$
+}
+
+FUNCTION {format.birthday.flag}
+{ birthyear empty$ not
+ birthday empty$ not
+ or
+ { "\dirbirf" }
+ { "" }
+ if$
+}
+
+FUNCTION {format.birthday}
+{ birthday empty$
+ {
+ birthyear empty$
+ { "" }
+ { birthyear format.years }
+ if$
+ }
+ { birthday format.dates }
+ if$
+}
+
+FUNCTION {format.address}
+{ address empty$
+ { "" }
+ { "\diradda{" address "}" * * }
+ if$
+}
+
+FUNCTION {format.account}
+{ account empty$
+ { "" }
+ { "\diracca{" account "}" * * }
+ if$
+}
+
+FUNCTION {format.phone}
+{ phone empty$
+ { "" }
+ { "\dirphoa{" phone "}" * * }
+ if$
+}
+
+FUNCTION {format.cellular}
+{ cellular empty$
+ { "" }
+ { "\dircela{" cellular "}" * * }
+ if$
+}
+
+FUNCTION {format.fax}
+{ fax empty$
+ { "" }
+ { "\dirfaxa{" fax "}" * * }
+ if$
+}
+
+FUNCTION {format.email}
+{ email empty$
+ { "" }
+ { "\diremaa{" email "}" * * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\dirurla{" url "}" * * }
+ if$
+}
+
+
+FUNCTION {format.p.flag}
+{ p.address empty$ not
+ p.phone empty$ not
+ p.cellular empty$ not
+ p.fax empty$ not
+ p.email empty$ not
+ p.url empty$ not
+ p.account empty$ not
+ or or or or or or
+ { "\dirprif" }
+ { "" }
+ if$
+}
+
+FUNCTION {format.p.address}
+{ p.address empty$
+ { "" }
+ { "\dirpadda{" p.address "}" * * }
+ if$
+}
+
+FUNCTION {format.p.phone}
+{ p.phone empty$
+ { "" }
+ { "\dirpphoa{" p.phone "}" * * }
+ if$
+}
+
+FUNCTION {format.p.cellular}
+{ p.cellular empty$
+ { "" }
+ { "\dirpcela{" p.cellular "}" * * }
+ if$
+}
+
+FUNCTION {format.p.fax}
+{ p.fax empty$
+ { "" }
+ { "\dirpfaxa{" p.fax "}" * * }
+ if$
+}
+
+FUNCTION {format.p.email}
+{ p.email empty$
+ { "" }
+ { "\dirpemaa{" p.email "}" * * }
+ if$
+}
+
+FUNCTION {format.p.url}
+{ p.url empty$
+ { "" }
+ { "\dirpurla{" p.url "}" * * }
+ if$
+}
+
+FUNCTION {format.p.account}
+{ p.account empty$
+ { "" }
+ { "\dirpacca{" p.account "}" * * }
+ if$
+}
+
+FUNCTION {format.r.flag}
+{ r.address empty$ not
+ r.phone empty$ not
+ r.cellular empty$ not
+ r.fax empty$ not
+ r.email empty$ not
+ r.url empty$ not
+ r.account empty$ not
+ or or or or or or
+ { "\dirresf" }
+ { "" }
+ if$
+}
+
+FUNCTION {format.r.address}
+{ r.address empty$
+ { "" }
+ { "\dirradda{" r.address "}" * * }
+ if$
+}
+
+FUNCTION {format.r.phone}
+{ r.phone empty$
+ { "" }
+ { "\dirrphoa{" r.phone "}" * * }
+ if$
+}
+
+FUNCTION {format.r.cellular}
+{ r.cellular empty$
+ { "" }
+ { "\dirrcela{" r.cellular "}" * * }
+ if$
+}
+
+FUNCTION {format.r.fax}
+{ r.fax empty$
+ { "" }
+ { "\dirrfaxa{" r.fax "}" * * }
+ if$
+}
+
+FUNCTION {format.r.email}
+{ r.email empty$
+ { "" }
+ { "\dirremaa{" r.email "}" * * }
+ if$
+}
+
+FUNCTION {format.r.url}
+{ r.url empty$
+ { "" }
+ { "\dirrurla{" r.url "}" * * }
+ if$
+}
+
+FUNCTION {format.r.account}
+{ r.account empty$
+ { "" }
+ { "\dirracca{" r.account "}" * * }
+ if$
+}
+
+FUNCTION {format.w.flag}
+{ w.title empty$ not
+ w.name empty$ not
+ w.address empty$ not
+ w.phone empty$ not
+ w.cellular empty$ not
+ w.fax empty$ not
+ w.email empty$ not
+ w.url empty$ not
+ w.account empty$ not
+ or or or or or or or or
+ { "\dirworf" }
+ { "" }
+ if$
+}
+
+FUNCTION {format.w.title}
+{ w.title empty$
+ { "" }
+ { "\dirtita{" w.title "}" * * }
+ if$
+}
+
+FUNCTION {format.w.name}
+{ w.name empty$
+ { "" }
+ { "\dirnama{" w.name "}" * * }
+ if$
+}
+
+FUNCTION {format.w.address}
+{ w.address empty$
+ { "" }
+ { "\dirwadda{" w.address "}" * * }
+ if$
+}
+
+FUNCTION {format.w.phone}
+{ w.phone empty$
+ { "" }
+ { "\dirwphoa{" w.phone "}" * * }
+ if$
+}
+
+FUNCTION {format.w.cellular}
+{ w.cellular empty$
+ { "" }
+ { "\dirwcela{" w.cellular "}" * * }
+ if$
+}
+
+FUNCTION {format.w.fax}
+{ w.fax empty$
+ { "" }
+ { "\dirwfaxa{" w.fax "}" * * }
+ if$
+}
+
+FUNCTION {format.w.email}
+{ w.email empty$
+ { "" }
+ { "\dirwemaa{" w.email "}" * * }
+ if$
+}
+
+FUNCTION {format.w.url}
+{ w.url empty$
+ { "" }
+ { "\dirwurla{" w.url "}" * * }
+ if$
+}
+
+FUNCTION {format.w.account}
+{ w.account empty$
+ { "" }
+ { "\dirwacca{" w.account "}" * * }
+ if$
+}
+
+FUNCTION {format.note.flag}
+{ note empty$
+ { "" }
+ { "\dirnotf" }
+ if$
+}
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { "\dirnota{" note "}" * * }
+ if$
+}
+
+
+% ------------------------------------------------------------
+% P E R S O N E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { person }
+{
+ newline$
+
+ "\dircheck{" write$
+ format.first.letter write$
+ "}" write$
+ newline$
+
+ "\diritem[" write$
+ format.name write$
+ "]{" write$
+ "d." cite$ * write$
+ "}\dirgroup" write$
+ format.nickname write$
+ newline$
+ "\dirblock" write$
+ newline$
+
+ format.birthday.flag output.flag
+ format.birthday output
+
+ format.p.flag output.flag
+ format.p.address output
+ format.p.phone output
+ format.p.cellular output
+ format.p.fax output
+ format.p.email output
+ format.p.url output
+ format.p.account output
+
+ format.r.flag output.flag
+ format.r.address output
+ format.r.phone output
+ format.r.cellular output
+ format.r.fax output
+ format.r.email output
+ format.r.url output
+ format.r.account output
+
+ format.w.flag output.flag
+ format.w.title output
+ format.w.name output
+ format.w.address output
+ format.w.phone output
+ format.w.cellular output
+ format.w.fax output
+ format.w.email output
+ format.w.url output
+ format.w.account output
+
+ format.note.flag output.flag
+ format.note output
+
+ "\direndgroup" write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% C O M P A N Y E N T R Y
+% ------------------------------------------------------------
+
+
+FUNCTION { company }
+{
+ newline$
+
+ "\dircheck{" write$
+ format.first.letter write$
+ "}" write$
+ newline$
+
+ "\diritem[" write$
+ name write$
+ "]{" write$
+ "d." cite$ * write$
+ "}\dirgroup" write$
+ newline$
+ "\dirblock" write$
+ newline$
+
+ format.address output
+ format.phone output
+ format.cellular output
+ format.fax output
+ format.email output
+ format.url output
+ format.account output
+ format.note.flag output.flag
+ format.note output
+
+ "\direndgroup" write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% P L A C E E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { place }
+{
+ newline$
+
+ "\dircheck{" write$
+ format.first.letter write$
+ "}" write$
+ newline$
+
+ "\diritem[" write$
+ name write$
+ "]{" write$
+ "d." cite$ * write$
+ "}\dirgroup" write$
+ newline$
+ "\dirblock" write$
+ newline$
+
+ format.address output
+ format.phone output
+ format.cellular output
+ format.fax output
+ format.note.flag output.flag
+ format.note output
+
+ "\direndgroup" write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% M A I N
+% ------------------------------------------------------------
+
+READ
+ITERATE {presort}
+SORT
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/directory/email-html.bst b/Master/texmf-dist/bibtex/bst/directory/email-html.bst
new file mode 100644
index 00000000000..ef151557491
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/directory/email-html.bst
@@ -0,0 +1,361 @@
+%% email-html.bst
+%% Copyright 1999-2000 Christophe Geuzaine
+%
+% Last Mod by Christophe on Sun Aug 27 21:23:27 2000
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+% BibTeX bibliography style `addr-htm.bst'
+% 'directory' database: all fields
+%
+% Christophe.Geuzaine@advalvas.be
+%
+% This is definitively a hack...
+%
+% The parts you may want to customize are labeled with "CUSTOM"
+%
+
+INTEGERS { nameptr namesleft numnames numaux len }
+STRINGS { s t u v }
+
+% ------------------------------------------------------------
+% E N T R I E S
+% ------------------------------------------------------------
+
+ENTRY
+ { name
+ email
+ p.email
+ r.email
+ w.email
+ }
+ {}
+ { private.str
+ residence.str
+ work.str
+ and.str
+ }
+
+
+% ------------------------------------------------------------
+% G E N E R A L
+% ------------------------------------------------------------
+
+FUNCTION {init.strings}
+{
+% CUSOTM this is the 'html' equivalent for the \dirXXX customization
+% commands
+
+ "&nbsp;<em>priv.</em>" 'private.str :=
+ "&nbsp;<em>temp.</em>" 'residence.str :=
+ "&nbsp;<em>prof.</em>" 'work.str :=
+ " and " 'and.str :=
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ write$
+ newline$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {emailize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "<A HREF=" quote$ * "mailto:" * swap$ * quote$ * " >" * swap$ * "</A>" * }
+ if$
+}
+
+% ------------------------------------------------------------
+% S O R T I N G F U N C T I O N S
+% ------------------------------------------------------------
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sort.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.raw.names}
+{ 't :=
+ "A " #2 "L'" #2
+ "An " #3 "Au " #3 "Le " #3 "La " #3
+ "The " #4 "Les " #4 "Aux " #4
+ t
+ chop.word chop.word
+ chop.word chop.word chop.word chop.word
+ chop.word chop.word chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {name.sort}
+{ name empty$
+ { " Name field missing in entry '" cite$ * "'" * warning$ "" }
+ { name sort.names }
+ if$
+}
+
+FUNCTION {raw.name.sort}
+{ name empty$
+ { " Name field missing in entry '" cite$ * "'" * warning$ "" }
+ { name sort.raw.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "company" =
+ type$ "place" =
+ or
+ { raw.name.sort }
+ { name.sort }
+ if$
+ " "
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+% ------------------------------------------------------------
+% P R E - A N D P O S T - H E A D E R S
+% ------------------------------------------------------------
+
+FUNCTION {begin.bib}
+{ "<HTML><!-- This is a file generated by the LaTeX directory package -->" write$
+ newline$
+ "<TITLE>E-mail directory (generated by the LaTeX directory package)</TITLE>" write$
+ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$
+ "<p><hr><center><font size=-1>This e-mail directory was generated by <A HREF= " write$
+ quote$ "http://www.geuz.org/directory/" * quote$ * write$
+ " >directory</A>, version 1.15</center></HTML>" write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% F O R M A T S
+% ------------------------------------------------------------
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+% CUSTOM uncomment one of the following lines to have the behaviour on the right
+% s nameptr "{ff{ } }{vv{ } }{ll{ }}{, jj{ }}" format.name$ 't := % Christophe de Geuzaine, jr
+% s nameptr "{f.{ } }{vv{ } }{ll{ }}{, jj{ }}" format.name$ 't := % C. de Geuzaine, jr
+% s nameptr "{vv{ } }{ll{ }}{ f.{ }}{, jj{ }}" format.name$ 't := % de Geuzaine C., jr
+ s nameptr "{vv{ } }{ll{ }}{, ff{ }}{, jj{ }}" format.name$ 't := % de Geuzaine, Christophe, jr
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { and.str * t * }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.name}
+{ name empty$
+ { "" }
+ { name format.names }
+ if$
+}
+
+FUNCTION {format.email}
+{ email empty$
+ { "" }
+ { email email emailize }
+ if$
+}
+
+FUNCTION {format.p.flag}
+{ p.email empty$ not
+ { private.str }
+ { "" }
+ if$
+}
+
+FUNCTION {format.p.email}
+{ p.email empty$
+ { "" }
+ { p.email p.email emailize }
+ if$
+}
+
+FUNCTION {format.r.flag}
+{ r.email empty$ not
+ { residence.str }
+ { "" }
+ if$
+}
+
+FUNCTION {format.r.email}
+{ r.email empty$
+ { "" }
+ { r.email r.email emailize }
+ if$
+}
+
+FUNCTION {format.w.flag}
+{ w.email empty$ not
+ { work.str }
+ { "" }
+ if$
+}
+
+FUNCTION {format.w.email}
+{ w.email empty$
+ { "" }
+ { w.email w.email emailize }
+ if$
+}
+
+
+% ------------------------------------------------------------
+% P E R S O N E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { person }
+{
+ p.email empty$ not
+ r.email empty$ not
+ w.email empty$ not
+ or or
+ { init.strings
+
+ newline$
+ "<br><b>" write$
+ format.name write$
+ "</b>" write$
+
+ ""
+ format.p.flag output
+ format.p.email output
+ format.r.flag output
+ format.r.email output
+ format.w.flag output
+ format.w.email output
+
+ write$
+ newline$
+ }
+ { }
+ if$
+}
+
+% ------------------------------------------------------------
+% C O M P A N Y E N T R Y
+% ------------------------------------------------------------
+
+
+FUNCTION { company }
+{
+ email empty$ not
+ { init.strings
+
+ newline$
+ "<br><b>" write$
+ name write$
+ "</b>" write$
+
+ ""
+ format.email output
+
+ write$
+ newline$
+ }
+ { }
+ if$
+
+}
+
+% ------------------------------------------------------------
+% P L A C E E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { place }
+{
+}
+
+% ------------------------------------------------------------
+% M A I N
+% ------------------------------------------------------------
+
+READ
+ITERATE {presort}
+SORT
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/directory/letter.bst b/Master/texmf-dist/bibtex/bst/directory/letter.bst
new file mode 100644
index 00000000000..a86270c01dd
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/directory/letter.bst
@@ -0,0 +1,272 @@
+%% letter.bst
+%% Copyright 1999-2000 Christophe Geuzaine
+%
+% Last Mod by Christophe on Sun Aug 27 21:24:23 2000
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+% BibTeX bibliography style `letter.bst'
+% 'directory' database: all fields
+%
+% Christophe.Geuzaine@advalvas.be
+%
+% The parts you may want to customize are labeled with "CUSTOM"
+%
+
+INTEGERS { nameptr namesleft numnames numaux len }
+STRINGS { s t u v }
+
+% ------------------------------------------------------------
+% E N T R I E S
+% ------------------------------------------------------------
+
+ENTRY
+ { name
+ address
+ p.address
+ r.address
+ w.title
+ w.name
+ w.address
+ }
+ {}
+ {}
+
+
+% ------------------------------------------------------------
+% F O R M A T S
+% ------------------------------------------------------------
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+% CUSTOM uncomment one of the following lines to have the behaviour on the right
+ s nameptr "{ff }{vv }{ll}{, jj}" format.name$ 't := % Christophe de Geuzaine, jr
+% s nameptr "{f. }{vv }{ll}{, jj}" format.name$ 't := % C. de Geuzaine, jr
+% s nameptr "{vv }{ll}{ f.}{, jj}" format.name$ 't := % de Geuzaine C., jr
+% s nameptr "{vv }{ll}{, ff}{, jj}" format.name$ 't := % de Geuzaine, Christophe, jr
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { " {\dirandf} " * t * }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.name}
+{ name empty$
+ { "" }
+ { name format.names }
+ if$
+}
+
+FUNCTION {format.address}
+{ address empty$
+ { "" }
+ { " \dirnext " address * }
+ if$
+}
+
+FUNCTION {format.p.address}
+{ p.address empty$
+ { "" }
+ { " \dirnext " p.address * }
+ if$
+}
+
+FUNCTION {format.r.address}
+{ r.address empty$
+ { "" }
+ { " \dirnext " r.address * }
+ if$
+}
+
+FUNCTION {format.w.title}
+{ w.title empty$
+ { "" }
+ { " \dirnext " w.title * }
+ if$
+}
+
+FUNCTION {format.w.name}
+{ w.name empty$
+ { "" }
+ { " \dirnext " w.name * }
+ if$
+}
+
+FUNCTION {format.w.address}
+{ w.address empty$
+ { "" }
+ { " \dirnext " w.address * }
+ if$
+}
+
+% ------------------------------------------------------------
+% P E R S O N E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { person }
+{
+ "\diritem{" write$
+ format.name write$
+ "}{" write$
+ "d." cite$ * write$
+ "}" write$
+
+ newline$
+
+ "\diritem{" write$
+ "\dirbegin " write$
+ format.name write$
+ format.p.address write$
+ "\dirend " write$
+ "}{" write$
+ "p." cite$ * write$
+ "}" write$
+
+ newline$
+
+ "\diritem{" write$
+ "\dirbegin " write$
+ format.name write$
+ format.r.address write$
+ "\dirend " write$
+ "}{" write$
+ "r." cite$ * write$
+ "}" write$
+
+ newline$
+
+ "\diritem{" write$
+ "\dirbegin " write$
+ format.name write$
+ format.w.title write$
+ format.w.name write$
+ format.w.address write$
+ "\dirend " write$
+ "}{" write$
+ "w." cite$ * write$
+ "}" write$
+
+ newline$
+}
+
+% ------------------------------------------------------------
+% C O M P A N Y E N T R Y
+% ------------------------------------------------------------
+
+
+FUNCTION { company }
+{
+ "\diritem{" write$
+ name write$
+ "}{" write$
+ "d." cite$ * write$
+ "}" write$
+
+ newline$
+
+ "\diritem{" write$
+ "\dirbegin " write$
+ name write$
+ format.address write$
+ "\dirend " write$
+ "}{" write$
+ "p." cite$ * write$
+ "}" write$
+
+ newline$
+
+ "\diritem{" write$
+ "\dirbegin " write$
+ name write$
+ format.address write$
+ "\dirend " write$
+ "}{" write$
+ "r." cite$ * write$
+ "}" write$
+
+ newline$
+
+ "\diritem{" write$
+ "\dirbegin " write$
+ name write$
+ format.address write$
+ "\dirend " write$
+ "}{" write$
+ "w." cite$ * write$
+ "}" write$
+
+ newline$
+}
+
+% ------------------------------------------------------------
+% P L A C E E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { place }
+{
+ "\diritem{" write$
+ name write$
+ "}{" write$
+ "d." cite$ * write$
+ "}" write$
+
+ newline$
+
+ "\diritem{" write$
+ "\dirbegin " write$
+ name write$
+ format.address write$
+ "\dirend " write$
+ "}{" write$
+ "p." cite$ * write$
+ "}" write$
+
+ newline$
+
+ "\diritem{" write$
+ "\dirbegin " write$
+ name write$
+ format.address write$
+ "\dirend " write$
+ "}{" write$
+ "r." cite$ * write$
+ "}" write$
+
+ newline$
+
+ "\diritem{" write$
+ "\dirbegin " write$
+ name write$
+ format.address write$
+ "\dirend " write$
+ "}{" write$
+ "w." cite$ * write$
+ "}" write$
+
+ newline$
+}
+
+% ------------------------------------------------------------
+% M A I N
+% ------------------------------------------------------------
+
+READ
+ITERATE {call.type$}
+
diff --git a/Master/texmf-dist/bibtex/bst/directory/phone.bst b/Master/texmf-dist/bibtex/bst/directory/phone.bst
new file mode 100644
index 00000000000..acd92094b15
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/directory/phone.bst
@@ -0,0 +1,487 @@
+%% phone.bst
+%% Copyright 1999-2000 Christophe Geuzaine
+%
+% Last Mod by Christophe on Sun Aug 27 21:14:08 2000
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+% BibTeX bibliography style `phone.bst'
+% 'directory' database: only phone and fax fields
+%
+% Christophe.Geuzaine@advalvas.be
+%
+% The parts you may want to customize are labeled with "CUSTOM"
+%
+
+INTEGERS { nameptr namesleft numnames numaux len }
+STRINGS { s t u v }
+
+% ------------------------------------------------------------
+% E N T R I E S
+% ------------------------------------------------------------
+
+ENTRY
+ { name
+ phone
+ cellular
+ fax
+ p.phone
+ p.cellular
+ p.fax
+ r.phone
+ r.cellular
+ r.fax
+ w.phone
+ w.cellular
+ w.fax
+ }
+ {}
+ {}
+
+% ------------------------------------------------------------
+% G E N E R A L
+% ------------------------------------------------------------
+
+FUNCTION {output}
+{ 's :=
+ s empty$
+ {}
+ { s write$
+ newline$
+ "\dirblock" write$
+ newline$
+ }
+ if$
+}
+
+FUNCTION {output.flag}
+{ 's :=
+ s empty$
+ {}
+ { s write$
+ newline$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+% ------------------------------------------------------------
+% S O R T I N G F U N C T I O N S
+% ------------------------------------------------------------
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sort.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.raw.names}
+{ 't :=
+ "A " #2 "L'" #2
+ "An " #3 "Au " #3 "Le " #3 "La " #3
+ "The " #4 "Les " #4 "Aux " #4
+ t
+ chop.word chop.word
+ chop.word chop.word chop.word chop.word
+ chop.word chop.word chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {name.sort}
+{ name empty$
+ { " Name field missing in entry '" cite$ * "'" * warning$ "" }
+ { name sort.names }
+ if$
+}
+
+FUNCTION {raw.name.sort}
+{ name empty$
+ { " Name field missing in entry '" cite$ * "'" * warning$ "" }
+ { name sort.raw.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "company" =
+ type$ "place" =
+ or
+ { raw.name.sort }
+ { name.sort }
+ if$
+ " "
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {format.first.letter}
+{ type$ "company" =
+ type$ "place" =
+ or
+ { raw.name.sort }
+ { name.sort }
+ if$
+ #1 #1 substring$
+}
+
+
+% ------------------------------------------------------------
+% P R E - A N D P O S T - H E A D E R S
+% ------------------------------------------------------------
+
+FUNCTION {begin.bib}
+{ "\begin{thephonebook}" write$
+ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thephonebook}" write$
+ newline$
+}
+
+% ------------------------------------------------------------
+% F O R M A T S
+% ------------------------------------------------------------
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+% CUSTOM uncomment one of the following lines to have the behaviour on the right
+% s nameptr "{ff }{vv }{ll}{, jj}" format.name$ 't := % Christophe de Geuzaine, jr
+% s nameptr "{f. }{vv }{ll}{, jj}" format.name$ 't := % C. de Geuzaine, jr
+ s nameptr "{vv }{ll}{ f.}{, jj}" format.name$ 't := % de Geuzaine C., jr
+% s nameptr "{vv }{ll}{, ff}{, jj}" format.name$ 't := % de Geuzaine, Christophe, jr
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { " {\dirandf} " * t * }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.name}
+{ name empty$
+ { "" }
+ { name format.names }
+ if$
+}
+
+FUNCTION {format.phone}
+{ phone empty$
+ { "" }
+ { "\dirphoa{" phone "}" * * }
+ if$
+}
+
+FUNCTION {format.cellular}
+{ cellular empty$
+ { "" }
+ { "\dircela{" cellular "}" * * }
+ if$
+}
+
+FUNCTION {format.fax}
+{ fax empty$
+ { "" }
+ { "\dirfaxa{" fax "}" * * }
+ if$
+}
+
+FUNCTION {format.p.flag}
+{ p.phone empty$ not
+ p.cellular empty$ not
+ p.fax empty$ not
+ or or
+ { "\dirprif " }
+ { "" }
+ if$
+}
+
+FUNCTION {format.p.phone}
+{ p.phone empty$
+ { "" }
+ { "\dirpphoa{" p.phone "}" * * }
+ if$
+}
+
+FUNCTION {format.p.cellular}
+{ p.cellular empty$
+ { "" }
+ { "\dirpcela{" p.cellular "}" * * }
+ if$
+}
+
+FUNCTION {format.p.fax}
+{ p.fax empty$
+ { "" }
+ { "\dirpfaxa{" p.fax "}" * * }
+ if$
+}
+
+FUNCTION {format.r.flag}
+{ r.phone empty$ not
+ r.cellular empty$ not
+ r.fax empty$ not
+ or or
+ { "\dirresf " }
+ { "" }
+ if$
+}
+
+FUNCTION {format.r.phone}
+{ r.phone empty$
+ { "" }
+ { "\dirrphoa{" r.phone "}" * * }
+ if$
+}
+
+FUNCTION {format.r.cellular}
+{ r.cellular empty$
+ { "" }
+ { "\dirrcela{" r.cellular "}" * * }
+ if$
+}
+
+FUNCTION {format.r.fax}
+{ r.fax empty$
+ { "" }
+ { "\dirrfaxa{" r.fax "}" * * }
+ if$
+}
+
+FUNCTION {format.w.flag}
+{ w.phone empty$ not
+ w.cellular empty$ not
+ w.fax empty$ not
+ or or
+ { "\dirworf " }
+ { "" }
+ if$
+}
+
+FUNCTION {format.w.phone}
+{ w.phone empty$
+ { "" }
+ { "\dirwphoa{" w.phone "}" * * }
+ if$
+}
+
+FUNCTION {format.w.cellular}
+{ w.cellular empty$
+ { "" }
+ { "\dirwcela{" w.cellular "}" * * }
+ if$
+}
+
+FUNCTION {format.w.fax}
+{ w.fax empty$
+ { "" }
+ { "\dirwfaxa{" w.fax "}" * * }
+ if$
+}
+
+% ------------------------------------------------------------
+% P E R S O N E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { person }
+{
+ p.phone empty$ not
+ p.cellular empty$ not
+ p.fax empty$ not
+ r.phone empty$ not
+ r.cellular empty$ not
+ r.fax empty$ not
+ w.phone empty$ not
+ w.cellular empty$ not
+ w.fax empty$ not
+ or or or or or or or or
+ { newline$
+
+ "\dircheck{" write$
+ format.first.letter write$
+ "}" write$
+ newline$
+
+ "\diritem[" write$
+ format.name write$
+ "]{" write$
+ "d." cite$ * write$
+ "}\dirgroup" write$
+ newline$
+ "\dirblock" write$
+ newline$
+
+ format.p.flag output.flag
+ format.p.phone output
+ format.p.cellular output
+ format.p.fax output
+
+ format.r.flag output.flag
+ format.r.phone output
+ format.r.cellular output
+ format.r.fax output
+
+ format.w.flag output.flag
+ format.w.phone output
+ format.w.cellular output
+ format.w.fax output
+
+ "\direndgroup" write$
+ newline$
+ }
+ { }
+ if$
+}
+
+% ------------------------------------------------------------
+% C O M P A N Y E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { company }
+{
+ phone empty$ not
+ cellular empty$ not
+ fax empty$ not
+ or or
+ { newline$
+
+ "\dircheck{" write$
+ format.first.letter write$
+ "}" write$
+ newline$
+
+ "\diritem[" write$
+ name write$
+ "]{" write$
+ "d." cite$ * write$
+ "}\dirgroup" write$
+ newline$
+ "\dirblock" write$
+ newline$
+
+ format.phone output
+ format.cellular output
+ format.fax output
+
+ "\direndgroup" write$
+ newline$
+ }
+ { }
+ if$
+}
+
+% ------------------------------------------------------------
+% P L A C E E N T R Y
+% ------------------------------------------------------------
+
+FUNCTION { place }
+{
+ phone empty$ not
+ cellular empty$ not
+ fax empty$ not
+ or or
+ { newline$
+
+ "\dircheck{" write$
+ format.first.letter write$
+ "}" write$
+ newline$
+
+ "\diritem[" write$
+ name write$
+ "]{" write$
+ "d." cite$ * write$
+ "}\dirgroup" write$
+ newline$
+ "\dirblock" write$
+ newline$
+
+ format.phone output
+ format.cellular output
+ format.fax output
+
+ "\direndgroup" write$
+ newline$
+ }
+ { }
+ if$
+}
+
+
+% ------------------------------------------------------------
+% M A I N
+% ------------------------------------------------------------
+
+READ
+ITERATE {presort}
+SORT
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/dk-bib/dk-abbrv.bst b/Master/texmf-dist/bibtex/bst/dk-bib/dk-abbrv.bst
new file mode 100644
index 00000000000..166f7dd5ce9
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/dk-bib/dk-abbrv.bst
@@ -0,0 +1,1301 @@
+% BibTeX standard bibliography style `abbrv'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+% "Translated" into Norwegian by dag@ifi.uio.no, July 1997.
+% Now called `norabbrv'.
+% Added field "isbn" and "issn". dag@ifi.uio.no, April 2001.
+% Translated into Danish by arne.jorgensen@tug.dk, June 2001.
+% Now called `dk-abbrv'.
+% This is dk-bib, Version 0.5 ($Id: dk-abbrv.bst 82 2005-10-02 16:26:11Z arne $)
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ printing
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ url
+ annote
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.annote}
+{ annote empty$
+ 'skip$
+ { "\dkbibannote{" cite$ * "}{" * annote add.period$ * "}" *
+ write$ newline$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ output.annote
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {output.isbn.issn}
+{ isbn empty$
+ 'skip$
+ { new.block "\dkbibisbn{" isbn * "}" * output }
+ if$
+ issn empty$
+ 'skip$
+ { new.block "\dkbibissn{" issn * "}" * output }
+ if$
+}
+
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block "\dkbiburl{" url * "}" * output }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv }{ll}{~jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " og " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redakt\o rer" * }
+ { ", redakt\o r" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { "\dkbibdash" *
+ t #2 global.max$ substring$ 't :=
+ { t #1 #1 substring$ "-" = }
+ { t #2 global.max$ substring$ 't := }
+ while$
+ t #1 #1 substring$ " " =
+ { "{}" * }
+ { " " * }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "bind" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " af " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "nr." }
+ { "Nr." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " i " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {ordinal.translate.i}
+{ duplicate$ "l" change.case$ "first" =
+ {pop$ "1"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "second" =
+ {pop$ "2"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "third" =
+ {pop$ "3"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourth" =
+ {pop$ "4"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifth" =
+ {pop$ "5"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.ii}
+{ duplicate$ "l" change.case$ "sixth" =
+ {pop$ "6"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventh" =
+ {pop$ "7"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighth" =
+ {pop$ "8"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "ninth" =
+ {pop$ "9"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "tenth" =
+ {pop$ "10"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iii}
+{ duplicate$ "l" change.case$ "eleventh" =
+ {pop$ "11"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twelfth" =
+ {pop$ "12"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "thirteenth" =
+ {pop$ "13"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourteenth" =
+ {pop$ "14"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifteenth" =
+ {pop$ "15"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iv}
+{ duplicate$ "l" change.case$ "sixteenth" =
+ {pop$ "16"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventeenth" =
+ {pop$ "17"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighteenth" =
+ {pop$ "18"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "nineteenth" =
+ {pop$ "19"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twentieth" =
+ {pop$ "20"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate}
+{ ordinal.translate.i
+ ordinal.translate.ii
+ ordinal.translate.iii
+ ordinal.translate.iv
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ printing empty$
+ +
+ #2
+ =
+ { "" }
+ { output.state mid.sentence =
+ { "\dkbibedition{" }
+ { "\dkbibEdition{" }
+ if$
+ edition empty$
+ { "" }
+ { edition ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { output.state mid.sentence =
+ { skip$ }
+ { "u" change.case$
+ "t" change.case$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ * "}{" *
+ printing empty$
+ { "" }
+ { printing ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { skip$ }
+ if$
+ }
+ if$
+ * "}" *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "side" pages n.dashify tie.or.space.connect }
+ { "side" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "kapitel" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "I " booktitle emphasize * }
+ { "I " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$ isbn empty$ issn empty$
+ and and and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Rapport" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "I \emph{" journal * "}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv }{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff~}{vv }{ll}{~jj}" format.name$ "others" =
+ { " et~al." * }
+ { " og " * editor #2 "{vv }{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Bind" volume tie.or.space.connect
+ " af " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\emph{" * series * "}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "I \emph{" booktitle * "}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ }
+ { "I " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Specialeafhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.d.-afhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"jan."}
+
+MACRO {feb} {"feb."}
+
+MACRO {mar} {"mar."}
+
+MACRO {apr} {"apr."}
+
+MACRO {may} {"maj"}
+
+MACRO {jun} {"jun."}
+
+MACRO {jul} {"jul."}
+
+MACRO {aug} {"aug."}
+
+MACRO {sep} {"sep."}
+
+MACRO {oct} {"okt."}
+
+MACRO {nov} {"nov."}
+
+MACRO {dec} {"dec."}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ f{ }}{ vv{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ "\makeatletter" write$ newline$
+ "\@tfor\dkbib@reserved@a:=0123456789\do{%" write$ newline$
+ " \expandafter\sfcode\expandafter`\dkbib@reserved@a=1007}" write$ newline$
+ "\providecommand{\dkbib@addperiod}{\ifnum\spacefactor=1007.\fi}" write$ newline$
+ "\providecommand{\dkbibedition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibEdition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibisbn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibissn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbiburl}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibannote}[2]{\unskip}" write$ newline$
+ "\providecommand{\dkbibdash}{\hbox{-}\penalty\@m}" write$ newline$
+ "\makeatother" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/dk-bib/dk-alpha.bst b/Master/texmf-dist/bibtex/bst/dk-bib/dk-alpha.bst
new file mode 100644
index 00000000000..eae749cd23d
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/dk-bib/dk-alpha.bst
@@ -0,0 +1,1455 @@
+% BibTeX standard bibliography style `alpha'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+% "Translated" into Norwegian by dag@ifi.uio.no, January 1997.
+% Now called `noralpha'.
+% Added field "isbn" and "issn". dag@ifi.uio.no, April 2001.
+% Translated into Danish by arne.jorgensen@tug.dk, June 2001.
+% Now called `dk-alpha'.
+% This is dk-bib, Version 0.5 ($Id: dk-alpha.bst 82 2005-10-02 16:26:11Z arne $)
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ printing
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ url
+ annote
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.annote}
+{ annote empty$
+ 'skip$
+ { "\dkbibannote{" cite$ * "}{" * annote add.period$ * "}" *
+ write$ newline$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ output.annote
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {output.isbn.issn}
+{ isbn empty$
+ 'skip$
+ { new.block "\dkbibisbn{" isbn * "}" * output }
+ if$
+ issn empty$
+ 'skip$
+ { new.block "\dkbibissn{" issn * "}" * output }
+ if$
+}
+
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block "\dkbiburl{" url * "}" * output }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv }{ll}{~jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " og " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redakt\o rer" * }
+ { ", redakt\o r" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { "\dkbibdash" *
+ t #2 global.max$ substring$ 't :=
+ { t #1 #1 substring$ "-" = }
+ { t #2 global.max$ substring$ 't := }
+ while$
+ t #1 #1 substring$ " " =
+ { "{}" * }
+ { " " * }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "bind" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " af " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "nr." }
+ { "Nr." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " i " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {ordinal.translate.i}
+{ duplicate$ "l" change.case$ "first" =
+ {pop$ "1"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "second" =
+ {pop$ "2"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "third" =
+ {pop$ "3"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourth" =
+ {pop$ "4"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifth" =
+ {pop$ "5"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.ii}
+{ duplicate$ "l" change.case$ "sixth" =
+ {pop$ "6"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventh" =
+ {pop$ "7"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighth" =
+ {pop$ "8"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "ninth" =
+ {pop$ "9"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "tenth" =
+ {pop$ "10"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iii}
+{ duplicate$ "l" change.case$ "eleventh" =
+ {pop$ "11"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twelfth" =
+ {pop$ "12"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "thirteenth" =
+ {pop$ "13"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourteenth" =
+ {pop$ "14"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifteenth" =
+ {pop$ "15"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iv}
+{ duplicate$ "l" change.case$ "sixteenth" =
+ {pop$ "16"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventeenth" =
+ {pop$ "17"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighteenth" =
+ {pop$ "18"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "nineteenth" =
+ {pop$ "19"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twentieth" =
+ {pop$ "20"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate}
+{ ordinal.translate.i
+ ordinal.translate.ii
+ ordinal.translate.iii
+ ordinal.translate.iv
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ printing empty$
+ +
+ #2
+ =
+ { "" }
+ { output.state mid.sentence =
+ { "\dkbibedition{" }
+ { "\dkbibEdition{" }
+ if$
+ edition empty$
+ { "" }
+ { edition ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { output.state mid.sentence =
+ { skip$ }
+ { "u" change.case$
+ "t" change.case$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ * "}{" *
+ printing empty$
+ { "" }
+ { printing ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { skip$ }
+ if$
+ }
+ if$
+ * "}" *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "side" pages n.dashify tie.or.space.connect }
+ { "side" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "kapitel" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "I " booktitle emphasize * }
+ { "I " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$ isbn empty$ issn empty$
+ and and and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Rapport" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "I \emph{" journal * "}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv }{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff~}{vv }{ll}{~jj}" format.name$ "others" =
+ { " et~al." * }
+ { " og " * editor #2 "{vv }{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "I "
+ }
+ { "Bind" volume tie.or.space.connect
+ " af " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\emph{" * series * "}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "I \emph{" booktitle * "}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ }
+ { "I " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Specialeafhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.d.-afhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"januar"}
+
+MACRO {feb} {"februar"}
+
+MACRO {mar} {"marts"}
+
+MACRO {apr} {"april"}
+
+MACRO {may} {"maj"}
+
+MACRO {jun} {"juni"}
+
+MACRO {jul} {"juli"}
+
+MACRO {aug} {"august"}
+
+MACRO {sep} {"september"}
+
+MACRO {oct} {"oktober"}
+
+MACRO {nov} {"november"}
+
+MACRO {dec} {"december"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { organization #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ "\makeatletter" write$ newline$
+ "\@tfor\dkbib@reserved@a:=0123456789\do{%" write$ newline$
+ " \expandafter\sfcode\expandafter`\dkbib@reserved@a=1007}" write$ newline$
+ "\providecommand{\dkbib@addperiod}{\ifnum\spacefactor=1007.\fi}" write$ newline$
+ "\providecommand{\dkbibedition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibEdition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibisbn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibissn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbiburl}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibannote}[2]{\unskip}" write$ newline$
+ "\providecommand{\dkbibdash}{\hbox{-}\penalty\@m}" write$ newline$
+ "\makeatother" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/dk-bib/dk-apali.bst b/Master/texmf-dist/bibtex/bst/dk-bib/dk-apali.bst
new file mode 100644
index 00000000000..840bf3134a0
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/dk-bib/dk-apali.bst
@@ -0,0 +1,1295 @@
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 20-jan-2005 (arne) Translated into Danish by arne.jorgensen@tug.dk.
+% Now called `dk-apali'.
+% This is dk-bib, Version 0.5 ($Id: dk-apali.bst 82 2005-10-02 16:26:11Z arne $)
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ printing
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ url
+ annote
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.annote}
+{ annote empty$
+ 'skip$
+ { "\dkbibannote{" cite$ * "}{" * annote add.period$ * "}" *
+ write$ newline$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ output.annote
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {output.isbn.issn}
+{ isbn empty$
+ 'skip$
+ { new.block "\dkbibisbn{" isbn * "}" * output }
+ if$
+ issn empty$
+ 'skip$
+ { new.block "\dkbibissn{" issn * "}" * output }
+ if$
+}
+
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block "\dkbiburl{" url * "}" * output }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " og " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redakt\o rer" * }
+ { ", redakt\o r" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { "\dkbibdash" *
+ t #2 global.max$ substring$ 't :=
+ { t #1 #1 substring$ "-" = }
+ { t #2 global.max$ substring$ 't := }
+ while$
+ t #1 #1 substring$ " " =
+ { "{}" * }
+ { " " * }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "bind" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " af " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "nr." }
+ { "Nr." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " i " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {ordinal.translate.i}
+{ duplicate$ "l" change.case$ "first" =
+ {pop$ "1"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "second" =
+ {pop$ "2"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "third" =
+ {pop$ "3"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourth" =
+ {pop$ "4"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifth" =
+ {pop$ "5"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.ii}
+{ duplicate$ "l" change.case$ "sixth" =
+ {pop$ "6"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventh" =
+ {pop$ "7"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighth" =
+ {pop$ "8"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "ninth" =
+ {pop$ "9"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "tenth" =
+ {pop$ "10"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iii}
+{ duplicate$ "l" change.case$ "eleventh" =
+ {pop$ "11"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twelfth" =
+ {pop$ "12"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "thirteenth" =
+ {pop$ "13"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourteenth" =
+ {pop$ "14"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifteenth" =
+ {pop$ "15"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iv}
+{ duplicate$ "l" change.case$ "sixteenth" =
+ {pop$ "16"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventeenth" =
+ {pop$ "17"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighteenth" =
+ {pop$ "18"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "nineteenth" =
+ {pop$ "19"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twentieth" =
+ {pop$ "20"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate}
+{ ordinal.translate.i
+ ordinal.translate.ii
+ ordinal.translate.iii
+ ordinal.translate.iv
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ printing empty$
+ +
+ #2
+ =
+ { "" }
+ { output.state mid.sentence =
+ { "\dkbibedition{" }
+ { "\dkbibEdition{" }
+ if$
+ edition empty$
+ { "" }
+ { edition ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { output.state mid.sentence =
+ { skip$ }
+ { "u" change.case$
+ "t" change.case$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ * "}{" *
+ printing empty$
+ { "" }
+ { printing ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { skip$ }
+ if$
+ }
+ if$
+ * "}" *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "side" pages n.dashify tie.or.space.connect }
+ { "side" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "kapitel" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "I " booktitle emphasize * }
+ { "I " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Rapport" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "I" % this is for apalike
+ "~\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "I "
+ }
+ { "Bind" volume tie.or.space.connect
+ " af " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "I" % this is for apalike
+ "~\cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Specialeafhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.d.-afhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"januar"}
+
+MACRO {feb} {"februar"}
+
+MACRO {mar} {"marts"}
+
+MACRO {apr} {"april"}
+
+MACRO {may} {"maj"}
+
+MACRO {jun} {"juni"}
+
+MACRO {jul} {"juli"}
+
+MACRO {aug} {"august"}
+
+MACRO {sep} {"september"}
+
+MACRO {oct} {"oktober"}
+
+MACRO {nov} {"november"}
+
+MACRO {dec} {"december"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " og " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+ "\makeatletter" write$ newline$
+ "\@tfor\dkbib@reserved@a:=0123456789\do{%" write$ newline$
+ " \expandafter\sfcode\expandafter`\dkbib@reserved@a=1007}" write$ newline$
+ "\providecommand{\dkbib@addperiod}{\ifnum\spacefactor=1007.\fi}" write$ newline$
+ "\providecommand{\dkbibedition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibEdition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibisbn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibissn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbiburl}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibannote}[2]{\unskip}" write$ newline$
+ "\providecommand{\dkbibdash}{\hbox{-}\penalty\@m}" write$ newline$
+ "\makeatother" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/dk-bib/dk-plain.bst b/Master/texmf-dist/bibtex/bst/dk-bib/dk-plain.bst
new file mode 100644
index 00000000000..9998bf38103
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/dk-bib/dk-plain.bst
@@ -0,0 +1,1301 @@
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+% "Translated" into Norwegian by dag@ifi.uio.no, July 1997.
+% Now called `norplain'.
+% Added field "isbn" and "issn". dag@ifi.uio.no, April 2001.
+% Translated into Danish by arne.jorgensen@tug.dk, June 2001.
+% Now called `dk-plain'.
+% This is dk-bib, Version 0.5 ($Id: dk-plain.bst 82 2005-10-02 16:26:11Z arne $)
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ printing
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ url
+ annote
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.annote}
+{ annote empty$
+ 'skip$
+ { "\dkbibannote{" cite$ * "}{" * annote add.period$ * "}" *
+ write$ newline$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ output.annote
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {output.isbn.issn}
+{ isbn empty$
+ 'skip$
+ { new.block "\dkbibisbn{" isbn * "}" * output }
+ if$
+ issn empty$
+ 'skip$
+ { new.block "\dkbibissn{" issn * "}" * output }
+ if$
+}
+
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block "\dkbiburl{" url * "}" * output }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv }{ll}{~jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " og " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redakt\o rer" * }
+ { ", redakt\o r" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { "\dkbibdash" *
+ t #2 global.max$ substring$ 't :=
+ { t #1 #1 substring$ "-" = }
+ { t #2 global.max$ substring$ 't := }
+ while$
+ t #1 #1 substring$ " " =
+ { "{}" * }
+ { " " * }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "bind" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " af " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "nr." }
+ { "Nr." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " i " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {ordinal.translate.i}
+{ duplicate$ "l" change.case$ "first" =
+ {pop$ "1"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "second" =
+ {pop$ "2"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "third" =
+ {pop$ "3"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourth" =
+ {pop$ "4"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifth" =
+ {pop$ "5"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.ii}
+{ duplicate$ "l" change.case$ "sixth" =
+ {pop$ "6"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventh" =
+ {pop$ "7"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighth" =
+ {pop$ "8"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "ninth" =
+ {pop$ "9"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "tenth" =
+ {pop$ "10"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iii}
+{ duplicate$ "l" change.case$ "eleventh" =
+ {pop$ "11"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twelfth" =
+ {pop$ "12"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "thirteenth" =
+ {pop$ "13"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourteenth" =
+ {pop$ "14"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifteenth" =
+ {pop$ "15"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iv}
+{ duplicate$ "l" change.case$ "sixteenth" =
+ {pop$ "16"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventeenth" =
+ {pop$ "17"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighteenth" =
+ {pop$ "18"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "nineteenth" =
+ {pop$ "19"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twentieth" =
+ {pop$ "20"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate}
+{ ordinal.translate.i
+ ordinal.translate.ii
+ ordinal.translate.iii
+ ordinal.translate.iv
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ printing empty$
+ +
+ #2
+ =
+ { "" }
+ { output.state mid.sentence =
+ { "\dkbibedition{" }
+ { "\dkbibEdition{" }
+ if$
+ edition empty$
+ { "" }
+ { edition ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { output.state mid.sentence =
+ { skip$ }
+ { "u" change.case$
+ "t" change.case$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ * "}{" *
+ printing empty$
+ { "" }
+ { printing ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { skip$ }
+ if$
+ }
+ if$
+ * "}" *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "side" pages n.dashify tie.or.space.connect }
+ { "side" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "kapitel" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "I " booktitle emphasize * }
+ { "I " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$ isbn empty$ issn empty$
+ and and and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Rapport" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "I \emph{" journal * "}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv }{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff~}{vv }{ll}{~jj}" format.name$ "others" =
+ { " et~al." * }
+ { " og " * editor #2 "{vv }{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "I "
+ }
+ { "Bind" volume tie.or.space.connect
+ " af " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\emph{" * series * "}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "I \emph{" booktitle * "}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ }
+ { "I " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Specialeafhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.d.-afhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"januar"}
+
+MACRO {feb} {"februar"}
+
+MACRO {mar} {"marts"}
+
+MACRO {apr} {"april"}
+
+MACRO {may} {"maj"}
+
+MACRO {jun} {"juni"}
+
+MACRO {jul} {"juli"}
+
+MACRO {aug} {"august"}
+
+MACRO {sep} {"september"}
+
+MACRO {oct} {"oktober"}
+
+MACRO {nov} {"november"}
+
+MACRO {dec} {"december"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ "\makeatletter" write$ newline$
+ "\@tfor\dkbib@reserved@a:=0123456789\do{%" write$ newline$
+ " \expandafter\sfcode\expandafter`\dkbib@reserved@a=1007}" write$ newline$
+ "\providecommand{\dkbib@addperiod}{\ifnum\spacefactor=1007.\fi}" write$ newline$
+ "\providecommand{\dkbibedition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibEdition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibisbn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibissn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbiburl}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibannote}[2]{\unskip}" write$ newline$
+ "\providecommand{\dkbibdash}{\hbox{-}\penalty\@m}" write$ newline$
+ "\makeatother" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/dk-bib/dk-unsrt.bst b/Master/texmf-dist/bibtex/bst/dk-bib/dk-unsrt.bst
new file mode 100644
index 00000000000..b3c7cd5f138
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/dk-bib/dk-unsrt.bst
@@ -0,0 +1,1155 @@
+% BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+% "Translated" into Norwegian by dag@ifi.uio.no, July 1997.
+% Now called `norunsrt'.
+% Added field "isbn" and "issn". dag@ifi.uio.no, April 2001.
+% Translated into Danish by arne.jorgensen@tug.dk, June 2001.
+% Now called `dk-unsrt'.
+% This is dk-bib, Version 0.5 ($Id: dk-unsrt.bst 82 2005-10-02 16:26:11Z arne $)
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ printing
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ url
+ annote
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.annote}
+{ annote empty$
+ 'skip$
+ { "\dkbibannote{" cite$ * "}{" * annote add.period$ * "}" *
+ write$ newline$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+ output.annote
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {output.isbn.issn}
+{ isbn empty$
+ 'skip$
+ { new.block "\dkbibisbn{" isbn * "}" * output }
+ if$
+ issn empty$
+ 'skip$
+ { new.block "\dkbibissn{" issn * "}" * output }
+ if$
+}
+
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block "\dkbiburl{" url * "}" * output }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv }{ll}{~jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " og " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redakt\o rer" * }
+ { ", redakt\o r" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { "\dkbibdash" *
+ t #2 global.max$ substring$ 't :=
+ { t #1 #1 substring$ "-" = }
+ { t #2 global.max$ substring$ 't := }
+ while$
+ t #1 #1 substring$ " " =
+ { "{}" * }
+ { " " * }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "bind" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " af " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "nr." }
+ { "Nr." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " i " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {ordinal.translate.i}
+{ duplicate$ "l" change.case$ "first" =
+ {pop$ "1"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "second" =
+ {pop$ "2"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "third" =
+ {pop$ "3"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourth" =
+ {pop$ "4"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifth" =
+ {pop$ "5"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.ii}
+{ duplicate$ "l" change.case$ "sixth" =
+ {pop$ "6"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventh" =
+ {pop$ "7"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighth" =
+ {pop$ "8"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "ninth" =
+ {pop$ "9"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "tenth" =
+ {pop$ "10"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iii}
+{ duplicate$ "l" change.case$ "eleventh" =
+ {pop$ "11"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twelfth" =
+ {pop$ "12"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "thirteenth" =
+ {pop$ "13"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fourteenth" =
+ {pop$ "14"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "fifteenth" =
+ {pop$ "15"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate.iv}
+{ duplicate$ "l" change.case$ "sixteenth" =
+ {pop$ "16"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "seventeenth" =
+ {pop$ "17"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "eighteenth" =
+ {pop$ "18"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "nineteenth" =
+ {pop$ "19"}
+ {skip$}
+ if$
+ duplicate$ "l" change.case$ "twentieth" =
+ {pop$ "20"}
+ {skip$}
+ if$
+}
+
+FUNCTION {ordinal.translate}
+{ ordinal.translate.i
+ ordinal.translate.ii
+ ordinal.translate.iii
+ ordinal.translate.iv
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ printing empty$
+ +
+ #2
+ =
+ { "" }
+ { output.state mid.sentence =
+ { "\dkbibedition{" }
+ { "\dkbibEdition{" }
+ if$
+ edition empty$
+ { "" }
+ { edition ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { output.state mid.sentence =
+ { skip$ }
+ { "u" change.case$
+ "t" change.case$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ * "}{" *
+ printing empty$
+ { "" }
+ { printing ordinal.translate
+ duplicate$ "l" change.case$
+ duplicate$ "u" change.case$
+ =
+ { purify$ }
+ { skip$ }
+ if$
+ }
+ if$
+ * "}" *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "side" pages n.dashify tie.or.space.connect }
+ { "side" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "kapitel" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "I " booktitle emphasize * }
+ { "I " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$ isbn empty$ issn empty$
+ and and and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Rapport" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "I \emph{" journal * "}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv }{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff~}{vv }{ll}{~jj}" format.name$ "others" =
+ { " et~al." * }
+ { " og " * editor #2 "{vv }{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "I "
+ }
+ { "Bind" volume tie.or.space.connect
+ " af " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\emph{" * series * "}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "I \emph{" booktitle * "}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ }
+ { "I " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Specialeafhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.d.-afhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ output.isbn.issn
+ output.url
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"januar"}
+
+MACRO {feb} {"februar"}
+
+MACRO {mar} {"marts"}
+
+MACRO {apr} {"april"}
+
+MACRO {may} {"maj"}
+
+MACRO {jun} {"juni"}
+
+MACRO {jul} {"juli"}
+
+MACRO {aug} {"august"}
+
+MACRO {sep} {"september"}
+
+MACRO {oct} {"oktober"}
+
+MACRO {nov} {"november"}
+
+MACRO {dec} {"december"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ "\makeatletter" write$ newline$
+ "\@tfor\dkbib@reserved@a:=0123456789\do{%" write$ newline$
+ " \expandafter\sfcode\expandafter`\dkbib@reserved@a=1007}" write$ newline$
+ "\providecommand{\dkbib@addperiod}{\ifnum\spacefactor=1007.\fi}" write$ newline$
+ "\providecommand{\dkbibedition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibEdition}[2]{#1\dkbib@addperiod~udgave}" write$ newline$
+ "\providecommand{\dkbibisbn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibissn}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbiburl}[1]{\unskip\@gobble}" write$ newline$
+ "\providecommand{\dkbibannote}[2]{\unskip}" write$ newline$
+ "\providecommand{\dkbibdash}{\hbox{-}\penalty\@m}" write$ newline$
+ "\makeatother" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/dtk/dtk.bst b/Master/texmf-dist/bibtex/bst/dtk/dtk.bst
new file mode 100644
index 00000000000..ad7dcdf4acc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/dtk/dtk.bst
@@ -0,0 +1,1342 @@
+%%
+%% This is file `dtk.bst', generated
+%% on <1995/11/5> with the docstrip utility (2.2i).
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,exlang,vonx,nmlm,x3,m2,tit-it,atit-u,volp-com,edpar,edby-par,edbyx,blk-com,au-col,german,pp,ed,abr,ord,and-xcom,{}')
+%% german.mbs (with options: `exlang,vonx,nmlm,x3,m2,tit-it,atit-u,volp-com,edpar,edby-par,edbyx,blk-com,au-col,german,pp,ed,abr,ord,and-xcom,{}')
+%% dtk.mbs (with options: `exlang,vonx,nmlm,x3,m2,tit-it,atit-u,volp-com,edpar,edby-par,edbyx,blk-com,au-col,german,pp,ed,abr,ord,and-xcom,{}')
+%% merlin.mbs (with options: `tail,exlang,vonx,nmlm,x3,m2,tit-it,atit-u,volp-com,edpar,edby-par,edbyx,blk-com,au-col,german,pp,ed,abr,ord,and-xcom,{}')
+%% ----------------------------------------
+%% *** This BibTeX style is made for use in
+%% *** `Die TeXnische Komoedie' --- the
+%% *** communications of Dante e.V.
+%%
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{merlin.mbs}[1995/11/01 3.5 (PWD)]
+ %
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ % Copyright (C) 1994, 1995 Patrick W. Daly
+ %-------------------------------------------------------------------
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in
+ % GERMAN
+ % This is a numerical citation style, and as such is standard LaTeX.
+ % It requires no extra package to interface to the main text.
+ % The form of the \bibitem entries is
+ % \bibitem{key}...
+ % Usage of \cite is as follows:
+ % \cite{key} ==>> [#]
+ % \cite[chap. 2]{key} ==>> [#, chap. 2]
+ % where # is a number determined by the ordering in the reference list.
+ % This is alphabetical by authors.
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { "; " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {add.colon}
+{ empty$
+ 'skip$
+ { before.all 'output.state := ":" output add.blank }
+ if$
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{german.mbs}[1995/10/25 1.4 (PWD)]
+ % Copyright (C) 1994, 1995 Patrick W. Daly
+ %-------------------------------------------------------------------
+
+ % The language selected here is GERMAN
+FUNCTION {bbl.and}
+{ "und"}
+
+FUNCTION {bbl.editors}
+{ "Hg." }
+
+FUNCTION {bbl.editor}
+{ "Hg." }
+
+FUNCTION {bbl.edby}
+{ "herausgegeben von" }
+
+FUNCTION {bbl.edition}
+{ "Aufl." }
+
+FUNCTION {bbl.volume}
+{ "Bd." }
+
+FUNCTION {bbl.of}
+{ "von" }
+
+FUNCTION {bbl.number}
+{ "Nr." }
+
+FUNCTION {bbl.nr}
+{ "Nr." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "S." }
+
+FUNCTION {bbl.page}
+{ "S." }
+
+FUNCTION {bbl.chapter}
+{ "Kap." }
+
+FUNCTION {bbl.techrep}
+{ "{Techn.\ Ber.}" }
+
+FUNCTION {bbl.mthesis}
+{ "Diplomarbeit" }
+
+FUNCTION {bbl.phdthesis}
+{ "Dissertation" }
+
+FUNCTION {bbl.first}
+{ "1." }
+
+FUNCTION {bbl.second}
+{ "2." }
+
+FUNCTION {bbl.third}
+{ "3." }
+
+FUNCTION {bbl.fourth}
+{ "4." }
+
+FUNCTION {bbl.fifth}
+{ "5." }
+
+FUNCTION {bbl.th}
+{ "." }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Febr."}
+
+MACRO {mar} {"M\^^b{a}rz"}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"Mai"}
+
+MACRO {jun} {"Juni"}
+
+MACRO {jul} {"Juli"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Okt."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dez."}
+
+ % End of language definition file
+
+
+MACRO{DTK}{"Die \TeX\-nische Ko\-m\^^b{o}\-die"}
+MACRO{TUGboat}{"TUGboat"}
+MACRO{TTN}{"\TeX{} and TUG News"}
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #3 =
+ numnames #3 > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " et~al." * }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff~}{vv~}{ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " et~al." * }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ {
+ author format.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ {
+ editor format.names
+ editor num.names$ #1 >
+ { " (" * bbl.editors * ")" * }
+ { " (" * bbl.editor * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ emphasize
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s bbl.th * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize *
+ " (" *
+ editor num.names$ #1 >
+ { bbl.editors }
+ { bbl.editor }
+ if$
+ capitalize
+ * " " *
+ format.in.editors *
+ ")" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { word.in journal emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { word.in booktitle emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author add.colon
+ format.title "title" output.check
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor add.colon
+ }
+ { format.authors output.nonnull
+ author add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author add.colon
+ format.title "title" output.check
+ howpublished output
+ address output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor add.colon
+ }
+ { format.authors output.nonnull
+ author add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author add.colon
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author add.colon
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ author add.colon
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author add.colon
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author add.colon
+ format.title output
+ howpublished output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author add.colon
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ editor add.colon
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author add.colon
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author add.colon
+ format.title "title" output.check
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ ff{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #3 =
+ numnames #3 > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ " " *
+ namesleft #1 = t "others" = and
+ { "aaaaa" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
diff --git a/Master/texmf-dist/bibtex/bst/elsevier/elsart-harv.bst b/Master/texmf-dist/bibtex/bst/elsevier/elsart-harv.bst
new file mode 100644
index 00000000000..1e67cabe0dd
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/elsevier/elsart-harv.bst
@@ -0,0 +1,1528 @@
+%%
+%% This is file `elsart-harv.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `,ay,nat,nm-rev,ed-rev,dt-beg,yr-com,aymth,yrp-per,note-yr,jttl-rm,thtit-a,vnum-sp,volp-com,pp-last,jnm-x,btit-rm,bt-rm,pre-edn,url,url-nl,edpar,blk-tit,in-col,pp,ed,abr,ednx,ord,jabr,xand,em-x,nfss')
+%% After docstrip generation some manual changes were made (SP)
+%% ----------------------------------------
+%% *** Author-date reference style for elsart ***
+%% $Id: elsart-harv.bst 1.3 2000/05/08 10:17:51 spepping Exp spepping $
+%%
+%% Copyright 1994-1999 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[1999/03/18 3.88 (PWD)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ new.sentence
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ skip$ }
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "Eds." }
+
+FUNCTION {bbl.editor}
+{ "Ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "Edition" }
+
+FUNCTION {bbl.volume}
+{ "Vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "Ch." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+FUNCTION {write.url}
+{ url empty$
+ { skip$ }
+ { "\newline\urlprefix\url{" url * "}" * write$ newline$ }
+ if$
+}
+
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{, jj}{, f.}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.names.ed}
+{ format.names }
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (" * bbl.editors * ")" * }
+ { " (" * bbl.editor * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ editor num.names$ #1 >
+ { " (" * bbl.editors * ")" * }
+ { " (" * bbl.editor * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ ":" *
+ " " * }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+ month empty$
+ 'skip$
+ { month
+ " " * swap$ *
+ }
+ if$
+ extra.label *
+ before.all 'output.state :=
+ ", " swap$ *
+}
+
+FUNCTION {format.btitle}
+{ title
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ {
+ ", " *
+ pages n.dashify *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ "~(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ { "" }
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle * }
+ { word.in format.in.editors * ", " *
+ booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume capitalize
+ volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$
+ ""
+ }
+ { publisher }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { organization }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.sentence
+ crossref missing$
+ { journal
+ "journal" output.check
+ add.blank
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.journal.pages
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.edition output
+ new.sentence
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ new.sentence
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.sentence
+ howpublished output
+ address output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.edition output
+ new.sentence
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ format.chapter.pages "chapter and pages" output.check
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ new.sentence
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.pages "pages" output.check
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.sentence
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ new.sentence
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.sentence
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ new.sentence
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+% format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+% format.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ new.sentence
+ organization output
+ address output
+ format.edition output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.sentence
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ new.sentence
+ howpublished output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.sentence
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ new.sentence
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.sentence
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ format.note "note" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname url\endcsname\relax"
+ write$ newline$
+ " \def\url#1{\texttt{#1}}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `elsart-harv.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/elsevier/elsart-num.bst b/Master/texmf-dist/bibtex/bst/elsevier/elsart-num.bst
new file mode 100644
index 00000000000..ee274ef0a84
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/elsevier/elsart-num.bst
@@ -0,0 +1,1262 @@
+%%
+%% This is file `elsart-num.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `,seq-no,nm-init,ed-au,dt-end,yr-par,yrp-x,jttl-rm,thtit-a,vnum-sp,volp-blk,jdt-p,pp-last,jnm-x,btit-rm,bt-rm,pub-date,pub-xpar,pre-edn,url,url-nl,edpar,blk-com,in-col,pp,ed,abr,ednx,ord,jabr,and-xcom,xand,em-x,nfss')
+%% After docstrip generation some manual changes were made (SP)
+%% ----------------------------------------
+%% *** Numerical reference style for elsart ***
+%% $Id: elsart-num.bst 1.4 2000/05/08 10:17:09 spepping Exp spepping $
+%%
+%% Copyright 1994-1999 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[1999/03/18 3.88 (PWD)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is a numerical citation style, and as such is standard LaTeX.
+ % It requires no extra package to interface to the main text.
+ % The form of the \bibitem entries is
+ % \bibitem{key}...
+ % Usage of \cite is as follows:
+ % \cite{key} ==>> [#]
+ % \cite[chap. 2]{key} ==>> [#, chap. 2]
+ % where # is a number determined by the ordering in the reference list.
+ % The order in the reference list is that by which the works were originally
+ % cited in the text, or that in the database.
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ add.blank
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ skip$ }
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "Eds." }
+
+FUNCTION {bbl.editor}
+{ "Ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "Edition" }
+
+FUNCTION {bbl.volume}
+{ "Vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "Ch." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+FUNCTION {write.url}
+{ url empty$
+ { skip$ }
+ { "\newline\urlprefix\url{" url * "}" * write$ newline$ }
+ if$
+}
+
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.names.ed}
+{ format.names }
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (" * bbl.editors * ")" * }
+ { " (" * bbl.editor * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ editor num.names$ #1 >
+ { " (" * bbl.editors * ")" * }
+ { " (" * bbl.editor * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ ":" *
+ " " * }
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+ duplicate$ empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+ }
+ if$
+}
+
+FUNCTION{format.year}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * warning$ pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ {
+ " " *
+ format.year * " " *
+ pages n.dashify *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ "~(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ { "" }
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle * }
+ { word.in format.in.editors * ", " *
+ booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { word.in journal emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { word.in booktitle * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ 'skip$
+ if$
+ address empty$ t empty$ and
+ year empty$ and
+ 'skip$
+ {
+ t empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ year empty$
+ 'skip$
+ { t empty$ address empty$ and
+ 'skip$
+ { ", " * }
+ if$
+ year *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$
+ ""
+ }
+ { publisher }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { organization }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { journal
+ "journal" output.check
+ add.blank
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.journal.pages
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.edition output
+ format.bvolume output
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished output
+ address output
+ format.note output
+ format.date output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ format.publisher.address output
+ format.chapter.pages "chapter and pages" output.check
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.pages "pages" output.check
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ format.publisher.address output
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+% format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+% format.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.note output
+ format.date output
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished output
+ format.note output
+ format.date output
+ fin.entry
+ write.url
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ editor empty$
+ { publisher empty$
+ 'skip$
+ {
+ format.publisher.address output
+ }
+ if$
+ }
+ { publisher empty$
+ {
+ format.organization.address output }
+ {
+ organization output
+ format.publisher.address output
+ }
+ if$
+ }
+ if$
+ format.note output
+% format.date "year" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.note "note" output.check
+ format.date output
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname url\endcsname\relax"
+ write$ newline$
+ " \def\url#1{\texttt{#1}}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `elsart-num.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/figbib/figbib.bst b/Master/texmf-dist/bibtex/bst/figbib/figbib.bst
new file mode 100644
index 00000000000..d693f9e9a13
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/figbib/figbib.bst
@@ -0,0 +1,56 @@
+
+ENTRY
+ { main
+ add
+ file
+ source
+ caption
+ }
+ {}
+ {}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'write$
+ if$
+}
+
+FUNCTION {fig}
+{ newline$
+ "\figbibitem{" write$
+ cite$ write$
+ "}{" write$
+ main write$
+ "}{" write$
+ add output
+ "}{" write$
+ file write$
+ "}{" write$
+ source output
+ "}{" write$
+ caption output
+ "}" write$
+ newline$
+}
+
+
+FUNCTION {begin.thefigdblist}
+{ "\begin{thefigbiblist}" write$
+ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+FUNCTION {end.thefigdblist}
+{ newline$
+ "\end{thefigbiblist}" write$
+ newline$
+}
+
+READ
+EXECUTE {begin.thefigdblist}
+ITERATE {call.type$}
+EXECUTE {end.thefigdblist}
diff --git a/Master/texmf-dist/bibtex/bst/figbib/figbib1.bst b/Master/texmf-dist/bibtex/bst/figbib/figbib1.bst
new file mode 100644
index 00000000000..d2025614090
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/figbib/figbib1.bst
@@ -0,0 +1,56 @@
+
+ENTRY
+ { main1
+ add1
+ file
+ source1
+ caption1
+ }
+ {}
+ {}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'write$
+ if$
+}
+
+FUNCTION {fig}
+{ newline$
+ "\figbibitem{" write$
+ cite$ write$
+ "}{" write$
+ main1 write$
+ "}{" write$
+ add1 output
+ "}{" write$
+ file write$
+ "}{" write$
+ source1 output
+ "}{" write$
+ caption1 output
+ "}" write$
+ newline$
+}
+
+
+FUNCTION {begin.thefigdblist}
+{ "\begin{thefigbiblist}" write$
+ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+FUNCTION {end.thefigdblist}
+{ newline$
+ "\end{thefigbiblist}" write$
+ newline$
+}
+
+READ
+EXECUTE {begin.thefigdblist}
+ITERATE {call.type$}
+EXECUTE {end.thefigdblist}
diff --git a/Master/texmf-dist/bibtex/bst/finbib/finplain.bst b/Master/texmf-dist/bibtex/bst/finbib/finplain.bst
new file mode 100644
index 00000000000..645a06ba18e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/finbib/finplain.bst
@@ -0,0 +1,1213 @@
+% BibTeX bibliography style 'finplain' release 0.1.0
+% Based on the BibTeX 0.99a standard bibliography style 'plain'
+% $Id: finplain.bst,v 1.3 1998/06/25 14:14:34 antkaij Exp $
+
+% This is the BibTeX 0.99a standard bibliography style 'plain' translated
+% into Finnish. Translation made by Antti-Juhani Kaijanaho <gaia@iki.fi>
+% on June 3, 1998 and June 25, 1998. This file requires LaTeX2e.
+
+% =========================================================================
+% *************************************************************************
+% VAROITUS! Tama suomennos on julkisesti saatavilla lahinna testausta *
+% ja kokeiluja varten. *
+% *
+% WARNING! This translation is made available to the public for *
+% testing and experimentation purposes. It can be used for production *
+% work, but do expect to find some rough edges and bugs. There is *
+% NO WARRANTY. *
+% *
+% There is one known problem: *
+% * There is a comma before "ja" that should not be there in *
+% author and editor lists. *
+% *
+% Bug reports and patches are welcome at <gaia@iki.fi>. Please, indicate *
+% in the subject field of your message that it concerns 'finplain.bst'. *
+% *************************************************************************
+% =========================================================================
+
+
+% The changes from plain to finplain.bst are
+ % Copyright (C) 1998 Antti-Juhani Kaijanaho.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % finplain.bst, btxbst.doc, plain.bst, unsrt.bst, alpha.bst,
+ % and abbrv.bst.
+
+% This is the copyright message of the original file:
+% 8<----
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% 8<----
+
+% All changes have been clearly marked.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * } % chaged by <gaia@iki.fi> 19980625
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " ja " * t * } % changed by <gaia@iki.fi> 19980603
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", toim." * } % changed by <gaia@iki.fi> 19980603
+ { ", toim." * } % changed by <gaia@iki.fi> 19980603
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "{\ }" } % changed by <gaia@iki.fi> 19980603
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+% the following function was rewritten by <gaia@iki.fi> 19980603
+FUNCTION {format.bvolume}
+{
+ volume empty$
+ { % We have no volume
+ series empty$
+ { % We have neither a volume nor a series
+ ""
+ }
+ { % We have a series but no volume
+ "sarjassa " series emphasize *
+ }
+ if$
+ }
+ { % We have a volume
+ series empty$
+ { % We have no series, just volume
+ "osa" volume tie.or.space.connect
+ }
+ { % We have both a series and a volume
+ "sarjan " series emphasize *
+ " osa" volume tie.or.space.connect *
+ }
+ if$
+ % We cannot have both a volume and a number
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+% the following function was rewritten by <gaia@iki.fi> 19980603
+FUNCTION {format.number.series}
+{
+ volume empty$
+ {
+ number empty$
+ { series field.or.null }
+ {
+ series number tie.or.space.connect
+ }
+ if$
+ }
+ {
+ ""
+ }
+ if$
+}
+
+% The following three functions adapted from a custom-bib style file by
+% <gaia@iki.fi> 19980603
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {format.edition}
+{
+ edition empty$
+ { "" }
+ {
+ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { "ensimm\^^b{a}inen" 't := }
+ { s "second" = s "2" = or
+ { "toinen" 't := }
+ { s "third" = s "3" = or
+ { "kolmas" 't := }
+ { s "fourth" = s "4" = or
+ { "nelj\^^b{a}s" 't := }
+ { s "fifth" = s "5" = or
+ { "viides" 't := }
+ { s #1 #1 substring$ is.num
+ { s "." * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+
+ output.state mid.sentence =
+ { "l" change.case$ " laitos" * }
+ { "t" change.case$ " laitos" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ % the following two lines were changed by <gaia@iki.fi> 19980603
+ { "ss." pages n.dashify tie.or.space.connect }
+ { "s." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ % the following two lines were changed by <gaia@iki.fi> 19980603
+ { "Kirjassa " booktitle emphasize * }
+ { "Kirjassa " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tekninen raportti" } % changed by <gaia@iki.fi> 19980603
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "Lehdess \emph{" journal * "}" * } % changed by <gaia@iki.fi> 19980603
+ if$
+ }
+ { "Ks." key tie.or.space.connect } % changed by <gaia@iki.fi> 19980603
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ % the following line was changed by <gaia@iki.fi> 19980603
+ { " ja " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "Kirjassa" % changed by <gaia@iki.fi> 19980603
+ }
+ { "Osa" volume tie.or.space.connect % changed by <gaia@iki.fi> 19980603
+ " kirjasta " * % changed by <gaia@iki.fi> 19980603
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\emph{" * series * "}" * } % changed by <gaia@iki.fi> 19980603
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "Kirjassa \emph{" booktitle * "}" * } % changed by <gaia@iki.fi> 19980603
+ if$
+ }
+ { "Ks." key tie.or.space.connect } % changed by <gaia@iki.fi> 19980603
+ if$
+ }
+ { "Ks.\ " format.crossref.editor * } % changed by <gaia@iki.fi> 19980603
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Pro~gradu" format.thesis.type output.nonnull
+ school "schools" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "V\^^b{a}it\^^b{o}skirja" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+% The month names were translated by <gaia@iki.fi> 19980603
+
+MACRO {jan} {"tammikuu"}
+
+MACRO {feb} {"helmikuu"}
+
+MACRO {mar} {"maaliskuu"}
+
+MACRO {apr} {"huhtikuu"}
+
+MACRO {may} {"toukokuu"}
+
+MACRO {jun} {"kes\^^b{a}kuu"}
+
+MACRO {jul} {"hein\^^b{a}kuu"}
+
+MACRO {aug} {"elokuu"}
+
+MACRO {sep} {"syyskuu"}
+
+MACRO {oct} {"lokakuu"}
+
+MACRO {nov} {"marraskuu"}
+
+MACRO {dec} {"joulukuu"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis-losa.bst b/Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis-losa.bst
new file mode 100644
index 00000000000..022548eec9c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis-losa.bst
@@ -0,0 +1,264 @@
+% gatech-thesis-losa.bst: This style is used by the gatech-thesis-losa.sty
+% style to provide support for a 'List of Symbols or Abbreviations'
+% within the context of gatech-thesis.cls. The advantages of
+% creating a separate .bst file are that the formatting of the
+% losa glossary can be different from that of other "real" glossaries
+% which are also based on the gloss.sty package.
+%
+% This file was adapted from the file `glsplain.bst' taken from the
+% gloss package.
+%
+% Original information:
+% ORIG:
+% ORIG: (c) 1998 Jose Luis Diaz, 1999-2002 Jose Luis Diaz and Javier Bezos.
+% ORIG: All Rights Reserved.
+% ORIG:
+% ORIG: This file is part of the gloss distribution release 1.5.2
+% ORIG: --------------------------------------------------------
+% ORIG:
+% ORIG: This file can be redistributed and/or modified under the terms
+% ORIG: of the LaTeX Project Public License Distributed from CTAN
+% ORIG: archives in directory macros/latex/base/lppl.txt; either
+% ORIG: version 1 of the License, or any later version.
+% ORIG:
+% ORIG: % History of v0.1
+% ORIG: % ~~~~~~~~~~~~~~~
+% ORIG: % 1997/06/25 (JLDdA) Original version, by Jose Luis Diaz de Arriba (and an
+% ORIG: % unindicted co-conspirator)
+% ORIG: % History of v1.0
+% ORIG: % ~~~~~~~~~~~~~~~
+% ORIG: % 1999/07/29 (JBL) Rewritten in full. Now it warns if a required field is
+% ORIG: % missing, conforms the new gloss.sty syntax, and
+% ORIG: % writes headings for each letter. The heading,
+% ORIG: % short, and group fiels have been added.
+% ORIG: % History of v1.1-1.4
+% ORIG: % ~~~~~~~~~~~~~~~~~~~
+% ORIG: % 1999/10/10 (JBL) Lots of changes.
+% ORIG: % History of v.1.5
+% ORIG: % ~~~~~~~~~~~~~~~~
+% ORIG: % 2001/08/02 (JBL) Added the sort-short field for compatility
+% ORIG: % with glsshort.bst
+
+STRINGS { last.heading s t star.period}
+
+ENTRY
+ { word
+ sort-word
+ definition
+ heading
+ group
+ short
+ sort-short
+ }
+ {}
+ { ucword }
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {has.period}
+{ duplicate$
+ add.period$ =
+}
+
+FUNCTION {str.length}
+{ 't :=
+ #0
+ { t empty$ not }
+ { t #2 global.max$ substring$
+ 't :=
+ #1 +
+ }
+ while$
+}
+
+
+FUNCTION {upper.first}
+{ duplicate$
+ #1 text.prefix$
+ duplicate$
+ "u" change.case$
+ 's :=
+ str.length
+ #1 + entry.max$ substring$
+ s swap$ *
+}
+
+FUNCTION {check.required}
+{ 's :=
+ duplicate$ empty$
+ { "Empty " s * " in " * cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {push.sortword}
+{ sort-word empty$
+ { word field.or.null }
+ 'sort-word
+ if$
+}
+
+FUNCTION {check.alpha}
+{ duplicate$
+ purify$
+ empty$
+ { "Non alphabetical " cite$ *
+ " entry without group field" * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {push.heading}
+{ heading empty$
+ { word field.or.null
+ #1 text.prefix$
+ check.alpha
+ }
+ 'heading
+ if$
+}
+
+FUNCTION {begin.entry}
+{ newline$
+ "\begin{losaitem" star.period * write$
+ "}{" write$
+ cite$ write$
+ "}{" write$
+ word write$
+ "}{" write$
+ ucword write$
+ "}{" write$
+ short field.or.null write$
+ "}" write$
+ newline$
+}
+
+FUNCTION {end.entry}
+{ "\end{losaitem" star.period "}" * * write$
+ newline$
+}
+
+FUNCTION {set.vars}
+{ word field.or.null
+ "word" check.required
+ upper.first
+ 'ucword :=
+}
+
+
+FUNCTION {losadef}
+{ definition field.or.null
+ "definition" check.required
+ duplicate$ has.period
+ { "*" }
+ { "" }
+ if$
+ 'star.period := % definition is stored for later writing
+ begin.entry % this outputs word, ucword, and short
+ write$ % writes definition
+ end.entry
+}
+
+FUNCTION {gd}
+{ definition field.or.null
+ "definition" check.required
+ duplicate$ has.period
+ { "*" }
+ { "" }
+ if$
+ 'star.period := % definition is stored for later
+ begin.entry % this outputs word, ucword, and short
+ write$ % writes definition
+ end.entry
+}
+
+FUNCTION {default.type} { losadef }
+
+FUNCTION {presort}
+{ set.vars
+ push.sortword
+ group empty$
+ { purify$ "L" }
+ 'group
+ if$ % sort-word heading
+ swap$ * % heading * sort-word
+ "l" change.case$
+ 'sort.key$ :=
+}
+
+FUNCTION {begin.thelosa}
+{ "\begin{thelosa}"
+ write$
+ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+FUNCTION {end.thelosa}
+{ newline$
+ "\end{thelosa}" write$
+ newline$
+}
+
+FUNCTION {call.entries}
+ { group empty$
+ 'push.heading
+ { heading empty$
+ 'skip$
+ { "Ignoring heading because there is group field in "
+ cite$ *
+ warning$
+ }
+ if$
+ group
+ }
+ if$
+ "u" change.case$
+ duplicate$
+ group empty$
+ 'skip$
+ { "$$$$$" * }
+ if$
+ duplicate$
+ last.heading =
+ { pop$ pop$ }
+ { newline$
+ 'last.heading :=
+ group empty$
+ { "\losaheading{" }
+ { "\losagroup{" }
+ if$
+ swap$ * "}" *
+ write$
+ newline$
+ }
+ if$
+ call.type$
+ }
+
+READ
+
+ITERATE {presort}
+
+SORT
+
+EXECUTE {begin.thelosa}
+
+ITERATE {call.entries}
+
+EXECUTE {end.thelosa}
+
+
diff --git a/Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis.bst b/Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis.bst
new file mode 100644
index 00000000000..b076cdcfcdd
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gatech-thesis/gatech-thesis.bst
@@ -0,0 +1,1137 @@
+% Georgia Tech thesis bibliography style (08-Aug-2002 version)
+% like plain.bst, but:
+%
+% numeric labels, sorted, IEEE abbreviations (vol. not volume,
+% no. not number, authors' first names abbreviated), quotes
+% around article titles, commas separate all fields except after
+% book titles and before "notes". Authors names typeset
+% in small caps, surname first.
+%
+% Based on IEEE Transactions bibliography style (29-Jan-88 version)
+% Differs from ieeetr.bst by:
+% sorted, small cap author names, authors' first names abbreviated
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.quote after.sentence
+ after.quoted.block after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.quote :=
+ #3 'after.sentence :=
+ #4 'after.quoted.block :=
+ #5 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.quote =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.quoted.block =
+ { write$
+ newline$
+ "\newblock " write$
+ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {blank.sep}
+{ after.quote 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ output.state after.quoted.block =
+ 'skip$
+ 'add.period$
+ if$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { output.state after.quote =
+ { after.quoted.block 'output.state := }
+ { after.block 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+%CSW: scapify copied from asm.bst
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ %CSW: surname first, small caps
+ %{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ scapify 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " {\em et~al.}" * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "``" title "t" change.case$ * ",''" * }
+ if$
+}
+
+FUNCTION {format.title.p}
+{ title empty$
+ { "" }
+ { "``" title "t" change.case$ * ".''" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "no.~" }
+ { "No.~" }
+ if$
+ number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition "l" change.case$ "~ed." * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume * }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "no.~" number * }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { "in " booktitle emphasize *
+ editor empty$
+ 'skip$
+ { " (" * format.editors * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ output.state after.block =
+ { type "t" change.case$ }
+ { type "l" change.case$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ %CSW: plain.bst has the following line, unsrt.bst doesn't...
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "l" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.addr.pub}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { "" }
+ { address ": " * }
+ if$
+ publisher *
+ }
+ if$
+}
+
+FUNCTION {format.paddress}
+{ address empty$
+ { "" }
+ { "(" address * ")" * }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/}" * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.}" * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.}" * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.volume output
+ month empty$
+ { format.number output }
+ 'skip$
+ if$
+ format.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ title empty$
+ { "empty title in " cite$ * warning$
+ howpublished new.sentence.checka
+ }
+ { howpublished empty$ not
+ address empty$ month empty$ year empty$ and and
+ or
+ { format.title.p output.nonnull }
+ { format.title output.nonnull }
+ if$
+ blank.sep
+ }
+ if$
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ format.addr.pub "publisher" output.check
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.addr.pub "publisher" output.check
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.paddress output
+ format.pages output
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title empty$
+ { howpublished new.sentence.checka }
+ { howpublished empty$ not
+ month empty$ year empty$ and
+ or
+ { format.title.p output.nonnull }
+ { format.title output.nonnull }
+ if$
+ blank.sep
+ }
+ if$
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ format.paddress output
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title.p "title" output.check
+ blank.sep
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications ACM"}
+
+MACRO {ibmjrd} {"IBM J. Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Trans. Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Computer-Aided Design"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM J. Computing"}
+
+MACRO {tocs} {"ACM Trans. Computer Systems"}
+
+MACRO {tods} {"ACM Trans. Database Systems"}
+
+MACRO {tog} {"ACM Trans. Graphics"}
+
+MACRO {toms} {"ACM Trans. Mathematical Software"}
+
+MACRO {toois} {"ACM Trans. Office Information Systems"}
+
+MACRO {toplas} {"ACM Trans. Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% CSW: sorting functions copied from plain.bst
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% CSW: end sorting functions copied from plain.bst
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/germbib/gerabbrv.bst b/Master/texmf-dist/bibtex/bst/germbib/gerabbrv.bst
new file mode 100644
index 00000000000..1f6088715d0
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/germbib/gerabbrv.bst
@@ -0,0 +1,1208 @@
+% BibTeX standard bibliography style `abbrv'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% 15-feb-92 (MW) Updated for use with `bibgerman.sty': things like "and"
+% change with the language. Switch the language using the
+% language field:
+% language = "german" | "USenglish" | "english"
+% Then a `\selectlanguage{...}' command will be pushed just
+% before the `\bibitem...' command for the entry in work.
+% 2003/03/31 Harald Harders Fixed bug in detection of "and others"
+% 2003/04/29 Harald Harders Fixed bug format of names. For multiple
+% names, some of them were not typeset in
+% small caps.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block before.title }
+
+STRINGS { s t language.state language.temp }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {language.state.test}
+{
+ 'language.temp :=
+ language.temp language.state =
+ { #1 }
+ { #0 }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ % next if is for use with `new' FUNCTION {after.authors}
+ { output.state before.title =
+ { ": " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ 'skip$
+ { language.state language =
+ 'skip$
+ { "\selectlanguage{\" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+% new one -> sets what is specified in FUNCTION {output.nonnull}
+% if `before.title 'output.state = ... if$' is true
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {smallcaps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ namesleft #1 >
+ { ", " * t smallcaps * }
+ { numnames #2 >
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ {"," * }
+ 'skip$
+ if$
+ }
+ 'skip$
+ if$
+ t "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandshort{.}\ " * t smallcaps * }
+ if$
+ }
+ if$
+ }
+ { s nameptr "{ll}{, jj}{, f.}{~vv}" format.name$ smallcaps }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorsshort{.})" * }
+ { "\ (\btxeditorshort{.})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { title "t" change.case$ emphasize }
+ { title emphasize }
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumeshort{.}" }
+ { "\btxvolumeshort{.}" }
+ if$
+ volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofseriesshort{.}\ " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumbershort{.}" }
+ { "\Btxnumbershort{.}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinseriesshort{.}\ " * series emphasize * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { output.state mid.sentence =
+ { edition "l" change.case$ " \btxeditionshort{.}" * }
+ { edition "t" change.case$ " \btxeditionshort{.}" * }
+ if$
+ }
+ { edition " \btxeditionshort{.}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpagesshort{.}" pages n.dashify tie.or.space.connect }
+ { "\btxpageshort{.}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchaptershort{.}" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "l" change.case$ }
+ { type }
+ if$
+ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinshort{.}\ " booktitle emphasize * }
+ { "\Btxinshort{.}\ " format.editors * ": " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "t" change.case$ }
+ { type }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "\Btxtechrepshort{.}" }
+ 'type
+ if$
+ number empty$
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type empty$
+ { pop$ "\btxtechreplong{}" }
+ { "t" change.case$ }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinshort{.}\ " journal emphasize * }
+ if$
+ }
+ { "\Btxinshort{.}\ " key emphasize * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{ll}{, jj}{, f.}{~vv}" format.name$ smallcaps
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " \btxetalshort{.}" * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandshort{.}\ " * editor #2 "{vv~}{ll}" format.name$ smallcaps * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinshort{.}\ "
+ }
+ { "\Btxvolumeshort{.}" volume tie.or.space.connect
+ " \btxofseriesshort{.}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key emphasize * }
+ if$
+ }
+ { "\Btxinshort{.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinshort{.}\ " booktitle emphasize * }
+ if$
+ }
+ { "\Btxinshort{.}\ " key emphasize * }
+ if$
+ }
+ { "\Btxinshort{.}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { emphasize }
+ 'skip$
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization smallcaps output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis{}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis{}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization smallcaps output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanshort{.}"}
+
+MACRO {feb} {"\btxmonfebshort{.}"}
+
+MACRO {mar} {"\btxmonmarshort{.}"}
+
+MACRO {apr} {"\btxmonaprshort{.}"}
+
+MACRO {may} {"\btxmonmayshort{.}"}
+
+MACRO {jun} {"\btxmonjunshort{.}"}
+
+MACRO {jul} {"\btxmonjulshort{.}"}
+
+MACRO {aug} {"\btxmonaugshort{.}"}
+
+MACRO {sep} {"\btxmonsepshort{.}"}
+
+MACRO {oct} {"\btxmonoctshort{.}"}
+
+MACRO {nov} {"\btxmonnovshort{.}"}
+
+MACRO {dec} {"\btxmondecshort{.}"}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ f{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/germbib/geralpha.bst b/Master/texmf-dist/bibtex/bst/germbib/geralpha.bst
new file mode 100644
index 00000000000..984bbead5bc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/germbib/geralpha.bst
@@ -0,0 +1,1369 @@
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% 15-feb-92 (MW) Updated for use with `bibgerman.sty': things like "and"
+% change with the language. Switch the language using the
+% language field:
+% language = "german" | "USenglish" | "english"
+% Then a `\selectlanguage{...}' command will be pushed just
+% before the `\bibitem...' command for the entry in work.
+% 2003/03/31 Harald Harders Fixed bug in detection of "and others"
+% 2003/04/29 Harald Harders Fixed bug format of names. For multiple
+% names, some of them were not typeset in
+% small caps.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block before.title }
+
+STRINGS { s t language.state language.temp }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {language.state.test}
+{
+ 'language.temp :=
+ language.temp language.state =
+ { #1 }
+ { #0 }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ % next if is for use with `new' FUNCTION {after.authors}
+ { output.state before.title =
+ { ": " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ 'skip$
+ { language.state language =
+ 'skip$
+ { "\selectlanguage{\" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+% new one -> sets what is specified in FUNCTION {output.nonnull}
+% if `before.title 'output.state = ... if$' is true
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {smallcaps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ namesleft #1 >
+ { ", " * t smallcaps * }
+ { numnames #2 >
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ {"," * }
+ 'skip$
+ if$
+ }
+ 'skip$
+ if$
+ t "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandlong{}\ " * t smallcaps * }
+ if$
+ }
+ if$
+ }
+ { s nameptr "{ll}{, jj}{, ff}{~vv}" format.name$ smallcaps }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong{})" * }
+ { "\ (\btxeditorlong{})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { title "t" change.case$ emphasize }
+ { title emphasize }
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong{}" }
+ { "\btxvolumelong{}" }
+ if$
+ volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong{}\ " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong{}" }
+ { "\Btxnumberlong{}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong{}\ " * series emphasize * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { output.state mid.sentence =
+ { edition "l" change.case$ " \btxeditionlong{}" * }
+ { edition "t" change.case$ " \btxeditionlong{}" * }
+ if$
+ }
+ { edition " \btxeditionlong{}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong{}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong{}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong{}" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "l" change.case$ }
+ { type }
+ if$
+ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong{}\ " booktitle emphasize * }
+ { "\Btxinlong{}\ " format.editors * ": " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "t" change.case$ }
+ { type }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "\Btxtechreplong{}" }
+ 'type
+ if$
+ number empty$
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type empty$
+ { pop$ "\btxtechreplong{}" }
+ { "t" change.case$ }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong{}\ " journal emphasize * }
+ if$
+ }
+ { "\Btxinlong{}\ " key emphasize * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{ll}{, jj}{, ff}{~vv}" format.name$ smallcaps
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " \btxetalshort{.}" * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandlong{}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}" format.name$ smallcaps * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong{}\ "
+ }
+ { "\Btxvolumelong{}" volume tie.or.space.connect
+ " \btxofserieslong{}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key emphasize * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong{}\ " booktitle emphasize * }
+ if$
+ }
+ { "\Btxinlong{}\ " key emphasize * }
+ if$
+ }
+ { "\Btxinlong{}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { emphasize }
+ 'skip$
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization smallcaps output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis{}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis{}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization smallcaps output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong{}"}
+
+MACRO {feb} {"\btxmonfeblong{}"}
+
+MACRO {mar} {"\btxmonmarlong{}"}
+
+MACRO {apr} {"\btxmonaprlong{}"}
+
+MACRO {may} {"\btxmonmaylong{}"}
+
+MACRO {jun} {"\btxmonjunlong{}"}
+
+MACRO {jul} {"\btxmonjullong{}"}
+
+MACRO {aug} {"\btxmonauglong{}"}
+
+MACRO {sep} {"\btxmonseplong{}"}
+
+MACRO {oct} {"\btxmonoctlong{}"}
+
+MACRO {nov} {"\btxmonnovlong{}"}
+
+MACRO {dec} {"\btxmondeclong{}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/germbib/gerapali.bst b/Master/texmf-dist/bibtex/bst/germbib/gerapali.bst
new file mode 100644
index 00000000000..7e521813e20
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/germbib/gerapali.bst
@@ -0,0 +1,1227 @@
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% 15-feb-92 (MW) Updated for use with `bibgerman.sty': things like "and"
+% change with the language. Switch the language using the
+% language field:
+% language = "german" | "USenglish" | "english"
+% Then a `\selectlanguage{...}' command will be pushed just
+% before the `\bibitem...' command for the entry in work.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ citelabel
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block before.title }
+
+STRINGS { s t language.state language.temp }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {language.state.test}
+{
+ 'language.temp :=
+ language.temp language.state =
+ { #1 }
+ { #0 }
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ % next if is for use with `new' FUNCTION {after.authors}
+ { output.state before.title =
+ { ": " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ "\ (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ 'skip$
+ { language.state language =
+ 'skip$
+ { "\selectlanguage{\" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+% new one -> sets what is specified in FUNCTION {output.nonnull}
+% if `before.title 'output.state = ... if$' is true
+% FUNCTION {after.authors}
+% { output.state before.all =
+% 'skip$
+% { before.title 'output.state := }
+% if$
+% }
+
+% original -> sets points after (year) and before title
+FUNCTION {after.authors}
+{ new.block }
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {smallcaps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := % last name first
+ namesleft #1 >
+ { ", " * t smallcaps * }
+ { numnames #2 >
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ {"," * }
+ 'skip$
+ if$
+ }
+ 'skip$
+ if$
+ t "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandshort{.}\ " * t smallcaps * }
+ if$
+ }
+ if$
+ }
+ { s nameptr "{ll}{, jj}{, ff}{~vv}" format.name$ smallcaps } % last name first
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null
+ duplicate$ empty$
+ 'skip$
+ { smallcaps }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", \btxeditorsshort{.}" * }
+ { ", \btxeditorshort{.}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { title "t" change.case$ emphasize }
+ { title emphasize }
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumeshort{.}" }
+ { "\btxvolumeshort{.}" }
+ if$
+ volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofseriesshort{.}\ " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumbershort{.}" }
+ { "\Btxnumbershort{.}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinseriesshort{.}\ " * series emphasize * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { output.state mid.sentence =
+ { edition "l" change.case$ " \btxeditionshort{.}" * }
+ { edition "t" change.case$ " \btxeditionshort{.}" * }
+ if$
+ }
+ { edition " \btxeditionshort{.}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpagesshort{.}" pages n.dashify tie.or.space.connect }
+ { "\btxpageshort{.}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchaptershort{.}" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "l" change.case$ }
+ { type }
+ if$
+ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinshort{.}\ " booktitle emphasize * }
+ { "\Btxinshort{.}\ " format.editors * ": " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "t" change.case$ }
+ { type }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "\Btxtechreplong{.}" }
+ 'type
+ if$
+ number empty$
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type empty$
+ { pop$ "\btxtechreplong{.}" }
+ { "t" change.case$ }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinshort{.}\ "
+ }
+ { "\Btxvolumeshort{.}" volume tie.or.space.connect
+ " \btxofseriesshort{.}\ " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "\Btxinshort{.}\ " % this is for apalike
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { emphasize }
+ 'skip$
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output % for apalike
+ new.sentence % there's no year
+ organization output % here so things
+ publisher output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis{.}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis{.}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ after.authors
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanshort{.}"}
+
+MACRO {feb} {"\btxmonfebshort{.}"}
+
+MACRO {mar} {"\btxmonmarshort{.}"}
+
+MACRO {apr} {"\btxmonaprshort{.}"}
+
+MACRO {may} {"\btxmonmayshort{.}"}
+
+MACRO {jun} {"\btxmonjunshort{.}"}
+
+MACRO {jul} {"\btxmonjulshort{.}"}
+
+MACRO {aug} {"\btxmonaugshort{.}"}
+
+MACRO {sep} {"\btxmonsepshort{.}"}
+
+MACRO {oct} {"\btxmonoctshort{.}"}
+
+MACRO {nov} {"\btxmonnovshort{.}"}
+
+MACRO {dec} {"\btxmondecshort{.}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$ smallcaps
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " \btxetalshort{.}" * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandshort{.}\ " * s #2 "{vv~}{ll}" format.name$ smallcaps * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ citelabel empty$
+ { author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+ }
+ { citelabel smallcaps }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ citelabel empty$
+ { author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+ }
+ { citelabel smallcaps }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ citelabel empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { citelabel smallcaps }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ year empty$
+ {""}
+% {", "} % original
+ {" "} % gendert fr Andreas Diplomarbeit 30/04/92
+ if$ % these three lines are
+ * % for apalike, which
+% year field.or.null purify$ #-1 #4 substring$ % uses all four digits % original
+ year field.or.null % gendert fr Andreas Diplomarbeit 19/09/92 um Jahresangaben wie 1988a, 1988b zu ermglichen
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/germbib/gerplain.bst b/Master/texmf-dist/bibtex/bst/germbib/gerplain.bst
new file mode 100644
index 00000000000..5e2de73cd47
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/germbib/gerplain.bst
@@ -0,0 +1,1209 @@
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% 15-feb-92 (MW) Updated for use with `bibgerman.sty': things like "and"
+% change with the language. Switch the language using the
+% language field:
+% language = "german" | "USenglish" | "english"
+% Then a `\selectlanguage{...}' command will be pushed just
+% before the `\bibitem...' command for the entry in work.
+% 2003/03/31 Harald Harders Fixed bug in detection of "and others"
+% 2003/04/29 Harald Harders Fixed bug format of names. For multiple
+% names, some of them were not typeset in
+% small caps.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block before.title }
+
+STRINGS { s t language.state language.temp }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {language.state.test}
+{
+ 'language.temp :=
+ language.temp language.state =
+ { #1 }
+ { #0 }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ % next if is for use with `new' FUNCTION {after.authors}
+ { output.state before.title =
+ { ": " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ 'skip$
+ { language.state language =
+ 'skip$
+ { "\selectlanguage{\" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+% new one -> sets what is specified in FUNCTION {output.nonnull}
+% if `before.title 'output.state = ... if$' is true
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {smallcaps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ namesleft #1 >
+ { ", " * t smallcaps * }
+ { numnames #2 >
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ {"," * }
+ 'skip$
+ if$
+ }
+ 'skip$
+ if$
+ t "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandlong{}\ " * t smallcaps * }
+ if$
+ }
+ if$
+ }
+ { s nameptr "{ll}{, jj}{, ff}{~vv}" format.name$ smallcaps }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong{})" * }
+ { "\ (\btxeditorlong{})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { title "t" change.case$ emphasize }
+ { title emphasize }
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong{}" }
+ { "\btxvolumelong{}" }
+ if$
+ volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong{}\ " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong{}" }
+ { "\Btxnumberlong{}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong{}\ " * series emphasize * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { output.state mid.sentence =
+ { edition "l" change.case$ " \btxeditionlong{}" * }
+ { edition "t" change.case$ " \btxeditionlong{}" * }
+ if$
+ }
+ { edition " \btxeditionlong{}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong{}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong{}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong{}" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "l" change.case$ }
+ { type }
+ if$
+ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong{}\ " booktitle emphasize * }
+ { "\Btxinlong{}\ " format.editors * ": " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "t" change.case$ }
+ { type }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "\Btxtechreplong{}" }
+ 'type
+ if$
+ number empty$
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type empty$
+ { pop$ "\btxtechreplong{}" }
+ { "t" change.case$ }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong{}\ " journal emphasize * }
+ if$
+ }
+ { "\Btxinlong{}\ " key emphasize * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{ll}{, jj}{, ff}{~vv}" format.name$ smallcaps
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " \btxetalshort{.}" * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandlong{}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}" format.name$ smallcaps * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong{}\ "
+ }
+ { "\Btxvolumelong{}" volume tie.or.space.connect
+ " \btxofserieslong{}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key emphasize * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong{}\ " booktitle emphasize * }
+ if$
+ }
+ { "\Btxinlong{}\ " key emphasize * }
+ if$
+ }
+ { "\Btxinlong{}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { emphasize }
+ 'skip$
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization smallcaps output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis{}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis{}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization smallcaps output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong{}"}
+
+MACRO {feb} {"\btxmonfeblong{}"}
+
+MACRO {mar} {"\btxmonmarlong{}"}
+
+MACRO {apr} {"\btxmonaprlong{}"}
+
+MACRO {may} {"\btxmonmaylong{}"}
+
+MACRO {jun} {"\btxmonjunlong{}"}
+
+MACRO {jul} {"\btxmonjullong{}"}
+
+MACRO {aug} {"\btxmonauglong{}"}
+
+MACRO {sep} {"\btxmonseplong{}"}
+
+MACRO {oct} {"\btxmonoctlong{}"}
+
+MACRO {nov} {"\btxmonnovlong{}"}
+
+MACRO {dec} {"\btxmondeclong{}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/germbib/gerunsrt.bst b/Master/texmf-dist/bibtex/bst/germbib/gerunsrt.bst
new file mode 100644
index 00000000000..293ef709c5b
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/germbib/gerunsrt.bst
@@ -0,0 +1,1063 @@
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+% 15-feb-92 (MW) Updated for use with `bibgerman.sty': things like "and"
+% change with the language. Switch the language using the
+% language field:
+% language = "german" | "USenglish" | "english"
+% Then a `\selectlanguage{...}' command will be pushed just
+% before the `\bibitem...' command for the entry in work.
+% 2003/03/31 Harald Harders Fixed bug in detection of "and others"
+% 2003/04/29 Harald Harders Fixed bug format of names. For multiple
+% names, some of them were not typeset in
+% small caps.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block before.title }
+
+STRINGS { s t language.state language.temp }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+
+FUNCTION {language.state.test}
+{
+ 'language.temp :=
+ language.temp language.state =
+ { #1 }
+ { #0 }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ % next if is for use with `new' FUNCTION {after.authors}
+ { output.state before.title =
+ { ": " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ 'skip$
+ { language.state language =
+ 'skip$
+ { "\selectlanguage{\" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+% new one -> sets what is specified in FUNCTION {output.nonnull}
+% if `before.title 'output.state = ... if$' is true
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {smallcaps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ namesleft #1 >
+ { ", " * t smallcaps * }
+ { numnames #2 >
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ {"," * }
+ 'skip$
+ if$
+ }
+ 'skip$
+ if$
+ t "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandlong{}\ " * t smallcaps * }
+ if$
+ }
+ if$
+ }
+ { s nameptr "{ll}{, jj}{, ff}{~vv}" format.name$ smallcaps }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { "\ (\btxeditorslong{})" * }
+ { "\ (\btxeditorlong{})" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { title "t" change.case$ emphasize }
+ { title emphasize }
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+ { "\Btxvolumelong{}" }
+ { "\btxvolumelong{}" }
+ if$
+ volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \btxofserieslong{}\ " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\btxnumberlong{}" }
+ { "\Btxnumberlong{}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \btxinserieslong{}\ " * series emphasize * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { output.state mid.sentence =
+ { edition "l" change.case$ " \btxeditionlong{}" * }
+ { edition "t" change.case$ " \btxeditionlong{}" * }
+ if$
+ }
+ { edition " \btxeditionlong{}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\btxpageslong{}" pages n.dashify tie.or.space.connect }
+ { "\btxpagelong{}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\btxchapterlong{}" }
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "l" change.case$ }
+ { type }
+ if$
+ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Btxinlong{}\ " booktitle emphasize * }
+ { "\Btxinlong{}\ " format.editors * ": " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type "t" change.case$ }
+ { type }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "\Btxtechreplong{}" }
+ 'type
+ if$
+ number empty$
+ { "english" language.state.test
+ "USenglish" language.state.test
+ or
+ { type empty$
+ { pop$ "\btxtechreplong{}" }
+ { "t" change.case$ }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Btxinlong{}\ " journal emphasize * }
+ if$
+ }
+ { "\Btxinlong{}\ " key emphasize * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{ll}{, jj}{, ff}{~vv}" format.name$ smallcaps
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " \btxetalshort{.}" * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " \btxetalshort{.}" * }
+ { " \btxandlong{}\ " * editor #2 "{ff}{~vv}{~ll}{, jj}" format.name$ smallcaps * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Btxinlong{}\ "
+ }
+ { "\Btxvolumelong{}" volume tie.or.space.connect
+ " \btxofserieslong{}\ " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key emphasize * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Btxinlong{}\ " booktitle emphasize * }
+ if$
+ }
+ { "\Btxinlong{}\ " key emphasize * }
+ if$
+ }
+ { "\Btxinlong{}\ " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { emphasize }
+ 'skip$
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization smallcaps output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis{}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis{}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization smallcaps output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\btxmonjanlong{}"}
+
+MACRO {feb} {"\btxmonfeblong{}"}
+
+MACRO {mar} {"\btxmonmarlong{}"}
+
+MACRO {apr} {"\btxmonaprlong{}"}
+
+MACRO {may} {"\btxmonmaylong{}"}
+
+MACRO {jun} {"\btxmonjunlong{}"}
+
+MACRO {jul} {"\btxmonjullong{}"}
+
+MACRO {aug} {"\btxmonauglong{}"}
+
+MACRO {sep} {"\btxmonseplong{}"}
+
+MACRO {oct} {"\btxmonoctlong{}"}
+
+MACRO {nov} {"\btxmonnovlong{}"}
+
+MACRO {dec} {"\btxmondeclong{}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/gloss/glsplain.bst b/Master/texmf-dist/bibtex/bst/gloss/glsplain.bst
new file mode 100644
index 00000000000..675407b4c29
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gloss/glsplain.bst
@@ -0,0 +1,252 @@
+% (c) 1998 Jose Luis Diaz, 1999-2002 Jose Luis Diaz and Javier Bezos.
+% All Rights Reserved.
+%
+% This file is part of the gloss distribution release 1.5.2
+% --------------------------------------------------------
+%
+% This file can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+%
+%% History of v0.1
+%% ~~~~~~~~~~~~~~~
+%% 1997/06/25 (JLDdA) Original version, by Jose Luis Diaz de Arriba (and an
+%% unindicted co-conspirator)
+%% History of v1.0
+%% ~~~~~~~~~~~~~~~
+%% 1999/07/29 (JBL) Rewritten in full. Now it warns if a required field is
+%% missing, conforms the new gloss.sty syntax, and
+%% writes headings for each letter. The heading,
+%% short, and group fiels have been added.
+%% History of v1.1-1.4
+%% ~~~~~~~~~~~~~~~~~~~
+%% 1999/10/10 (JBL) Lots of changes.
+%% History of v.1.5
+%% ~~~~~~~~~~~~~~~~
+%% 2001/08/02 (JBL) Added the sort-short field for compatility
+%% with glsshort.bst
+
+STRINGS { last.heading s t star.period}
+
+ENTRY
+ { word
+ sort-word
+ definition
+ heading
+ group
+ short
+ sort-short
+ }
+ {}
+ { ucword }
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {has.period}
+{ duplicate$
+ add.period$ =
+}
+
+FUNCTION {str.length}
+{ 't :=
+ #0
+ { t empty$ not }
+ { t #2 global.max$ substring$
+ 't :=
+ #1 +
+ }
+ while$
+}
+
+
+FUNCTION {upper.first}
+{ duplicate$
+ #1 text.prefix$
+ duplicate$
+ "u" change.case$
+ 's :=
+ str.length
+ #1 + entry.max$ substring$
+ s swap$ *
+}
+
+FUNCTION {check.required}
+{ 's :=
+ duplicate$ empty$
+ { "Empty " s * " in " * cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {push.sortword}
+{ sort-word empty$
+ { word field.or.null }
+ 'sort-word
+ if$
+}
+
+FUNCTION {check.alpha}
+{ duplicate$
+ purify$
+ empty$
+ { "Non alphabetical " cite$ *
+ " entry without group field" * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {push.heading}
+{ heading empty$
+ { word field.or.null
+ #1 text.prefix$
+ check.alpha
+ }
+ 'heading
+ if$
+}
+
+FUNCTION {begin.entry}
+{ newline$
+ "\begin{glossitem" star.period * write$
+ "}{" write$
+ cite$ write$
+ "}{" write$
+ word write$
+ "}{" write$
+ ucword write$
+ "}{" write$
+ short field.or.null write$
+ "}" write$
+ newline$
+}
+
+FUNCTION {end.entry}
+{ "\end{glossitem" star.period "}" * * write$
+ newline$
+}
+
+FUNCTION {set.vars}
+{ word field.or.null
+ "word" check.required
+ upper.first
+ 'ucword :=
+}
+
+
+FUNCTION {glossdef}
+{ definition field.or.null
+ "definition" check.required
+ duplicate$ has.period
+ { "*" }
+ { "" }
+ if$
+ 'star.period := % definition is stored for later writing
+ begin.entry % this outputs word, ucword, and short
+ write$ % writes definition
+ end.entry
+}
+
+FUNCTION {gd}
+{ definition field.or.null
+ "definition" check.required
+ duplicate$ has.period
+ { "*" }
+ { "" }
+ if$
+ 'star.period := % definition is stored for later
+ begin.entry % this outputs word, ucword, and short
+ write$ % writes definition
+ end.entry
+}
+
+FUNCTION {default.type} { glossdef }
+
+FUNCTION {presort}
+{ set.vars
+ push.sortword
+ group empty$
+ { purify$ "L" }
+ 'group
+ if$ % sort-word heading
+ swap$ * % heading * sort-word
+ "l" change.case$
+ 'sort.key$ :=
+}
+
+FUNCTION {begin.thegloss}
+{ "\begin{thegloss}"
+ write$
+ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+FUNCTION {end.thegloss}
+{ newline$
+ "\end{thegloss}" write$
+ newline$
+}
+
+FUNCTION {call.entries}
+ { group empty$
+ 'push.heading
+ { heading empty$
+ 'skip$
+ { "Ignoring heading because there is group field in "
+ cite$ *
+ warning$
+ }
+ if$
+ group
+ }
+ if$
+ "u" change.case$
+ duplicate$
+ group empty$
+ 'skip$
+ { "$$$$$" * }
+ if$
+ duplicate$
+ last.heading =
+ { pop$ pop$ }
+ { newline$
+ 'last.heading :=
+ group empty$
+ { "\glossheading{" }
+ { "\glossgroup{" }
+ if$
+ swap$ * "}" *
+ write$
+ newline$
+ }
+ if$
+ call.type$
+ }
+
+READ
+
+ITERATE {presort}
+
+SORT
+
+EXECUTE {begin.thegloss}
+
+ITERATE {call.entries}
+
+EXECUTE {end.thegloss}
+
+
diff --git a/Master/texmf-dist/bibtex/bst/gloss/glsshort.bst b/Master/texmf-dist/bibtex/bst/gloss/glsshort.bst
new file mode 100644
index 00000000000..babd8ded93c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gloss/glsshort.bst
@@ -0,0 +1,251 @@
+% (c) 1998 Jose Luis Diaz, 1999-2002 Jose Luis Diaz and Javier Bezos.
+% All Rights Reserved.
+%
+% This file is part of the gloss distribution release 1.5.2
+% -----------------------------------------------------------
+%
+% This file can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+%
+%% History of v0.1
+%% ~~~~~~~~~~~~~~~
+%% 1997/06/25 (JLDdA) Original version, by Jose Luis Diaz de Arriba (and an
+%% unindicted co-conspirator)
+%% History of v1.0
+%% ~~~~~~~~~~~~~~~
+%% 1999/07/29 (JBL) Rewritten in full. Now it warns if a required field is
+%% missing, conforms the new gloss.sty syntax, and
+%% writes headings for each letter. The heading,
+%% short, and group fiels have been added.
+%% History of v1.1-1.4
+%% ~~~~~~~~~~~~~~~~~~~
+%% 1999/10/10 (JBL) Lots of changes.
+%% History of v.1.5
+%% ~~~~~~~~~~~~~~~~
+%% 2001/08/02 (JBL) Created this file from glsplain.bst
+
+STRINGS { last.heading s t star.period}
+
+ENTRY
+ { word
+ sort-word
+ definition
+ heading
+ group
+ short
+ sort-short
+ }
+ {}
+ { ucword }
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {has.period}
+{ duplicate$
+ add.period$ =
+}
+
+FUNCTION {str.length}
+{ 't :=
+ #0
+ { t empty$ not }
+ { t #2 global.max$ substring$
+ 't :=
+ #1 +
+ }
+ while$
+}
+
+
+FUNCTION {upper.first}
+{ duplicate$
+ #1 text.prefix$
+ duplicate$
+ "u" change.case$
+ 's :=
+ str.length
+ #1 + entry.max$ substring$
+ s swap$ *
+}
+
+FUNCTION {check.required}
+{ 's :=
+ duplicate$ empty$
+ { "Empty " s * " in " * cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {push.sortshort}
+{ sort-short empty$
+ { short field.or.null }
+ 'sort-short
+ if$
+}
+
+FUNCTION {check.alpha}
+{ duplicate$
+ purify$
+ empty$
+ { "Non alphabetical " cite$ *
+ " entry without group field" * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {push.heading}
+{ heading empty$
+ { short field.or.null
+ #1 text.prefix$
+ check.alpha
+ }
+ 'heading
+ if$
+}
+
+FUNCTION {begin.entry}
+{ newline$
+ "\begin{glossitem" star.period * write$
+ "}{" write$
+ cite$ write$
+ "}{" write$
+ word write$
+ "}{" write$
+ ucword write$
+ "}{" write$
+ short field.or.null write$
+ "}" write$
+ newline$
+}
+
+FUNCTION {end.entry}
+{ "\end{glossitem" star.period "}" * * write$
+ newline$
+}
+
+FUNCTION {set.vars}
+{ short field.or.null
+ "short" check.required
+ upper.first
+ 'ucword :=
+}
+
+
+FUNCTION {glossdef}
+{ definition field.or.null
+ "definition" check.required
+ duplicate$ has.period
+ { "*" }
+ { "" }
+ if$
+ 'star.period := % definition is stored for later writing
+ begin.entry % this outputs word, ucword, and short
+ write$ % writes definition
+ end.entry
+}
+
+FUNCTION {gd}
+{ definition field.or.null
+ "definition" check.required
+ duplicate$ has.period
+ { "*" }
+ { "" }
+ if$
+ 'star.period := % definition is stored for later
+ begin.entry % this outputs word, ucword, and short
+ write$ % writes definition
+ end.entry
+}
+
+FUNCTION {default.type} { glossdef }
+
+FUNCTION {presort}
+{ set.vars
+ push.sortshort
+ group empty$
+ { purify$ "L" }
+ 'group
+ if$ % sort-short heading
+ swap$ * % heading * sort-short
+ "l" change.case$
+ 'sort.key$ :=
+}
+
+FUNCTION {begin.thegloss}
+{ "\begin{thegloss}"
+ write$
+ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+FUNCTION {end.thegloss}
+{ newline$
+ "\end{thegloss}" write$
+ newline$
+}
+
+FUNCTION {call.entries}
+ { group empty$
+ 'push.heading
+ { heading empty$
+ 'skip$
+ { "Ignoring heading because there is group field in "
+ cite$ *
+ warning$
+ }
+ if$
+ group
+ }
+ if$
+ "u" change.case$
+ duplicate$
+ group empty$
+ 'skip$
+ { "$$$$$" * }
+ if$
+ duplicate$
+ last.heading =
+ { pop$ pop$ }
+ { newline$
+ 'last.heading :=
+ group empty$
+ { "\glossheading{" }
+ { "\glossgroup{" }
+ if$
+ swap$ * "}" *
+ write$
+ newline$
+ }
+ if$
+ call.type$
+ }
+
+READ
+
+ITERATE {presort}
+
+SORT
+
+EXECUTE {begin.thegloss}
+
+ITERATE {call.entries}
+
+EXECUTE {end.thegloss}
+
+
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost71s.bst b/Master/texmf-dist/bibtex/bst/gost/gost71s.bst
new file mode 100644
index 00000000000..a9c393568fc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gost/gost71s.bst
@@ -0,0 +1,1577 @@
+%%
+%% This is file `gost71s.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gost.dtx (with options: `gost71s')
+%%
+%% Copyright 1996-2005 Maksym Polyakov.
+%% Version 2005.08.12
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% Please, send bug reports via e-mail:
+%% polyama at auburn dot edu
+%%
+%% 2005.08.12 Bug fix (long annote)
+%%
+%% 2003.06.06 contributions by Konstantin Vorontsov:
+%% New ENTRY "annote" added for output annotations.
+%% New commands BibUrl, BibAnnote added for customize urls and annotations.
+%%
+%% 2003.08.10
+%% New command BibEmph added for customize emphasizing.
+%%
+%% 2003.10.07
+%% Some bug fixes in names and date formatting.
+%%
+%% 2003.10.07
+%% Bug fix in INPROCEEDINGS.
+%%
+%%
+%% This bibliography style attempts
+%% to format bibliography according to
+%% GOST 7.1-84 vd970321
+%%
+%% For the Ukrainian|Russian bibliographic entries
+%% you need to create field
+%% language = {ukrainian|russian}.
+%% Default language is English.
+%% Field numpages for books must contain number of pages.
+%% Optional field url will format url (using hyperref, if loaded).
+%%
+%% See examples in gost71.pdf and gost780.pdf
+%%
+%% Requires 8-bit bibtex with switch -B and csf file supporting cyrillic.
+%% bibtex8 -B -c <encoding>.csf <your_document>
+%%
+
+ENTRY
+ { address
+ annote
+ author
+ booktitle
+ bookauthor
+ chapter
+ edition
+ editor
+ compiler
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ numpages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ language
+ booklanguage
+ url
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+after.dblslash after.slash after.column after.semicolumn}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.dblslash :=
+ #5 'after.slash :=
+ #6 'after.column :=
+ #7 'after.semicolumn :=
+}
+
+STRINGS { s t }
+
+STRINGS { curlanguage }
+
+FUNCTION {change.language}
+{ booklanguage empty$
+ {""}
+ {booklanguage 'curlanguage :=
+ "\selectlanguageifdefined{"
+ curlanguage *
+ "}" *
+ }
+ if$
+}
+
+FUNCTION {output.nonnull}
+%%%{ 's :=
+{ swap$
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ " " quote$ "--- " * * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.dblslash =
+ { "~//" * change.language * " " * write$ }
+ { output.state after.slash =
+ { "~/ " * write$ }
+ { output.state after.column =
+ { ": " * write$ }
+ { output.state after.semicolumn =
+ { "; " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+%%% s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.dblslash}
+{ output.state before.all =
+ 'skip$
+ { after.dblslash 'output.state := }
+ if$
+}
+
+FUNCTION {new.slash}
+{ output.state before.all =
+ 'skip$
+ { after.slash 'output.state := }
+ if$
+}
+
+FUNCTION {new.column}
+{ output.state before.all =
+ 'skip$
+ { after.column 'output.state := }
+ if$
+}
+
+FUNCTION {new.semicolumn}
+{ output.state before.all =
+ 'skip$
+ { after.semicolumn 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\BibEmph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+FUNCTION {bbl.edby} % { "\bbledby{}" }
+{ curlanguage "english" =
+ {"Ed. by "}
+ { curlanguage "ukrainian" =
+ {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ { curlanguage "russian" =
+ {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ {"language is not defined: " language "edited by" * * warning$ "edited by"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.cmplr}
+{ curlanguage "english" =
+ {"Compiler "}
+ { curlanguage "ukrainian" =
+ {"{\cyr\CYRU\cyrk\cyrl.\ }"}
+ { curlanguage "russian" =
+ {"{\cyr\CYRS\cyro\cyrs\cyrt.\ }"}
+ {"language is not defined: " language "compiler" * * warning$ "compiler"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.edition} % { "\bbledition{}" }
+{ curlanguage "english" =
+ {"edition"}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrv\cyri\cyrd.}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri\cyrz\cyrd.}"}
+ {"language is not defined: " language "edition" * * warning$ "edition"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+{ curlanguage "english" =
+ {"Volume"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRT\cyro\cyrm"}
+ {"language is not defined: " language "Volume" * * warning$ "Volume"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvol} % { "\bblVol{}" }
+{ curlanguage "english" =
+ {"Vol."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRT."}
+ {"language is not defined: " language "Vol." * * warning$ "Vol."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+{ curlanguage "english" =
+ {"Issue"}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"}
+ { curlanguage "russian" =
+ {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iiss} % { "\bblIss{}" }
+{ curlanguage "english" =
+ {"Iss."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyri\cyrp."}
+ { curlanguage "russian" =
+ {"\CYRV\cyrery\cyrp."}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.of} % { "\bblof{}" }
+{ curlanguage "english" =
+ {"of"}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrii\cyrz}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri\cyrz}"}
+ {"language is not defined: " language "of" * * warning$ "of"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.etal} % { "\bblof{}" }
+{ curlanguage "english" =
+ {"et~al."}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri~\cyrd\cyrr.}"}
+ {"language is not defined: " language "at al" * * warning$ "at al."}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+{ curlanguage "english" =
+ {"Number"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRN\cyro\cyrm\cyre\cyrr"}
+ {"language is not defined: " language "Number" * * warning$ "Number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.number} % { "\bblnumber{}" }
+{ curlanguage "english" =
+ {"number"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
+ {"language is not defined: " language "number" * * warning$ "number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nr} % { "\bblno{}" }
+{ curlanguage "english" =
+ {"no."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "no." * * warning$ "no."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnr} % { "\bblno{}" }
+{ curlanguage "english" =
+ {"No."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "No." * * warning$ "No."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.in} % { "\bblin{}" }
+{ curlanguage "english" =
+ {"in"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrv}"}
+ {"language is not defined: " language "in" * * warning$ "in"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iin} % { "\bblIn{}" }
+{ curlanguage "english" =
+ {"In"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRV"}
+ {"language is not defined: " language "In" * * warning$ "In"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.pages} % { "\bblpp." }
+{ curlanguage "english" =
+ {"pp."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "pp." * * warning$ "pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.page} % { "\bblp."
+{ curlanguage "english" =
+ {"p."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "p." * * warning$ "p."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppages}% { "\bblPp." }
+{ curlanguage "english" =
+ {"Pp."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "Pp." * * warning$ "Pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppage} % { "\bblP." }
+{ curlanguage "english" =
+ {"P."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "P." * * warning$ "P."}
+ if$}
+ if$
+}
+
+
+FUNCTION {bbl.techrep} { "Tech. Rep." }
+FUNCTION {bbl.mthesis} { "Master's thesis" }
+FUNCTION {bbl.phdthesis} { "Ph.D. thesis" }
+
+INTEGERS { nameptr namesleft numnames }
+
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~f.}" format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #4 =
+ numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ t "~others" =
+ or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.names.rev}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.}{~vv}{~ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #4 =
+ numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ t "~others" =
+ or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names emphasize}
+ if$
+}
+
+FUNCTION {format.bookauthors}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names}
+ if$
+}
+
+FUNCTION {format.authors.after}
+{ author empty$
+ { "" }
+ { author format.names.rev}
+ if$
+}
+
+FUNCTION {format.bookauthors.after}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names.rev}
+ if$
+}
+
+FUNCTION {format.editors.after}
+{ editor empty$
+ { "" }
+ { bbl.edby editor format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.compiler.after}
+{ compiler empty$
+ { "" }
+ { bbl.cmplr compiler format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { year ". " quote$ "--- " month * * * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.address.publisher.date}
+{
+ address empty$
+ 'skip$
+ { address output
+ publisher empty$
+ 'skip$
+ { new.column
+ }
+ if$
+ }
+ if$
+ publisher output
+ format.date output
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ language empty$
+ {"english" 'curlanguage :=}
+ {language 'curlanguage :=}
+ if$
+ "\selectlanguageifdefined{" write$
+ curlanguage write$
+ "}" write$ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.iin
+ " " * }
+
+FUNCTION {format.btitle}
+{ title
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {tie.connect}
+ {"~"
+ swap$ * *
+ }
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$
+ bbl.nnr }
+ {
+ %new.dblslash
+ new.sentence
+ series
+ bbl.nr
+ tie.or.space.connect}
+ if$
+ number tie.or.space.connect
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+
+FUNCTION {convert.edition}
+{ edition
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.ppages pages n.dashify tie.connect }
+ { bbl.ppage pages tie.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.page}
+{ pages empty$
+ { numpages empty$
+ { "" }
+ { numpages bbl.pages tie.connect }
+ if$}
+ { format.pages}
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ ", no." number tie.or.space.connect *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ": " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { bbl.nr number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {author.before}
+{
+ author empty$
+ 'skip$
+ {author num.names$ #4 <
+ {format.authors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+FUNCTION {bookauthor.before}
+{
+ bookauthor empty$
+ 'skip$
+ {bookauthor num.names$ #4 <
+ {format.bookauthors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+
+FUNCTION {author.after}
+{
+ author empty$
+ 'skip$
+ {author num.names$ #3 >
+ {format.authors.after output
+ new.semicolumn }
+ 'skip$
+ if$}
+ if$
+}
+FUNCTION {bookauthor.after}
+{
+ bookauthor empty$
+ 'skip$
+ {bookauthor num.names$ #3 >
+ {format.bookauthors.after output
+ new.semicolumn }
+ 'skip$
+ if$}
+ if$
+}
+
+FUNCTION {editor.organization.after}
+{
+ compiler empty$
+ {}
+ { format.compiler.after output
+ new.semicolumn
+ }
+ if$
+ editor empty$
+ {}
+ { format.editors.after output
+ new.semicolumn
+ }
+ if$
+ organization empty$
+ {}
+ {organization output
+ new.semicolumn
+ }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { after.sentence 'output.state :=
+ "\BibUrl{ " url * "}" *
+ }
+ if$
+}
+
+FUNCTION {format.annote}
+{ annote empty$
+ { "" }
+{ after.sentence 'output.state :=
+ "\BibAnnote{" annote add.period$ * "}" *
+}
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ journal emphasize "journal" output.check
+ new.block
+ format.date output
+ new.block
+ format.volume output
+ format.number output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.sentence
+ format.number.series output
+ new.block
+ format.edition output
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ bookauthor.before
+ booktitle "booktitle" output.check
+ new.slash
+ bookauthor.after
+ editor.organization.after
+ new.block
+ format.edition output
+ new.block
+ format.number.series output
+ new.sentence
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ new.column
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ new.block
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.sentence.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.sentence
+ format.btitle "title" output.check
+ new.column
+ bbl.phdthesis format.thesis.type output.nonnull
+ new.slash
+ school "school" output.check
+ new.block
+ output.address.publisher.date
+ new.block
+ format.pages.page output
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.btitle "title" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.column
+ format.tr.number output.nonnull
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ address output
+ new.column
+ institution "institution" output.check
+ format.date "year" output.check
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ note "note" output.check
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\bbljan{}"}
+
+MACRO {feb} {"\bblfeb{}"}
+
+MACRO {mar} {"\bblmar{}"}
+
+MACRO {apr} {"\bblapr{}"}
+
+MACRO {may} {"\bblmay{}"}
+
+MACRO {jun} {"\bbljun{}"}
+
+MACRO {jul} {"\bbljul{}"}
+
+MACRO {aug} {"\bblaug{}"}
+
+MACRO {sep} {"\bblsep{}"}
+
+MACRO {oct} {"\bbloct{}"}
+
+MACRO {nov} {"\bblnov{}"}
+
+MACRO {dec} {"\bbldec{}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ {
+ author num.names$ #4 <
+ {author sort.format.names }
+ {title sort.format.title}
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.title.sort}
+{ author empty$
+ { title empty$
+ { key empty$
+ { "to sort, need author, title, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { title sort.format.title }
+ if$
+ }
+ {
+ author num.names$ #4 <
+ {author sort.format.names }
+ {title sort.format.title}
+ if$
+ }
+ if$
+}
+
+FUNCTION {presort}
+{
+ author.title.sort
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ "\def\selectlanguageifdefined#1{" write$ newline$
+ "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$
+ "\else\language\csname l@#1\endcsname\fi}" write$ newline$
+ "\ifx\undefined\url\def\url#1{{\small #1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibUrl\def\BibUrl#1{\url{#1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibAnnote\long\def\BibAnnote#1{}\else\fi" write$ newline$
+ "\ifx\undefined\BibEmph\def\BibEmph#1{\emph{#1}}\else\fi" write$ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%%
+%% End of file `gost71s.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost71u.bst b/Master/texmf-dist/bibtex/bst/gost/gost71u.bst
new file mode 100644
index 00000000000..1db7879e1e8
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gost/gost71u.bst
@@ -0,0 +1,1465 @@
+%%
+%% This is file `gost71u.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gost.dtx (with options: `gost71u')
+%%
+%% Copyright 1996-2005 Maksym Polyakov.
+%% Version 2005.08.12
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% Please, send bug reports via e-mail:
+%% polyama at auburn dot edu
+%%
+%% 2005.08.12 Bug fix (long annote)
+%%
+%% 2003.06.06 contributions by Konstantin Vorontsov:
+%% New ENTRY "annote" added for output annotations.
+%% New commands BibUrl, BibAnnote added for customize urls and annotations.
+%%
+%% 2003.08.10
+%% New command BibEmph added for customize emphasizing.
+%%
+%% 2003.10.07
+%% Some bug fixes in names and date formatting.
+%%
+%% 2003.10.07
+%% Bug fix in INPROCEEDINGS.
+%%
+%%
+%% This bibliography style attempts
+%% to format bibliography according to
+%% GOST 7.1-84 vd970321
+%%
+%% For the Ukrainian|Russian bibliographic entries
+%% you need to create field
+%% language = {ukrainian|russian}.
+%% Default language is English.
+%% Field numpages for books must contain number of pages.
+%% Optional field url will format url (using hyperref, if loaded).
+%%
+%% See examples in gost71.pdf and gost780.pdf
+%%
+%% Requires 8-bit bibtex with switch -B and csf file supporting cyrillic.
+%% bibtex8 -B -c <encoding>.csf <your_document>
+%%
+
+ENTRY
+ { address
+ annote
+ author
+ booktitle
+ bookauthor
+ chapter
+ edition
+ editor
+ compiler
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ numpages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ language
+ booklanguage
+ url
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+after.dblslash after.slash after.column after.semicolumn}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.dblslash :=
+ #5 'after.slash :=
+ #6 'after.column :=
+ #7 'after.semicolumn :=
+}
+
+STRINGS { s t }
+
+STRINGS { curlanguage }
+
+FUNCTION {change.language}
+{ booklanguage empty$
+ {""}
+ {booklanguage 'curlanguage :=
+ "\selectlanguageifdefined{"
+ curlanguage *
+ "}" *
+ }
+ if$
+}
+
+FUNCTION {output.nonnull}
+%%%{ 's :=
+{ swap$
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ " " quote$ "--- " * * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.dblslash =
+ { "~//" * change.language * " " * write$ }
+ { output.state after.slash =
+ { "~/ " * write$ }
+ { output.state after.column =
+ { ": " * write$ }
+ { output.state after.semicolumn =
+ { "; " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+%%% s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.dblslash}
+{ output.state before.all =
+ 'skip$
+ { after.dblslash 'output.state := }
+ if$
+}
+
+FUNCTION {new.slash}
+{ output.state before.all =
+ 'skip$
+ { after.slash 'output.state := }
+ if$
+}
+
+FUNCTION {new.column}
+{ output.state before.all =
+ 'skip$
+ { after.column 'output.state := }
+ if$
+}
+
+FUNCTION {new.semicolumn}
+{ output.state before.all =
+ 'skip$
+ { after.semicolumn 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\BibEmph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+FUNCTION {bbl.edby} % { "\bbledby{}" }
+{ curlanguage "english" =
+ {"Ed. by "}
+ { curlanguage "ukrainian" =
+ {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ { curlanguage "russian" =
+ {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ {"language is not defined: " language "edited by" * * warning$ "edited by"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.cmplr}
+{ curlanguage "english" =
+ {"Compiler "}
+ { curlanguage "ukrainian" =
+ {"{\cyr\CYRU\cyrk\cyrl.\ }"}
+ { curlanguage "russian" =
+ {"{\cyr\CYRS\cyro\cyrs\cyrt.\ }"}
+ {"language is not defined: " language "compiler" * * warning$ "compiler"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.edition} % { "\bbledition{}" }
+{ curlanguage "english" =
+ {"edition"}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrv\cyri\cyrd.}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri\cyrz\cyrd.}"}
+ {"language is not defined: " language "edition" * * warning$ "edition"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+{ curlanguage "english" =
+ {"Volume"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRT\cyro\cyrm"}
+ {"language is not defined: " language "Volume" * * warning$ "Volume"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvol} % { "\bblVol{}" }
+{ curlanguage "english" =
+ {"Vol."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRT."}
+ {"language is not defined: " language "Vol." * * warning$ "Vol."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+{ curlanguage "english" =
+ {"Issue"}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"}
+ { curlanguage "russian" =
+ {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iiss} % { "\bblIss{}" }
+{ curlanguage "english" =
+ {"Iss."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyri\cyrp."}
+ { curlanguage "russian" =
+ {"\CYRV\cyrery\cyrp."}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.of} % { "\bblof{}" }
+{ curlanguage "english" =
+ {"of"}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrii\cyrz}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri\cyrz}"}
+ {"language is not defined: " language "of" * * warning$ "of"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.etal} % { "\bblof{}" }
+{ curlanguage "english" =
+ {"et~al."}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri~\cyrd\cyrr.}"}
+ {"language is not defined: " language "at al" * * warning$ "at al."}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+{ curlanguage "english" =
+ {"Number"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRN\cyro\cyrm\cyre\cyrr"}
+ {"language is not defined: " language "Number" * * warning$ "Number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.number} % { "\bblnumber{}" }
+{ curlanguage "english" =
+ {"number"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
+ {"language is not defined: " language "number" * * warning$ "number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nr} % { "\bblno{}" }
+{ curlanguage "english" =
+ {"no."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "no." * * warning$ "no."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnr} % { "\bblno{}" }
+{ curlanguage "english" =
+ {"No."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "No." * * warning$ "No."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.in} % { "\bblin{}" }
+{ curlanguage "english" =
+ {"in"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrv}"}
+ {"language is not defined: " language "in" * * warning$ "in"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iin} % { "\bblIn{}" }
+{ curlanguage "english" =
+ {"In"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRV"}
+ {"language is not defined: " language "In" * * warning$ "In"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.pages} % { "\bblpp." }
+{ curlanguage "english" =
+ {"pp."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "pp." * * warning$ "pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.page} % { "\bblp."
+{ curlanguage "english" =
+ {"p."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "p." * * warning$ "p."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppages}% { "\bblPp." }
+{ curlanguage "english" =
+ {"Pp."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "Pp." * * warning$ "Pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppage} % { "\bblP." }
+{ curlanguage "english" =
+ {"P."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "P." * * warning$ "P."}
+ if$}
+ if$
+}
+
+
+FUNCTION {bbl.techrep} { "Tech. Rep." }
+FUNCTION {bbl.mthesis} { "Master's thesis" }
+FUNCTION {bbl.phdthesis} { "Ph.D. thesis" }
+
+INTEGERS { nameptr namesleft numnames }
+
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{~jj}{~f.}" format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #4 =
+ numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ t "~others" =
+ or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {format.names.rev}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.}{~vv}{~ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #4 =
+ numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ t "~others" =
+ or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names emphasize}
+ if$
+}
+
+FUNCTION {format.bookauthors}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names}
+ if$
+}
+
+FUNCTION {format.authors.after}
+{ author empty$
+ { "" }
+ { author format.names.rev}
+ if$
+}
+
+FUNCTION {format.bookauthors.after}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names.rev}
+ if$
+}
+
+FUNCTION {format.editors.after}
+{ editor empty$
+ { "" }
+ { bbl.edby editor format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.compiler.after}
+{ compiler empty$
+ { "" }
+ { bbl.cmplr compiler format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { year ". " quote$ "--- " month * * * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.address.publisher.date}
+{
+ address empty$
+ 'skip$
+ { address output
+ publisher empty$
+ 'skip$
+ { new.column
+ }
+ if$
+ }
+ if$
+ publisher output
+ format.date output
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ language empty$
+ {"english" 'curlanguage :=}
+ {language 'curlanguage :=}
+ if$
+ "\selectlanguageifdefined{" write$
+ curlanguage write$
+ "}" write$ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.iin
+ " " * }
+
+FUNCTION {format.btitle}
+{ title
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {tie.connect}
+ {"~"
+ swap$ * *
+ }
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$
+ bbl.nnr }
+ {
+ %new.dblslash
+ new.sentence
+ series
+ bbl.nr
+ tie.or.space.connect}
+ if$
+ number tie.or.space.connect
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+
+FUNCTION {convert.edition}
+{ edition
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.ppages pages n.dashify tie.connect }
+ { bbl.ppage pages tie.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.page}
+{ pages empty$
+ { numpages empty$
+ { "" }
+ { numpages bbl.pages tie.connect }
+ if$}
+ { format.pages}
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ ", no." number tie.or.space.connect *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ": " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { bbl.nr number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {author.before}
+{
+ author empty$
+ 'skip$
+ {author num.names$ #4 <
+ {format.authors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+FUNCTION {bookauthor.before}
+{
+ bookauthor empty$
+ 'skip$
+ {bookauthor num.names$ #4 <
+ {format.bookauthors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+
+FUNCTION {author.after}
+{
+ author empty$
+ 'skip$
+ {author num.names$ #3 >
+ {format.authors.after output
+ new.semicolumn }
+ 'skip$
+ if$}
+ if$
+}
+FUNCTION {bookauthor.after}
+{
+ bookauthor empty$
+ 'skip$
+ {bookauthor num.names$ #3 >
+ {format.bookauthors.after output
+ new.semicolumn }
+ 'skip$
+ if$}
+ if$
+}
+
+FUNCTION {editor.organization.after}
+{
+ compiler empty$
+ {}
+ { format.compiler.after output
+ new.semicolumn
+ }
+ if$
+ editor empty$
+ {}
+ { format.editors.after output
+ new.semicolumn
+ }
+ if$
+ organization empty$
+ {}
+ {organization output
+ new.semicolumn
+ }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { after.sentence 'output.state :=
+ "\BibUrl{ " url * "}" *
+ }
+ if$
+}
+
+FUNCTION {format.annote}
+{ annote empty$
+ { "" }
+{ after.sentence 'output.state :=
+ "\BibAnnote{" annote add.period$ * "}" *
+}
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ journal emphasize "journal" output.check
+ new.block
+ format.date output
+ new.block
+ format.volume output
+ format.number output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.sentence
+ format.number.series output
+ new.block
+ format.edition output
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ bookauthor.before
+ booktitle "booktitle" output.check
+ new.slash
+ bookauthor.after
+ editor.organization.after
+ new.block
+ format.edition output
+ new.block
+ format.number.series output
+ new.sentence
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ new.column
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ new.block
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.sentence.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.sentence
+ format.btitle "title" output.check
+ new.column
+ bbl.phdthesis format.thesis.type output.nonnull
+ new.slash
+ school "school" output.check
+ new.block
+ output.address.publisher.date
+ new.block
+ format.pages.page output
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.btitle "title" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.column
+ format.tr.number output.nonnull
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ address output
+ new.column
+ institution "institution" output.check
+ format.date "year" output.check
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ note "note" output.check
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\bbljan{}"}
+
+MACRO {feb} {"\bblfeb{}"}
+
+MACRO {mar} {"\bblmar{}"}
+
+MACRO {apr} {"\bblapr{}"}
+
+MACRO {may} {"\bblmay{}"}
+
+MACRO {jun} {"\bbljun{}"}
+
+MACRO {jul} {"\bbljul{}"}
+
+MACRO {aug} {"\bblaug{}"}
+
+MACRO {sep} {"\bblsep{}"}
+
+MACRO {oct} {"\bbloct{}"}
+
+MACRO {nov} {"\bblnov{}"}
+
+MACRO {dec} {"\bbldec{}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ "\def\selectlanguageifdefined#1{" write$ newline$
+ "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$
+ "\else\language\csname l@#1\endcsname\fi}" write$ newline$
+ "\ifx\undefined\url\def\url#1{{\small #1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibUrl\def\BibUrl#1{\url{#1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibAnnote\long\def\BibAnnote#1{}\else\fi" write$ newline$
+ "\ifx\undefined\BibEmph\def\BibEmph#1{\emph{#1}}\else\fi" write$ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%%
+%% End of file `gost71u.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost780s.bst b/Master/texmf-dist/bibtex/bst/gost/gost780s.bst
new file mode 100644
index 00000000000..9313731c324
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gost/gost780s.bst
@@ -0,0 +1,1540 @@
+%%
+%% This is file `gost780s.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gost.dtx (with options: `gost780s')
+%%
+%% Copyright 1996-2005 Maksym Polyakov.
+%% Version 2005.08.12
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% Please, send bug reports via e-mail:
+%% polyama at auburn dot edu
+%%
+%% 2005.08.12 Bug fix (long annote)
+%%
+%% 2003.06.06 contributions by Konstantin Vorontsov:
+%% New ENTRY "annote" added for output annotations.
+%% New commands BibUrl, BibAnnote added for customize urls and annotations.
+%%
+%% 2003.08.10
+%% New command BibEmph added for customize emphasizing.
+%%
+%% 2003.10.07
+%% Some bug fixes in names and date formatting.
+%%
+%% 2003.10.07
+%% Bug fix in INPROCEEDINGS.
+%%
+%%
+%% This bibliography style attempts
+%% to format bibliography according to
+%% GOST 7.1-84 and GOST 7.80-00
+%%
+%% For the Ukrainian|Russian bibliographic entries
+%% you need to create field
+%% language = {ukrainian|russian}.
+%% Default language is English.
+%% Field numpages for books must contain number of pages.
+%% Optional field url will format url (using hyperref, if loaded).
+%%
+%% See examples in gost71.pdf and gost780.pdf
+%%
+%% Requires 8-bit bibtex with switch -B and csf file supporting cyrillic.
+%% bibtex8 -B -c <encoding>.csf <your_document>
+%%
+
+ENTRY
+ { address
+ annote
+ author
+ booktitle
+ bookauthor
+ chapter
+ edition
+ editor
+ compiler
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ numpages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ language
+ booklanguage
+ url
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+after.dblslash after.slash after.column after.semicolumn}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.dblslash :=
+ #5 'after.slash :=
+ #6 'after.column :=
+ #7 'after.semicolumn :=
+}
+
+STRINGS { s t }
+
+STRINGS { curlanguage }
+
+FUNCTION {change.language}
+{ booklanguage empty$
+ {""}
+ {booklanguage 'curlanguage :=
+ "\selectlanguageifdefined{"
+ curlanguage *
+ "}" *
+ }
+ if$
+}
+
+FUNCTION {output.nonnull}
+%%%{ 's :=
+{ swap$
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ " " quote$ "--- " * * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.dblslash =
+ { "~//" * change.language * " " * write$ }
+ { output.state after.slash =
+ { "~/ " * write$ }
+ { output.state after.column =
+ { ": " * write$ }
+ { output.state after.semicolumn =
+ { "; " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+%%% s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.dblslash}
+{ output.state before.all =
+ 'skip$
+ { after.dblslash 'output.state := }
+ if$
+}
+
+FUNCTION {new.slash}
+{ output.state before.all =
+ 'skip$
+ { after.slash 'output.state := }
+ if$
+}
+
+FUNCTION {new.column}
+{ output.state before.all =
+ 'skip$
+ { after.column 'output.state := }
+ if$
+}
+
+FUNCTION {new.semicolumn}
+{ output.state before.all =
+ 'skip$
+ { after.semicolumn 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\BibEmph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+FUNCTION {bbl.edby} % { "\bbledby{}" }
+{ curlanguage "english" =
+ {"Ed. by "}
+ { curlanguage "ukrainian" =
+ {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ { curlanguage "russian" =
+ {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ {"language is not defined: " language "edited by" * * warning$ "edited by"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.cmplr}
+{ curlanguage "english" =
+ {"Compiler "}
+ { curlanguage "ukrainian" =
+ {"{\cyr\CYRU\cyrk\cyrl.\ }"}
+ { curlanguage "russian" =
+ {"{\cyr\CYRS\cyro\cyrs\cyrt.\ }"}
+ {"language is not defined: " language "compiler" * * warning$ "compiler"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.edition} % { "\bbledition{}" }
+{ curlanguage "english" =
+ {"edition"}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrv\cyri\cyrd.}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri\cyrz\cyrd.}"}
+ {"language is not defined: " language "edition" * * warning$ "edition"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+{ curlanguage "english" =
+ {"Volume"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRT\cyro\cyrm"}
+ {"language is not defined: " language "Volume" * * warning$ "Volume"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvol} % { "\bblVol{}" }
+{ curlanguage "english" =
+ {"Vol."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRT."}
+ {"language is not defined: " language "Vol." * * warning$ "Vol."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+{ curlanguage "english" =
+ {"Issue"}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"}
+ { curlanguage "russian" =
+ {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iiss} % { "\bblIss{}" }
+{ curlanguage "english" =
+ {"Iss."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyri\cyrp."}
+ { curlanguage "russian" =
+ {"\CYRV\cyrery\cyrp."}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.of} % { "\bblof{}" }
+{ curlanguage "english" =
+ {"of"}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrii\cyrz}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri\cyrz}"}
+ {"language is not defined: " language "of" * * warning$ "of"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.etal} % { "\bblof{}" }
+{ curlanguage "english" =
+ {"et~al."}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri~\cyrd\cyrr.}"}
+ {"language is not defined: " language "at al" * * warning$ "at al."}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+{ curlanguage "english" =
+ {"Number"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRN\cyro\cyrm\cyre\cyrr"}
+ {"language is not defined: " language "Number" * * warning$ "Number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.number} % { "\bblnumber{}" }
+{ curlanguage "english" =
+ {"number"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
+ {"language is not defined: " language "number" * * warning$ "number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nr} % { "\bblno{}" }
+{ curlanguage "english" =
+ {"no."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "no." * * warning$ "no."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnr} % { "\bblno{}" }
+{ curlanguage "english" =
+ {"No."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "No." * * warning$ "No."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.in} % { "\bblin{}" }
+{ curlanguage "english" =
+ {"in"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrv}"}
+ {"language is not defined: " language "in" * * warning$ "in"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iin} % { "\bblIn{}" }
+{ curlanguage "english" =
+ {"In"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRV"}
+ {"language is not defined: " language "In" * * warning$ "In"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.pages} % { "\bblpp." }
+{ curlanguage "english" =
+ {"pp."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "pp." * * warning$ "pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.page} % { "\bblp."
+{ curlanguage "english" =
+ {"p."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "p." * * warning$ "p."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppages}% { "\bblPp." }
+{ curlanguage "english" =
+ {"Pp."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "Pp." * * warning$ "Pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppage} % { "\bblP." }
+{ curlanguage "english" =
+ {"P."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "P." * * warning$ "P."}
+ if$}
+ if$
+}
+
+
+FUNCTION {bbl.techrep} { "Tech. Rep." }
+FUNCTION {bbl.mthesis} { "Master's thesis" }
+FUNCTION {bbl.phdthesis} { "Ph.D. thesis" }
+
+INTEGERS { nameptr namesleft numnames }
+
+
+FUNCTION {format.names}
+{
+ #1 "{vv~}{ll}{~jj}{,~f.}" format.name$
+}
+
+
+FUNCTION {format.names.rev}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.}{~vv}{~ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #4 =
+ numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ t "~others" =
+ or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names emphasize}
+ if$
+}
+
+FUNCTION {format.bookauthors}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names}
+ if$
+}
+
+FUNCTION {format.authors.after}
+{ author empty$
+ { "" }
+ { author format.names.rev}
+ if$
+}
+
+FUNCTION {format.bookauthors.after}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names.rev}
+ if$
+}
+
+FUNCTION {format.editors.after}
+{ editor empty$
+ { "" }
+ { bbl.edby editor format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.compiler.after}
+{ compiler empty$
+ { "" }
+ { bbl.cmplr compiler format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { year ". " quote$ "--- " month * * * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.address.publisher.date}
+{
+ address empty$
+ 'skip$
+ { address output
+ publisher empty$
+ 'skip$
+ { new.column
+ }
+ if$
+ }
+ if$
+ publisher output
+ format.date output
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ language empty$
+ {"english" 'curlanguage :=}
+ {language 'curlanguage :=}
+ if$
+ "\selectlanguageifdefined{" write$
+ curlanguage write$
+ "}" write$ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.iin
+ " " * }
+
+FUNCTION {format.btitle}
+{ title
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {tie.connect}
+ {"~"
+ swap$ * *
+ }
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$
+ bbl.nnr }
+ {
+ %new.dblslash
+ new.sentence
+ series
+ bbl.nr
+ tie.or.space.connect}
+ if$
+ number tie.or.space.connect
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+
+FUNCTION {convert.edition}
+{ edition
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.ppages pages n.dashify tie.connect }
+ { bbl.ppage pages tie.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.page}
+{ pages empty$
+ { numpages empty$
+ { "" }
+ { numpages bbl.pages tie.connect }
+ if$}
+ { format.pages}
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ ", no." number tie.or.space.connect *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ": " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { bbl.nr number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {author.before}
+{
+ author empty$
+ 'skip$
+ {author num.names$ #4 <
+ {format.authors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+FUNCTION {bookauthor.before}
+{
+ bookauthor empty$
+ 'skip$
+ {bookauthor num.names$ #4 <
+ {format.bookauthors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+
+FUNCTION {author.after}
+{
+ author empty$
+ 'skip$
+ {format.authors.after output
+ new.semicolumn }
+ if$
+}
+FUNCTION {bookauthor.after}
+{
+ bookauthor empty$
+ 'skip$
+ {format.bookauthors.after output
+ new.semicolumn }
+ if$
+}
+
+FUNCTION {editor.organization.after}
+{
+ compiler empty$
+ {}
+ { format.compiler.after output
+ new.semicolumn
+ }
+ if$
+ editor empty$
+ {}
+ { format.editors.after output
+ new.semicolumn
+ }
+ if$
+ organization empty$
+ {}
+ {organization output
+ new.semicolumn
+ }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { after.sentence 'output.state :=
+ "\BibUrl{ " url * "}" *
+ }
+ if$
+}
+
+FUNCTION {format.annote}
+{ annote empty$
+ { "" }
+{ after.sentence 'output.state :=
+ "\BibAnnote{" annote add.period$ * "}" *
+}
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ journal emphasize "journal" output.check
+ new.block
+ format.date output
+ new.block
+ format.volume output
+ format.number output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.sentence
+ format.number.series output
+ new.block
+ format.edition output
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ bookauthor.before
+ booktitle "booktitle" output.check
+ new.slash
+ bookauthor.after
+ editor.organization.after
+ new.block
+ format.edition output
+ new.block
+ format.number.series output
+ new.sentence
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ new.column
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ new.block
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.sentence.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.sentence
+ format.btitle "title" output.check
+ new.column
+ bbl.phdthesis format.thesis.type output.nonnull
+ new.slash
+ school "school" output.check
+ new.block
+ output.address.publisher.date
+ new.block
+ format.pages.page output
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.btitle "title" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.column
+ format.tr.number output.nonnull
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ address output
+ new.column
+ institution "institution" output.check
+ format.date "year" output.check
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ note "note" output.check
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\bbljan{}"}
+
+MACRO {feb} {"\bblfeb{}"}
+
+MACRO {mar} {"\bblmar{}"}
+
+MACRO {apr} {"\bblapr{}"}
+
+MACRO {may} {"\bblmay{}"}
+
+MACRO {jun} {"\bbljun{}"}
+
+MACRO {jul} {"\bbljul{}"}
+
+MACRO {aug} {"\bblaug{}"}
+
+MACRO {sep} {"\bblsep{}"}
+
+MACRO {oct} {"\bbloct{}"}
+
+MACRO {nov} {"\bblnov{}"}
+
+MACRO {dec} {"\bbldec{}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ {
+ author num.names$ #4 <
+ {author sort.format.names }
+ {title sort.format.title}
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.title.sort}
+{ author empty$
+ { title empty$
+ { key empty$
+ { "to sort, need author, title, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { title sort.format.title }
+ if$
+ }
+ {
+ author num.names$ #4 <
+ {author sort.format.names }
+ {title sort.format.title}
+ if$
+ }
+ if$
+}
+
+FUNCTION {presort}
+{
+ author.title.sort
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ "\def\selectlanguageifdefined#1{" write$ newline$
+ "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$
+ "\else\language\csname l@#1\endcsname\fi}" write$ newline$
+ "\ifx\undefined\url\def\url#1{{\small #1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibUrl\def\BibUrl#1{\url{#1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibAnnote\long\def\BibAnnote#1{}\else\fi" write$ newline$
+ "\ifx\undefined\BibEmph\def\BibEmph#1{\emph{#1}}\else\fi" write$ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%%
+%% End of file `gost780s.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gost/gost780u.bst b/Master/texmf-dist/bibtex/bst/gost/gost780u.bst
new file mode 100644
index 00000000000..c31165dea31
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gost/gost780u.bst
@@ -0,0 +1,1428 @@
+%%
+%% This is file `gost780u.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% gost.dtx (with options: `gost780u')
+%%
+%% Copyright 1996-2005 Maksym Polyakov.
+%% Version 2005.08.12
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% Please, send bug reports via e-mail:
+%% polyama at auburn dot edu
+%%
+%% 2005.08.12 Bug fix (long annote)
+%%
+%% 2003.06.06 contributions by Konstantin Vorontsov:
+%% New ENTRY "annote" added for output annotations.
+%% New commands BibUrl, BibAnnote added for customize urls and annotations.
+%%
+%% 2003.08.10
+%% New command BibEmph added for customize emphasizing.
+%%
+%% 2003.10.07
+%% Some bug fixes in names and date formatting.
+%%
+%% 2003.10.07
+%% Bug fix in INPROCEEDINGS.
+%%
+%%
+%% This bibliography style attempts
+%% to format bibliography according to
+%% GOST 7.1-84 and GOST 7.80-00
+%%
+%% For the Ukrainian|Russian bibliographic entries
+%% you need to create field
+%% language = {ukrainian|russian}.
+%% Default language is English.
+%% Field numpages for books must contain number of pages.
+%% Optional field url will format url (using hyperref, if loaded).
+%%
+%% See examples in gost71.pdf and gost780.pdf
+%%
+%% Requires 8-bit bibtex with switch -B and csf file supporting cyrillic.
+%% bibtex8 -B -c <encoding>.csf <your_document>
+%%
+
+ENTRY
+ { address
+ annote
+ author
+ booktitle
+ bookauthor
+ chapter
+ edition
+ editor
+ compiler
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ numpages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ language
+ booklanguage
+ url
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+after.dblslash after.slash after.column after.semicolumn}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.dblslash :=
+ #5 'after.slash :=
+ #6 'after.column :=
+ #7 'after.semicolumn :=
+}
+
+STRINGS { s t }
+
+STRINGS { curlanguage }
+
+FUNCTION {change.language}
+{ booklanguage empty$
+ {""}
+ {booklanguage 'curlanguage :=
+ "\selectlanguageifdefined{"
+ curlanguage *
+ "}" *
+ }
+ if$
+}
+
+FUNCTION {output.nonnull}
+%%%{ 's :=
+{ swap$
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ " " quote$ "--- " * * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.dblslash =
+ { "~//" * change.language * " " * write$ }
+ { output.state after.slash =
+ { "~/ " * write$ }
+ { output.state after.column =
+ { ": " * write$ }
+ { output.state after.semicolumn =
+ { "; " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+%%% s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.dblslash}
+{ output.state before.all =
+ 'skip$
+ { after.dblslash 'output.state := }
+ if$
+}
+
+FUNCTION {new.slash}
+{ output.state before.all =
+ 'skip$
+ { after.slash 'output.state := }
+ if$
+}
+
+FUNCTION {new.column}
+{ output.state before.all =
+ 'skip$
+ { after.column 'output.state := }
+ if$
+}
+
+FUNCTION {new.semicolumn}
+{ output.state before.all =
+ 'skip$
+ { after.semicolumn 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\BibEmph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+FUNCTION {bbl.edby} % { "\bbledby{}" }
+{ curlanguage "english" =
+ {"Ed. by "}
+ { curlanguage "ukrainian" =
+ {"{\cyr\CYRP\cyrii\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ { curlanguage "russian" =
+ {"{\cyr\CYRP\cyro\cyrd\ \cyrr\cyre\cyrd.\ }"}
+ {"language is not defined: " language "edited by" * * warning$ "edited by"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.cmplr}
+{ curlanguage "english" =
+ {"Compiler "}
+ { curlanguage "ukrainian" =
+ {"{\cyr\CYRU\cyrk\cyrl.\ }"}
+ { curlanguage "russian" =
+ {"{\cyr\CYRS\cyro\cyrs\cyrt.\ }"}
+ {"language is not defined: " language "compiler" * * warning$ "compiler"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.edition} % { "\bbledition{}" }
+{ curlanguage "english" =
+ {"edition"}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrv\cyri\cyrd.}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri\cyrz\cyrd.}"}
+ {"language is not defined: " language "edition" * * warning$ "edition"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvolume} % { "\bblVolume{}" }
+{ curlanguage "english" =
+ {"Volume"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRT\cyro\cyrm"}
+ {"language is not defined: " language "Volume" * * warning$ "Volume"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.vvol} % { "\bblVol{}" }
+{ curlanguage "english" =
+ {"Vol."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRT."}
+ {"language is not defined: " language "Vol." * * warning$ "Vol."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iissue} % { "\bblIssue{}" }
+{ curlanguage "english" =
+ {"Issue"}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyri\cyrp\cyru\cyrs\cyrk"}
+ { curlanguage "russian" =
+ {"\CYRV\cyrery\cyrp\cyru\cyrs\cyrk"}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iiss} % { "\bblIss{}" }
+{ curlanguage "english" =
+ {"Iss."}
+ { curlanguage "ukrainian" =
+ {"\CYRV\cyri\cyrp."}
+ { curlanguage "russian" =
+ {"\CYRV\cyrery\cyrp."}
+ {"language is not defined: " language * warning$ "Issue"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.of} % { "\bblof{}" }
+{ curlanguage "english" =
+ {"of"}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrii\cyrz}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri\cyrz}"}
+ {"language is not defined: " language "of" * * warning$ "of"}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.etal} % { "\bblof{}" }
+{ curlanguage "english" =
+ {"et~al."}
+ { curlanguage "ukrainian" =
+ {"{\cyr\cyrt\cyra~\cyrii\cyrn.}"}
+ { curlanguage "russian" =
+ {"{\cyr\cyri~\cyrd\cyrr.}"}
+ {"language is not defined: " language "at al" * * warning$ "at al."}
+ if$}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnumber} % { "\bblNumber{}" }
+{ curlanguage "english" =
+ {"Number"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRN\cyro\cyrm\cyre\cyrr"}
+ {"language is not defined: " language "Number" * * warning$ "Number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.number} % { "\bblnumber{}" }
+{ curlanguage "english" =
+ {"number"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrn\cyro\cyrm\cyre\cyrr}"}
+ {"language is not defined: " language "number" * * warning$ "number"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nr} % { "\bblno{}" }
+{ curlanguage "english" =
+ {"no."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "no." * * warning$ "no."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.nnr} % { "\bblno{}" }
+{ curlanguage "english" =
+ {"No."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\textnumero}"}
+ {"language is not defined: " language "No." * * warning$ "No."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.in} % { "\bblin{}" }
+{ curlanguage "english" =
+ {"in"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrv}"}
+ {"language is not defined: " language "in" * * warning$ "in"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.iin} % { "\bblIn{}" }
+{ curlanguage "english" =
+ {"In"}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"\CYRV"}
+ {"language is not defined: " language "In" * * warning$ "In"}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.pages} % { "\bblpp." }
+{ curlanguage "english" =
+ {"pp."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "pp." * * warning$ "pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.page} % { "\bblp."
+{ curlanguage "english" =
+ {"p."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\cyrs.}"}
+ {"language is not defined: " language "p." * * warning$ "p."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppages}% { "\bblPp." }
+{ curlanguage "english" =
+ {"Pp."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "Pp." * * warning$ "Pp."}
+ if$}
+ if$
+}
+
+FUNCTION {bbl.ppage} % { "\bblP." }
+{ curlanguage "english" =
+ {"P."}
+ { curlanguage "ukrainian" = curlanguage "russian" = or
+ {"{\cyr\CYRS.}"}
+ {"language is not defined: " language "P." * * warning$ "P."}
+ if$}
+ if$
+}
+
+
+FUNCTION {bbl.techrep} { "Tech. Rep." }
+FUNCTION {bbl.mthesis} { "Master's thesis" }
+FUNCTION {bbl.phdthesis} { "Ph.D. thesis" }
+
+INTEGERS { nameptr namesleft numnames }
+
+
+FUNCTION {format.names}
+{
+ #1 "{vv~}{ll}{~jj}{,~f.}" format.name$
+}
+
+
+FUNCTION {format.names.rev}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.}{~vv}{~ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #4 =
+ numnames #4 > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ t "~others" =
+ or
+ { " " * bbl.etal * }
+ { ", " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names emphasize}
+ if$
+}
+
+FUNCTION {format.bookauthors}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names}
+ if$
+}
+
+FUNCTION {format.authors.after}
+{ author empty$
+ { "" }
+ { author format.names.rev}
+ if$
+}
+
+FUNCTION {format.bookauthors.after}
+{ bookauthor empty$
+ { "" }
+ { bookauthor format.names.rev}
+ if$
+}
+
+FUNCTION {format.editors.after}
+{ editor empty$
+ { "" }
+ { bbl.edby editor format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.compiler.after}
+{ compiler empty$
+ { "" }
+ { bbl.cmplr compiler format.names.rev *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { year ". " quote$ "--- " month * * * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.address.publisher.date}
+{
+ address empty$
+ 'skip$
+ { address output
+ publisher empty$
+ 'skip$
+ { new.column
+ }
+ if$
+ }
+ if$
+ publisher output
+ format.date output
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ language empty$
+ {"english" 'curlanguage :=}
+ {language 'curlanguage :=}
+ if$
+ "\selectlanguageifdefined{" write$
+ curlanguage write$
+ "}" write$ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.iin
+ " " * }
+
+FUNCTION {format.btitle}
+{ title
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {tie.connect}
+ {"~"
+ swap$ * *
+ }
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$
+ bbl.nnr }
+ {
+ %new.dblslash
+ new.sentence
+ series
+ bbl.nr
+ tie.or.space.connect}
+ if$
+ number tie.or.space.connect
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+
+FUNCTION {convert.edition}
+{ edition
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.ppages pages n.dashify tie.connect }
+ { bbl.ppage pages tie.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.page}
+{ pages empty$
+ { numpages empty$
+ { "" }
+ { numpages bbl.pages tie.connect }
+ if$}
+ { format.pages}
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ ", no." number tie.or.space.connect *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ": " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.volume}
+{ volume empty$
+ { "" }
+ { bbl.vvol volume tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { bbl.nr number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {author.before}
+{
+ author empty$
+ 'skip$
+ {author num.names$ #4 <
+ {format.authors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+FUNCTION {bookauthor.before}
+{
+ bookauthor empty$
+ 'skip$
+ {bookauthor num.names$ #4 <
+ {format.bookauthors output
+ new.sentence}
+ 'skip$
+ if$}
+ if$
+}
+
+
+FUNCTION {author.after}
+{
+ author empty$
+ 'skip$
+ {format.authors.after output
+ new.semicolumn }
+ if$
+}
+FUNCTION {bookauthor.after}
+{
+ bookauthor empty$
+ 'skip$
+ {format.bookauthors.after output
+ new.semicolumn }
+ if$
+}
+
+FUNCTION {editor.organization.after}
+{
+ compiler empty$
+ {}
+ { format.compiler.after output
+ new.semicolumn
+ }
+ if$
+ editor empty$
+ {}
+ { format.editors.after output
+ new.semicolumn
+ }
+ if$
+ organization empty$
+ {}
+ {organization output
+ new.semicolumn
+ }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { after.sentence 'output.state :=
+ "\BibUrl{ " url * "}" *
+ }
+ if$
+}
+
+FUNCTION {format.annote}
+{ annote empty$
+ { "" }
+{ after.sentence 'output.state :=
+ "\BibAnnote{" annote add.period$ * "}" *
+}
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ journal emphasize "journal" output.check
+ new.block
+ format.date output
+ new.block
+ format.volume output
+ format.number output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.sentence
+ format.number.series output
+ new.block
+ format.edition output
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ author.before
+ format.title "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ bookauthor.before
+ booktitle "booktitle" output.check
+ new.slash
+ bookauthor.after
+ editor.organization.after
+ new.block
+ format.edition output
+ new.block
+ format.number.series output
+ new.sentence
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ output.address.publisher.date
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.slash
+ author.after
+ new.dblslash
+ booktitle "booktitle" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ new.column
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ new.block
+ format.pages.page output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ new.block
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.sentence.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ format.date output
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.sentence
+ format.btitle "title" output.check
+ new.column
+ bbl.phdthesis format.thesis.type output.nonnull
+ new.slash
+ school "school" output.check
+ new.block
+ output.address.publisher.date
+ new.block
+ format.pages.page output
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.btitle "title" output.check
+ new.slash
+ editor.organization.after
+ new.block
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ author.before
+ new.sentence
+ format.title "title" output.check
+ new.column
+ format.tr.number output.nonnull
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ address output
+ new.column
+ institution "institution" output.check
+ format.date "year" output.check
+ new.block
+ note output
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ author.before
+ format.btitle "title" output.check
+ new.slash
+ author.after
+ editor.organization.after
+ new.block
+ note "note" output.check
+ new.sentence
+ format.url output
+ format.annote output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\bbljan{}"}
+
+MACRO {feb} {"\bblfeb{}"}
+
+MACRO {mar} {"\bblmar{}"}
+
+MACRO {apr} {"\bblapr{}"}
+
+MACRO {may} {"\bblmay{}"}
+
+MACRO {jun} {"\bbljun{}"}
+
+MACRO {jul} {"\bbljul{}"}
+
+MACRO {aug} {"\bblaug{}"}
+
+MACRO {sep} {"\bblsep{}"}
+
+MACRO {oct} {"\bbloct{}"}
+
+MACRO {nov} {"\bblnov{}"}
+
+MACRO {dec} {"\bbldec{}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ "\def\selectlanguageifdefined#1{" write$ newline$
+ "\expandafter\ifx\csname date#1\endcsname\relax" write$ newline$
+ "\else\language\csname l@#1\endcsname\fi}" write$ newline$
+ "\ifx\undefined\url\def\url#1{{\small #1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibUrl\def\BibUrl#1{\url{#1}}\else\fi" write$ newline$
+ "\ifx\undefined\BibAnnote\long\def\BibAnnote#1{}\else\fi" write$ newline$
+ "\ifx\undefined\BibEmph\def\BibEmph#1{\emph{#1}}\else\fi" write$ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%%
+%% End of file `gost780u.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/gustlib/plabbrv.bst b/Master/texmf-dist/bibtex/bst/gustlib/plabbrv.bst
new file mode 100644
index 00000000000..22dc9ea0b21
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gustlib/plabbrv.bst
@@ -0,0 +1,1209 @@
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved by Oren Patashnik.
+ % Copyright (C) 1994, all rights reserved by Bogus/law Licho/nski.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % plbtxbst.doc, plplain.bst, plunsrt.bst, plalpha.bst, and plabbrv.bst.
+ % This restriction helps ensure that all standard polish styles are identical.
+ % The file plbtxbst.doc has the documentation for this style.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+
+ { label }
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { numnames #2 = % %BL poprawka 22.10.97 (przecinek mi/edzy 2 autor/ow)
+ { ", " * } %
+ 'skip$ %
+ if$ %
+ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " i~in." * } %BL
+ { " " * t * } %BL poprawka 9.10.97
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redaktorzy" * } %BL
+ { ", redaktor" * } %BL
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "wolumen" volume tie.or.space.connect %BL
+ series empty$
+ 'skip$
+ { " serii " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" } %tu skon.
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " serii " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { "wydanie " edition "l" change.case$ * }
+ { "wydanie " edition "t" change.case$ * }
+ if$
+ }
+ if$
+}
+
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "strony" pages n.dashify tie.or.space.connect }
+ { "strona" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$ } if$ pages empty$ 'skip$ { duplicate$ empty$ { pop$
+ format.pages } { ":" * pages n.dashify * } if$ } if$ }
+
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "rozdzia/l" } %problem
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "" booktitle emphasize * } %BL wywaliem In
+ { "" format.editors * ", " * booktitle emphasize * } %BL
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Raport instytutowy" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "Patrz {\em " journal * "\/}" * } %BL
+ if$
+ }
+ { "Patrz " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " i~in." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " i~in." * }
+ { " i~" * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "Patrz " %BL
+ }
+ { "Wolumen" volume tie.or.space.connect
+ " serii " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "Patrz {\em " booktitle * "\/}" * } %BL
+ if$
+ }
+ { "Patrz " key * } %BL
+ if$
+ }
+ { "Patrz " format.crossref.editor * } %BL
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {conference} { inproceedings }
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Praca magisterska" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Praca doktorska" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+
+
+
+MACRO {jan} {"Sty."}
+
+MACRO {feb} {"Luty"}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Kwi."}
+
+MACRO {may} {"Maj"}
+
+MACRO {jun} {"Czerw."}
+
+MACRO {jul} {"Lip."}
+
+MACRO {aug} {"Sier."}
+
+MACRO {sep} {"Wrze."}
+
+MACRO {oct} {"Paz."}
+
+MACRO {nov} {"List."}
+
+MACRO {dec} {"Gru."}
+
+
+
+
+
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+MACRO {gust} {"G.U.S.T."}
+
+
+
+
+READ
+
+
+
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+
+
+
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "i~in" * } %BL
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+
+{ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+
+SORT
+
+
+
+
+
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+
+
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+
+ITERATE {call.type$}
+
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/gustlib/plalpha.bst b/Master/texmf-dist/bibtex/bst/gustlib/plalpha.bst
new file mode 100644
index 00000000000..24f21e21a83
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gustlib/plalpha.bst
@@ -0,0 +1,1410 @@
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved by Oren Patashnik.
+ % Copyright (C) 1994, all rights reserved by Bogus/law Licho/nski.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % plbtxbst.doc, plplain.bst, plunsrt.bst, plalpha.bst, and plabbrv.bst.
+ % This restriction helps ensure that all standard polish styles are identical.
+ % The file plbtxbst.doc has the documentation for this style.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+
+
+ { label extra.label sort.label }
+
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { numnames #2 = % %BL poprawka 22.10.97 (przecinek mi/edzy 2 autor/ow)
+ { ", " * } %
+ 'skip$ %
+ if$ %
+ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { ", " * }
+ 'skip$
+ if$
+ t "others" =
+ { " i~in." * } %BL
+ { " " * t * } %BL poprawka 9.10.97
+
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redaktorzy" * } %BL
+ { ", redaktor" * } %BL
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "wolumen" volume tie.or.space.connect %BL
+ series empty$
+ 'skip$
+ { " serii " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" } %tu skon.
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " serii " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { "wydanie " edition "l" change.case$ * }
+ { "wydanie " edition "t" change.case$ * }
+ if$
+ }
+ if$
+}
+
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "strony" pages n.dashify tie.or.space.connect }
+ { "strona" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$ } if$ pages empty$ 'skip$ { duplicate$ empty$ { pop$
+ format.pages } { ":" * pages n.dashify * } if$ } if$ }
+
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "rozdzia/l" } %problem
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "" booktitle emphasize * } %BL wywaliem In
+ { "" format.editors * ", " * booktitle emphasize * } %BL
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Raport instytutowy" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "Patrz {\em " journal * "\/}" * } %BL
+ if$
+ }
+ { "Patrz " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " i~in." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " i~in." * }
+ { " i~" * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "Patrz " %BL
+ }
+ { "Wolumen" volume tie.or.space.connect
+ " serii " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "Patrz {\em " booktitle * "\/}" * } %BL
+ if$
+ }
+ { "Patrz " key * } %BL
+ if$
+ }
+ { "Patrz " format.crossref.editor * } %BL
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {conference} { inproceedings }
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Praca magisterska" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Praca doktorska" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+
+
+
+MACRO {jan} {"Stycze/n"}
+
+MACRO {feb} {"Luty"}
+
+MACRO {mar} {"Marzec"}
+
+MACRO {apr} {"Kwiecie/n"}
+
+MACRO {may} {"Maj"}
+
+MACRO {jun} {"Czerwiec"}
+
+MACRO {jul} {"Lipiec"}
+
+MACRO {aug} {"Sierpie/n"}
+
+MACRO {sep} {"Wrzesie/n"}
+
+MACRO {oct} {"Pa/xdziernik"}
+
+MACRO {nov} {"Listopad"}
+
+MACRO {dec} {"Grudzie/n"}
+
+MACRO {sty} {"Stycze/n"}
+
+MACRO {lut} {"Luty"}
+
+
+MACRO {kwi} {"Kwiecie/n"}
+
+MACRO {maj} {"Maj"}
+
+MACRO {cze} {"Czerwiec"}
+
+MACRO {lip} {"Lipiec"}
+
+MACRO {sie} {"Sierpie/n"}
+
+MACRO {wrz} {"Wrzesie/n"}
+
+MACRO {paz} {"Pa/xdziernik"}
+
+MACRO {lis} {"Listopad"}
+
+MACRO {gru} {"Grudzie/n"}
+
+
+
+
+
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+MACRO {gust} {"Grupa U/zytkownik/ow Systemu \TeX"}
+
+
+
+
+READ
+
+
+
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+
+
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+
+
+
+
+
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "i~in" * } %BL
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ *
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+
+SORT
+
+
+
+
+
+
+
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+
+
+
+
+
+FUNCTION {begin.bib}
+
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+
+ITERATE {call.type$}
+
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/gustlib/plplain.bst b/Master/texmf-dist/bibtex/bst/gustlib/plplain.bst
new file mode 100644
index 00000000000..e1ed9f83330
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gustlib/plplain.bst
@@ -0,0 +1,1234 @@
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved by Oren Patashnik.
+ % Copyright (C) 1994, all rights reserved by Bogus/law Licho/nski.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % plbtxbst.doc, plplain.bst, plunsrt.bst, plalpha.bst, and plabbrv.bst.
+ % This restriction helps ensure that all standard polish styles are identical.
+ % The file plbtxbst.doc has the documentation for this style.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+
+ { label }
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { numnames #2 = % %BL poprawka 22.10.97 (przecinek mi/edzy 2 autor/ow)
+ { ", " * } %
+ 'skip$ %
+ if$ %
+ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " i~in." * } %BL
+ { " " * t * } %BL poprawka 9.10.97
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redaktorzy" * } %BL
+ { ", redaktor" * } %BL
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "wolumen" volume tie.or.space.connect %BL
+ series empty$
+ 'skip$
+ { " serii " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" } %tu skon.
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " serii " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { "wydanie " edition "l" change.case$ * }
+ { "wydanie " edition "t" change.case$ * }
+ if$
+ }
+ if$
+}
+
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "strony" pages n.dashify tie.or.space.connect }
+ { "strona" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$ } if$ pages empty$ 'skip$ { duplicate$ empty$ { pop$
+ format.pages } { ":" * pages n.dashify * } if$ } if$ }
+
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "rozdzia/l" } %problem
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "" booktitle emphasize * } %BL wywaliem In
+ { "" format.editors * ", " * booktitle emphasize * } %BL
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Raport instytutowy" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "Patrz {\em " journal * "\/}" * } %BL
+ if$
+ }
+ { "Patrz " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " i~in." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " i~in." * }
+ { " i~" * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "Patrz " %BL
+ }
+ { "Wolumen" volume tie.or.space.connect
+ " serii " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "Patrz {\em " booktitle * "\/}" * } %BL
+ if$
+ }
+ { "Patrz " key * } %BL
+ if$
+ }
+ { "Patrz " format.crossref.editor * } %BL
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {conference} { inproceedings }
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Praca magisterska" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Praca doktorska" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+
+
+
+MACRO {jan} {"Stycze/n"}
+
+MACRO {feb} {"Luty"}
+
+MACRO {mar} {"Marzec"}
+
+MACRO {apr} {"Kwiecie/n"}
+
+MACRO {may} {"Maj"}
+
+MACRO {jun} {"Czerwiec"}
+
+MACRO {jul} {"Lipiec"}
+
+MACRO {aug} {"Sierpie/n"}
+
+MACRO {sep} {"Wrzesie/n"}
+
+MACRO {oct} {"Pa/xdziernik"}
+
+MACRO {nov} {"Listopad"}
+
+MACRO {dec} {"Grudzie/n"}
+
+MACRO {sty} {"Stycze/n"}
+
+MACRO {lut} {"Luty"}
+
+
+MACRO {kwi} {"Kwiecie/n"}
+
+MACRO {maj} {"Maj"}
+
+MACRO {cze} {"Czerwiec"}
+
+MACRO {lip} {"Lipiec"}
+
+MACRO {sie} {"Sierpie/n"}
+
+MACRO {wrz} {"Wrzesie/n"}
+
+MACRO {paz} {"Pa/xdziernik"}
+
+MACRO {lis} {"Listopad"}
+
+MACRO {gru} {"Grudzie/n"}
+
+
+
+
+
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+MACRO {gust} {"Grupa U/zytkownik/ow Systemu \TeX"}
+
+
+
+
+READ
+
+
+
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+
+
+
+
+
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "i~in" * } %BL
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+
+{ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+
+SORT
+
+
+
+
+
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+
+
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+
+ITERATE {call.type$}
+
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/gustlib/plunsrt.bst b/Master/texmf-dist/bibtex/bst/gustlib/plunsrt.bst
new file mode 100644
index 00000000000..c5b3598de9c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/gustlib/plunsrt.bst
@@ -0,0 +1,1072 @@
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved by Oren Patashnik.
+ % Copyright (C) 1994, all rights reserved by Bogus/law Licho/nski.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % plbtxbst.doc, plplain.bst, plunsrt.bst, plalpha.bst, and plabbrv.bst.
+ % This restriction helps ensure that all standard polish styles are identical.
+ % The file plbtxbst.doc has the documentation for this style.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+
+ { label }
+
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { numnames #2 = % %BL poprawka 22.10.97 (przecinek mi/edzy 2 autor/ow)
+ { ", " * } %
+ 'skip$ %
+ if$ %
+ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " i~in." * } %BL
+ { " " * t * } %BL poprawka 9.10.97
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redaktorzy" * } %BL
+ { ", redaktor" * } %BL
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "wolumen" volume tie.or.space.connect %BL
+ series empty$
+ 'skip$
+ { " serii " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" } %tu skon.
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " serii " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { "wydanie " edition "l" change.case$ * }
+ { "wydanie " edition "t" change.case$ * }
+ if$
+ }
+ if$
+}
+
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "strony" pages n.dashify tie.or.space.connect }
+ { "strona" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$ } if$ pages empty$ 'skip$ { duplicate$ empty$ { pop$
+ format.pages } { ":" * pages n.dashify * } if$ } if$ }
+
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "rozdzia/l" } %problem
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "" booktitle emphasize * } %BL wywaliem In
+ { "" format.editors * ", " * booktitle emphasize * } %BL
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Raport instytutowy" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "Patrz {\em " journal * "\/}" * } %BL
+ if$
+ }
+ { "Patrz " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " i~in." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " i~in." * }
+ { " i~" * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "Patrz " %BL
+ }
+ { "Wolumen" volume tie.or.space.connect
+ " serii " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "Patrz {\em " booktitle * "\/}" * } %BL
+ if$
+ }
+ { "Patrz " key * } %BL
+ if$
+ }
+ { "Patrz " format.crossref.editor * } %BL
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {conference} { inproceedings }
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Praca magisterska" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Praca doktorska" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+
+FUNCTION {default.type} { misc }
+
+
+
+
+MACRO {jan} {"Stycze/n"}
+
+MACRO {feb} {"Luty"}
+
+MACRO {mar} {"Marzec"}
+
+MACRO {apr} {"Kwiecie/n"}
+
+MACRO {may} {"Maj"}
+
+MACRO {jun} {"Czerwiec"}
+
+MACRO {jul} {"Lipiec"}
+
+MACRO {aug} {"Sierpie/n"}
+
+MACRO {sep} {"Wrzesie/n"}
+
+MACRO {oct} {"Pa/xdziernik"}
+
+MACRO {nov} {"Listopad"}
+
+MACRO {dec} {"Grudzie/n"}
+
+MACRO {sty} {"Stycze/n"}
+
+MACRO {lut} {"Luty"}
+
+
+MACRO {kwi} {"Kwiecie/n"}
+
+MACRO {maj} {"Maj"}
+
+MACRO {cze} {"Czerwiec"}
+
+MACRO {lip} {"Lipiec"}
+
+MACRO {sie} {"Sierpie/n"}
+
+MACRO {wrz} {"Wrzesie/n"}
+
+MACRO {paz} {"Pa/xdziernik"}
+
+MACRO {lis} {"Listopad"}
+
+MACRO {gru} {"Grudzie/n"}
+
+
+
+
+
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+MACRO {gust} {"Grupa U/zytkownik/ow Systemu \TeX"}
+
+
+
+
+READ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+
+
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+
+ITERATE {call.type$}
+
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/harvard/agsm.bst b/Master/texmf-dist/bibtex/bst/harvard/agsm.bst
new file mode 100644
index 00000000000..9ebcc9c7641
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/harvard/agsm.bst
@@ -0,0 +1,1353 @@
+% BibTeX standard bibliography style `agsm' (one of the harvard family)
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1991, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst,
+ % dcu.bst or kluwer.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file harvard.tex has the documentation for this style.
+
+% ACKNOWLEDGEMENT:
+% This document is a modified version of alpha.bst to which it owes much of
+% its functionality.
+
+% AUTHOR
+% Peter Williams, Key Centre for Design Quality, Sydney University
+% e-mail: peterw@archsci.arch.su.oz.au
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ URL
+ volume
+ year
+ }
+ { field.used etal.allowed etal.required} %%%XXX change
+ { extra.label sort.label list.year }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t f }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {item.check}
+{ 't :=
+ empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {quote}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "`" swap$ * "'" * }
+ if$
+}
+
+FUNCTION {write.url}
+{ URL empty$
+ { skip$ }
+ { "\newline\harvardurl{" URL * "}" * write$ newline$ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ 'f :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr f format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{, f.}" author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{, f.}" editor format.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "" }
+ { "{f.~}{vv~}{ll}{, jj}" editor format.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " {\em in} " * series quote * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn" * }
+ { edition "t" change.case$ " edn" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume embolden field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ",~" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "{\em in} " booktitle quote * }
+ { "{\em in} " format.editors.reverse * ", " * booktitle quote * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * " \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { ind tsslen }
+
+STRINGS { tss ret rss istr }
+
+FUNCTION {replace.substring}{
+ 'rss :=
+ 'tss :=
+ 'istr :=
+ "" 'ret :=
+ tss text.length$ 'tsslen :=
+ #1 'ind :=
+ { istr ind tsslen substring$ "" = not }
+ { istr ind tsslen substring$ tss =
+ { ret rss * 'ret :=
+ ind tsslen + 'ind :=
+ }
+ { ret istr ind #1 substring$ * 'ret :=
+ ind #1 + 'ind :=
+ }
+ if$
+ }
+ while$
+ ret
+}
+
+FUNCTION {format.lab.names.abbr}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #2 >
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ { s #1 "{vv~}{ll}" format.name$ " \harvardand\ " *
+ s #2 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ { s #1 "{vv~}{ll}" format.name$ }
+ if$
+}
+
+FUNCTION {format.lab.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+INTEGERS { author.field editor.field organization.field title.field key.field }
+
+FUNCTION {init.field.constants}
+{ #0 'author.field :=
+ #1 'editor.field :=
+ #2 'organization.field :=
+ #3 'title.field :=
+ #4 'key.field :=
+}
+
+FUNCTION {make.list.label}
+{ author.field field.used =
+ { format.authors }
+ { editor.field field.used =
+ { format.editors }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.full.label}
+{ author.field field.used =
+ { author format.lab.names.full }
+ { editor.field field.used =
+ { editor format.lab.names.full }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.abbr.label} %%%XXX change
+{
+ etal.allowed
+ { author.field field.used =
+ { author format.lab.names.abbr }
+ { editor.field field.used =
+ { editor format.lab.names.abbr }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ {"Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { make.full.label }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ etal.allowed %%%XXX change
+ etal.required
+ and
+ {
+ "\harvarditem[" write$
+ make.abbr.label write$
+ "]{" write$
+ }
+ {
+ "\harvarditem{" write$
+ }
+ if$
+ make.full.label write$
+ "}{" write$
+ list.year write$
+ "}{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {list.label.output}
+{ make.list.label " " * write$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ crossref missing$
+ { journal emphasize "journal" duplicate$ item.check
+ " " * format.vol.num.pages * output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ }
+ { organization output
+ publisher output
+ address output.nonnull
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.edition output
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title quote output }
+ if$
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ write.url
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { title "title" output.check }
+ if$
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { skip$ }
+ { organization output
+ }
+ if$
+ publisher output
+ }
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ address output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ new.block
+ note "note" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+EXECUTE {init.field.constants}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sortify.names}
+{ " \harvardand\ " " " replace.substring
+ " et~al." " zzz" replace.substring
+ sortify
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {calc.label} %%%XXX change
+{ make.abbr.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ year field.or.null purify$ #-1 #4 substring$ sortify
+ *
+ 'sort.label :=
+}
+
+FUNCTION {preliminaries} %%%XXX change
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ author.field field.used = %%%XXX change
+ {
+ author num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ {
+ editor.field field.used =
+ {
+ editor num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ if$
+ #1 'etal.allowed :=
+}
+
+FUNCTION {first.presort}
+{ calc.label
+ sort.label
+ title.field field.used =
+ { skip$ }
+ { " "
+ *
+ make.list.label sortify.names
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {preliminaries}
+
+ITERATE {first.presort}
+
+SORT
+
+STRINGS { last.sort.label next.extra last.full.label}
+
+INTEGERS { last.extra.num last.etal.allowed}
+
+FUNCTION {initialize.confusion}
+{ #0 int.to.chr$ 'last.sort.label :=
+ #0 int.to.chr$ 'last.full.label :=
+ #1 'last.etal.allowed :=
+}
+
+FUNCTION {confusion.pass}
+{ last.sort.label sort.label =
+ { last.etal.allowed
+ { last.full.label make.full.label sortify.names =
+ { skip$ }
+ { #0 'etal.allowed :=
+ #0 'last.etal.allowed :=
+ }
+ if$
+ }
+ { #0 'etal.allowed := }
+ if$
+ }
+ { sort.label 'last.sort.label :=
+ make.full.label sortify.names 'last.full.label :=
+ #1 'last.etal.allowed :=
+ }
+ if$
+}
+
+EXECUTE {initialize.confusion}
+
+ITERATE {confusion.pass}
+
+EXECUTE {initialize.confusion}
+
+REVERSE {confusion.pass}
+
+FUNCTION {initialize.last.extra.num}
+{ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ year empty$
+ { "n.d." extra.label emphasize * 'list.year := }
+ { year extra.label emphasize * 'list.year := }
+ if$
+ extra.label 'next.extra :=
+}
+
+ITERATE {first.presort}
+
+SORT
+
+EXECUTE {initialize.last.extra.num}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {second.presort}
+{ make.list.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ " "
+ *
+ list.year field.or.null sortify
+ *
+ " "
+ *
+ title.field field.used =
+ { skip$ }
+ { title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {second.presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { "\harvardpreambledefs{%" write$ newline$
+ preamble$ write$ "}" write$ newline$
+ "\harvardpreambletext{%" write$ newline$
+ preamble$ write$ "}" write$ newline$ }
+ if$
+ "\begin{thebibliography}{xx}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/harvard/apsr.bst b/Master/texmf-dist/bibtex/bst/harvard/apsr.bst
new file mode 100644
index 00000000000..2aa8cc94cd1
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/harvard/apsr.bst
@@ -0,0 +1,1378 @@
+% BibTeX standard bibliography style `apsr' (one of the harvard family)
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1991, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst,
+ % dcu.bst or kluwer.bst, jmr.bst, apsr.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file harvard.tex has the documentation for this style.
+
+% ACKNOWLEDGEMENT:
+% This document is a modified version of alpha.bst to which it owes much of
+% its functionality.
+
+% AUTHOR
+% Peter Williams, Key Centre for Design Quality, Sydney University
+% e-mail: peterw@archsci.arch.su.oz.au
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ URL
+ volume
+ year
+ }
+ { field.used etal.allowed etal.required} %%%XXX change
+ { extra.label sort.label list.year }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t f }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {item.check}
+{ 't :=
+ empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {quote}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "``" swap$ * "''" * }
+ if$
+}
+
+FUNCTION {write.url}
+{ URL empty$
+ { skip$ }
+ { "\newline\harvardurl{" URL * "}" * write$ newline$ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.rem.names}
+{ 's :=
+ 'f :=
+ #2 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames #1 - 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr f format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author #1 "{vv~}{ll}{, jj}{, ff}" format.name$
+ "{ff }{vv~}{ll}{, jj}" author format.rem.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor #1 "{vv~}{ll}{, jj}{, ff}" format.name$
+ "{ff }{vv~}{ll}{, jj}" editor format.rem.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "" }
+ { ", ed. "
+ editor #1 "{ff }{vv~}{ll}{, jj}" format.name$ *
+ "{ff }{vv~}{ll}{, jj}" editor format.rem.names
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title add.period$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " {\em in} " * series quote * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.address}
+{ address empty$
+ { "" }
+ { address ": " *
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { " In " booktitle emphasize * }
+ { " In " booktitle emphasize * format.editors.reverse * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * " \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { ind tsslen }
+
+STRINGS { tss ret rss istr }
+
+FUNCTION {replace.substring}{
+ 'rss :=
+ 'tss :=
+ 'istr :=
+ "" 'ret :=
+ tss text.length$ 'tsslen :=
+ #1 'ind :=
+ { istr ind tsslen substring$ "" = not }
+ { istr ind tsslen substring$ tss =
+ { ret rss * 'ret :=
+ ind tsslen + 'ind :=
+ }
+ { ret istr ind #1 substring$ * 'ret :=
+ ind #1 + 'ind :=
+ }
+ if$
+ }
+ while$
+ ret
+}
+
+FUNCTION {format.lab.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.lab.names.abbr}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #3 >
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ { s format.lab.names.full }
+ if$
+ }
+ { s #1 "{vv~}{ll}" format.name$ }
+ if$
+}
+
+INTEGERS { author.field editor.field organization.field title.field key.field }
+
+FUNCTION {init.field.constants}
+{ #0 'author.field :=
+ #1 'editor.field :=
+ #2 'organization.field :=
+ #3 'title.field :=
+ #4 'key.field :=
+}
+
+FUNCTION {make.list.label}
+{ author.field field.used =
+ { format.authors }
+ { editor.field field.used =
+ { format.editors }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.full.label}
+{ author.field field.used =
+ { author format.lab.names.full }
+ { editor.field field.used =
+ { editor format.lab.names.full }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.abbr.label} %%%XXX change
+{
+ etal.allowed
+ { author.field field.used =
+ { author format.lab.names.abbr }
+ { editor.field field.used =
+ { editor format.lab.names.abbr }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ {"Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { make.full.label }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ etal.allowed %%%XXX change
+ etal.required
+ and
+ {
+ "\harvarditem[" write$
+ make.abbr.label write$
+ "]{" write$
+ }
+ {
+ "\harvarditem{" write$
+ }
+ if$
+ make.full.label write$
+ "}{" write$
+ list.year write$
+ "}{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {list.label.output}
+{ make.list.label add.period$ " " * write$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ crossref missing$
+ { journal emphasize "journal" duplicate$ item.check
+ year empty$
+ { ". Forthcoming" * output new.block }
+ { " " * format.vol.num.pages * output }
+ if$
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ new.block
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.address output
+ publisher "publisher" output.check
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ format.address output
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ new.block
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.address output
+ publisher "publisher" output.check
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ new.block
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ format.address output
+ publisher "publisher" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ new.block
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ }
+ { organization output
+ format.address output.nonnull
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ new.block
+ format.edition output
+ new.block
+ author empty$
+ { organization empty$
+ { format.address output }
+ 'skip$
+ if$
+ }
+ { format.address output
+ organization output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ format.address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ title.field field.used =
+ { skip$ }
+ { format.title quote output }
+ if$
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ write.url
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { title "title" output.check }
+ if$
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ format.address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ new.block
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { skip$ }
+ { organization output
+ }
+ if$
+ publisher output
+ }
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ format.address output.nonnull
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ format.address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ list.label.output
+ list.year output.nonnull
+ new.block
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ note "note" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+EXECUTE {init.field.constants}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sortify.names}
+{ " \harvardand\ " " " replace.substring
+ " et~al." " zzz" replace.substring
+ sortify
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {calc.label} %%%XXX change
+{ make.abbr.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ year field.or.null purify$ #-1 #4 substring$ sortify
+ *
+ 'sort.label :=
+}
+
+FUNCTION {preliminaries} %%%XXX change
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ author.field field.used = %%%XXX change
+ {
+ author num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ {
+ editor.field field.used =
+ {
+ editor num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ if$
+ #1 'etal.allowed :=
+}
+
+FUNCTION {first.presort}
+{ calc.label
+ sort.label
+ title.field field.used =
+ { skip$ }
+ { " "
+ *
+ make.list.label sortify.names
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {preliminaries}
+
+ITERATE {first.presort}
+
+SORT
+
+STRINGS { last.sort.label next.extra last.full.label}
+
+INTEGERS { last.extra.num last.etal.allowed}
+
+FUNCTION {initialize.confusion}
+{ #0 int.to.chr$ 'last.sort.label :=
+ #0 int.to.chr$ 'last.full.label :=
+ #1 'last.etal.allowed :=
+}
+
+FUNCTION {confusion.pass}
+{ last.sort.label sort.label =
+ { last.etal.allowed
+ { last.full.label make.full.label sortify.names =
+ { skip$ }
+ { #0 'etal.allowed :=
+ #0 'last.etal.allowed :=
+ }
+ if$
+ }
+ { #0 'etal.allowed := }
+ if$
+ }
+ { sort.label 'last.sort.label :=
+ make.full.label sortify.names 'last.full.label :=
+ #1 'last.etal.allowed :=
+ }
+ if$
+}
+
+EXECUTE {initialize.confusion}
+
+ITERATE {confusion.pass}
+
+EXECUTE {initialize.confusion}
+
+REVERSE {confusion.pass}
+
+FUNCTION {initialize.last.extra.num}
+{ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ year empty$
+ { "N.d." extra.label emphasize * 'list.year := }
+ { year extra.label emphasize * 'list.year := }
+ if$
+ extra.label 'next.extra :=
+}
+
+ITERATE {first.presort}
+
+SORT
+
+EXECUTE {initialize.last.extra.num}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {second.presort}
+{ make.list.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ " "
+ *
+ list.year field.or.null sortify
+ *
+ " "
+ *
+ title.field field.used =
+ { skip$ }
+ { title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {second.presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { "\harvardpreambledefs{%" write$ newline$
+ preamble$ write$ "}" write$ newline$
+ "\harvardpreambletext{%" write$ newline$
+ preamble$ write$ "}" write$ newline$ }
+ if$
+ "\begin{thebibliography}{xx}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/harvard/jmr.bst b/Master/texmf-dist/bibtex/bst/harvard/jmr.bst
new file mode 100644
index 00000000000..2f8259f877d
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/harvard/jmr.bst
@@ -0,0 +1,1357 @@
+% BibTeX standard bibliography style `jmr' (one of the harvard family)
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1991, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst,
+ % dcu.bst or kluwer.bst, jmr.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file harvard.tex has the documentation for this style.
+
+% ACKNOWLEDGEMENT:
+% This document is a modified version of alpha.bst to which it owes much of
+% its functionality.
+
+% AUTHOR
+% Peter Williams, Key Centre for Design Quality, Sydney University
+% e-mail: peterw@archsci.arch.su.oz.au
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ URL
+ volume
+ year
+ }
+ { field.used etal.allowed etal.required} %%%XXX change
+ { extra.label sort.label list.year }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t f }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {item.check}
+{ 't :=
+ empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {quote}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "`" swap$ * "'" * }
+ if$
+}
+
+FUNCTION {write.url}
+{ URL empty$
+ { skip$ }
+ { "\newline\harvardurl{" URL * "}" * write$ newline$ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.rem.names}
+{ 's :=
+ 'f :=
+ #2 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames #1 - 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr f format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author #1 "{vv~}{ll}{, jj}{, ff}" format.name$
+ "{ff }{vv~}{ll}{, jj}" author format.rem.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor #1 "{vv~}{ll}{, jj}{, ff}" format.name$
+ "{ff }{vv~}{ll}{, jj}" editor format.rem.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "" }
+ { editor #1 "{f.}{vv~}{ll}{, jj}" format.name$
+ "{f.}{vv~}{ll}{, jj}" editor format.rem.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " {\em in} " * series quote * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn" * }
+ { edition "t" change.case$ " edn" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume embolden field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ",~" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "{\em in} " booktitle quote * }
+ { "{\em in} " format.editors.reverse * ", " * booktitle quote * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * " \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { ind tsslen }
+
+STRINGS { tss ret rss istr }
+
+FUNCTION {replace.substring}{
+ 'rss :=
+ 'tss :=
+ 'istr :=
+ "" 'ret :=
+ tss text.length$ 'tsslen :=
+ #1 'ind :=
+ { istr ind tsslen substring$ "" = not }
+ { istr ind tsslen substring$ tss =
+ { ret rss * 'ret :=
+ ind tsslen + 'ind :=
+ }
+ { ret istr ind #1 substring$ * 'ret :=
+ ind #1 + 'ind :=
+ }
+ if$
+ }
+ while$
+ ret
+}
+
+FUNCTION {format.lab.names.abbr}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #2 >
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ { s #1 "{vv~}{ll}" format.name$ " \harvardand\ " *
+ s #2 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ { s #1 "{ff }{vv~}{ll}" format.name$ }
+ if$
+}
+
+FUNCTION {format.lab.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+INTEGERS { author.field editor.field organization.field title.field key.field }
+
+FUNCTION {init.field.constants}
+{ #0 'author.field :=
+ #1 'editor.field :=
+ #2 'organization.field :=
+ #3 'title.field :=
+ #4 'key.field :=
+}
+
+FUNCTION {make.list.label}
+{ author.field field.used =
+ { format.authors }
+ { editor.field field.used =
+ { format.editors }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.full.label}
+{ author.field field.used =
+ { author format.lab.names.full }
+ { editor.field field.used =
+ { editor format.lab.names.full }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.abbr.label} %%%XXX change
+{
+ etal.allowed
+ { author.field field.used =
+ { author format.lab.names.abbr }
+ { editor.field field.used =
+ { editor format.lab.names.abbr }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ {"Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { make.full.label }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ etal.allowed %%%XXX change
+ etal.required
+ and
+ {
+ "\harvarditem[" write$
+ make.abbr.label write$
+ "]{" write$
+ }
+ {
+ "\harvarditem{" write$
+ }
+ if$
+ make.full.label write$
+ "}{" write$
+ list.year write$
+ "}{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {list.label.output}
+{ make.list.label " " * write$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ crossref missing$
+ { journal emphasize "journal" duplicate$ item.check
+ " " * format.vol.num.pages * output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ }
+ { organization output
+ publisher output
+ address output.nonnull
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.edition output
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title quote output }
+ if$
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ write.url
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { title "title" output.check }
+ if$
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { skip$ }
+ { organization output
+ }
+ if$
+ publisher output
+ }
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ address output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ new.block
+ note "note" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+EXECUTE {init.field.constants}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sortify.names}
+{ " \harvardand\ " " " replace.substring
+ " et~al." " zzz" replace.substring
+ sortify
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {calc.label} %%%XXX change
+{ make.abbr.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ year field.or.null purify$ #-1 #4 substring$ sortify
+ *
+ 'sort.label :=
+}
+
+FUNCTION {preliminaries} %%%XXX change
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ author.field field.used = %%%XXX change
+ {
+ author num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ {
+ editor.field field.used =
+ {
+ editor num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ if$
+ #1 'etal.allowed :=
+}
+
+FUNCTION {first.presort}
+{ calc.label
+ sort.label
+ title.field field.used =
+ { skip$ }
+ { " "
+ *
+ make.list.label sortify.names
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {preliminaries}
+
+ITERATE {first.presort}
+
+SORT
+
+STRINGS { last.sort.label next.extra last.full.label}
+
+INTEGERS { last.extra.num last.etal.allowed}
+
+FUNCTION {initialize.confusion}
+{ #0 int.to.chr$ 'last.sort.label :=
+ #0 int.to.chr$ 'last.full.label :=
+ #1 'last.etal.allowed :=
+}
+
+FUNCTION {confusion.pass}
+{ last.sort.label sort.label =
+ { last.etal.allowed
+ { last.full.label make.full.label sortify.names =
+ { skip$ }
+ { #0 'etal.allowed :=
+ #0 'last.etal.allowed :=
+ }
+ if$
+ }
+ { #0 'etal.allowed := }
+ if$
+ }
+ { sort.label 'last.sort.label :=
+ make.full.label sortify.names 'last.full.label :=
+ #1 'last.etal.allowed :=
+ }
+ if$
+}
+
+EXECUTE {initialize.confusion}
+
+ITERATE {confusion.pass}
+
+EXECUTE {initialize.confusion}
+
+REVERSE {confusion.pass}
+
+FUNCTION {initialize.last.extra.num}
+{ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ year empty$
+ { "n.d." extra.label emphasize * 'list.year := }
+ { year extra.label emphasize * 'list.year := }
+ if$
+ extra.label 'next.extra :=
+}
+
+ITERATE {first.presort}
+
+SORT
+
+EXECUTE {initialize.last.extra.num}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {second.presort}
+{ make.list.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ " "
+ *
+ list.year field.or.null sortify
+ *
+ " "
+ *
+ title.field field.used =
+ { skip$ }
+ { title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {second.presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { "\harvardpreambledefs{%" write$ newline$
+ preamble$ write$ "}" write$ newline$
+ "\harvardpreambletext{%" write$ newline$
+ preamble$ write$ "}" write$ newline$ }
+ if$
+ "\begin{thebibliography}{xx}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/harvard/jphysicsB.bst b/Master/texmf-dist/bibtex/bst/harvard/jphysicsB.bst
new file mode 100644
index 00000000000..4d116237407
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/harvard/jphysicsB.bst
@@ -0,0 +1,1322 @@
+% BibTeX standard bibliography style `jphysicsB' (one of the harvard family)
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1991, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst,
+ % dcu.bst, kluwer.bst or jphysicsB.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file harvard.tex has the documentation for this style.
+
+% ACKNOWLEDGEMENT:
+% This document is a modified version of alpha.bst to which it owes much of
+% its functionality.
+
+% AUTHOR
+% Peter Williams, Key Centre for Design Quality, Sydney University
+% e-mail: peterw@archsci.arch.su.oz.au
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ URL
+ volume
+ year
+ }
+ { field.used etal.allowed etal.required} %%%XXX change
+ { extra.label sort.label list.year }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t f }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {item.check}
+{ 't :=
+ empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {quote}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "`" swap$ * "'" * }
+ if$
+}
+
+FUNCTION {write.url}
+{ URL empty$
+ { skip$ }
+ { "\newline\harvardurl{" URL * "}" * write$ newline$ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ 'f :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr f format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{ f{~}}" author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{ f{~}}" editor format.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "" }
+ { "{f~}{vv~}{ll}{, jj}" editor format.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " {\em in} " * series quote * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn" * }
+ { edition "t" change.case$ " edn" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume embolden field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ",~" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "{\em in} " booktitle quote * }
+ { "{\em in} " format.editors.reverse * ", " * booktitle quote * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * " \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { ind tsslen }
+
+STRINGS { tss ret rss istr }
+
+FUNCTION {replace.substring}{
+ 'rss :=
+ 'tss :=
+ 'istr :=
+ "" 'ret :=
+ tss text.length$ 'tsslen :=
+ #1 'ind :=
+ { istr ind tsslen substring$ "" = not }
+ { istr ind tsslen substring$ tss =
+ { ret rss * 'ret :=
+ ind tsslen + 'ind :=
+ }
+ { ret istr ind #1 substring$ * 'ret :=
+ ind #1 + 'ind :=
+ }
+ if$
+ }
+ while$
+ ret
+}
+
+FUNCTION {format.lab.names.abbr}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #2 >
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ { s #1 "{vv~}{ll}" format.name$ " \harvardand\ " *
+ s #2 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ { s #1 "{vv~}{ll}" format.name$ }
+ if$
+}
+
+FUNCTION {format.lab.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+INTEGERS { author.field editor.field organization.field title.field key.field }
+
+FUNCTION {init.field.constants}
+{ #0 'author.field :=
+ #1 'editor.field :=
+ #2 'organization.field :=
+ #3 'title.field :=
+ #4 'key.field :=
+}
+
+FUNCTION {make.list.label}
+{ author.field field.used =
+ { format.authors }
+ { editor.field field.used =
+ { format.editors }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.full.label}
+{ author.field field.used =
+ { author format.lab.names.full }
+ { editor.field field.used =
+ { editor format.lab.names.full }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.abbr.label} %%%XXX change
+{
+ etal.allowed
+ { author.field field.used =
+ { author format.lab.names.abbr }
+ { editor.field field.used =
+ { editor format.lab.names.abbr }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ {"Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { make.full.label }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\harvarditem{" write$
+ make.abbr.label write$
+ "}{" write$
+ list.year write$
+ "}{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {list.label.output}
+{ make.list.label " " * write$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ author "author" item.check
+ crossref missing$
+ { journal emphasize "journal" duplicate$ item.check
+ " " * format.vol.num.pages * output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ }
+ { organization output
+ publisher output
+ address output.nonnull
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.edition output
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title quote output }
+ if$
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ write.url
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { title "title" output.check }
+ if$
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { skip$ }
+ { organization output
+ }
+ if$
+ publisher output
+ }
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ address output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ list.label.output
+ " " list.year * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ new.block
+ note "note" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+EXECUTE {init.field.constants}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sortify.names}
+{ " \harvardand\ " " " replace.substring
+ " et~al." " zzz" replace.substring
+ sortify
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {calc.label} %%%XXX change
+{ make.abbr.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ year field.or.null purify$ #-1 #4 substring$ sortify
+ *
+ 'sort.label :=
+}
+
+FUNCTION {preliminaries} %%%XXX change
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ author.field field.used = %%%XXX change
+ {
+ author num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ {
+ editor.field field.used =
+ {
+ editor num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ if$
+ #1 'etal.allowed :=
+}
+
+FUNCTION {first.presort}
+{ calc.label
+ sort.label
+ title.field field.used =
+ { skip$ }
+ { " "
+ *
+ make.list.label sortify.names
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {preliminaries}
+
+ITERATE {first.presort}
+
+SORT
+
+STRINGS { last.sort.label next.extra last.full.label}
+
+INTEGERS { last.extra.num last.etal.allowed}
+
+FUNCTION {initialize.confusion}
+{ #0 int.to.chr$ 'last.sort.label :=
+ #0 int.to.chr$ 'last.full.label :=
+ #1 'last.etal.allowed :=
+}
+
+FUNCTION {confusion.pass}
+{ last.sort.label sort.label =
+ { last.etal.allowed
+ { last.full.label make.full.label sortify.names =
+ { skip$ }
+ { #0 'etal.allowed :=
+ #0 'last.etal.allowed :=
+ }
+ if$
+ }
+ { #0 'etal.allowed := }
+ if$
+ }
+ { sort.label 'last.sort.label :=
+ make.full.label sortify.names 'last.full.label :=
+ #1 'last.etal.allowed :=
+ }
+ if$
+}
+
+EXECUTE {initialize.confusion}
+
+ITERATE {confusion.pass}
+
+EXECUTE {initialize.confusion}
+
+REVERSE {confusion.pass}
+
+FUNCTION {initialize.last.extra.num}
+{ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ year empty$
+ { "n.d." extra.label emphasize * 'list.year := }
+ { year extra.label emphasize * 'list.year := }
+ if$
+ extra.label 'next.extra :=
+}
+
+ITERATE {first.presort}
+
+SORT
+
+EXECUTE {initialize.last.extra.num}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {second.presort}
+{ make.list.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ " "
+ *
+ list.year field.or.null sortify
+ *
+ " "
+ *
+ title.field field.used =
+ { skip$ }
+ { title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {second.presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { "\harvardpreambledefs{%" write$ newline$
+ preamble$ write$ "}" write$ newline$
+ "\harvardpreambletext{%" write$ newline$
+ preamble$ write$ "}" write$ newline$ }
+ if$
+ "\begin{thebibliography}{xx}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/harvard/kluwer.bst b/Master/texmf-dist/bibtex/bst/harvard/kluwer.bst
new file mode 100644
index 00000000000..bbcd6059173
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/harvard/kluwer.bst
@@ -0,0 +1,1355 @@
+% BibTeX standard bibliography style `kluwer' (one of the harvard family)
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1991, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst,
+ % dcu.bst or kluwer.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file harvard.tex has the documentation for this style.
+
+% ACKNOWLEDGEMENT:
+% This document is a modified version of alpha.bst to which it owes much of
+% its functionality.
+
+% AUTHOR
+% Peter Williams, Key Centre for Design Quality, Sydney University
+% e-mail: peterw@archsci.arch.su.oz.au
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ URL
+ volume
+ year
+ }
+ { field.used etal.allowed etal.required }
+ { extra.label sort.label list.year }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t f }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {item.check}
+{ 't :=
+ empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {quote}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "`" swap$ * "'" * }
+ if$
+}
+
+FUNCTION {write.url}
+{ URL empty$
+ { skip$ }
+ { "\newline\harvardurl{" URL * "}" * write$ newline$ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ 'f :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr f format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{, f.}" author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{, f.}" editor format.names
+ editor num.names$ #1 >
+ { " (eds)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "" }
+ { "{f.~}{vv~}{ll}{, jj}" editor format.names
+ editor num.names$ #1 >
+ { " (eds)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series emphasize * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn" * }
+ { edition "t" change.case$ " edn" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume embolden field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ",~" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle emphasize }
+ { "{\em in} " format.editors.reverse * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/}" * " \cite{" * crossref * "}" *
+ }
+ if$
+ }
+ { " {\em in} \citeasnoun{" crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * " \cite{" * crossref * "}" *}
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ {
+ key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * " \cite{" * crossref * "}" *}
+ if$
+ }
+ { " {\em in} \citeasnoun{" crossref * "}" * }
+ if$
+ }
+ { " {\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { ind tsslen }
+
+STRINGS { tss ret rss istr }
+
+FUNCTION {replace.substring}{
+ 'rss :=
+ 'tss :=
+ 'istr :=
+ "" 'ret :=
+ tss text.length$ 'tsslen :=
+ #1 'ind :=
+ { istr ind tsslen substring$ "" = not }
+ { istr ind tsslen substring$ tss =
+ { ret rss * 'ret :=
+ ind tsslen + 'ind :=
+ }
+ { ret istr ind #1 substring$ * 'ret :=
+ ind #1 + 'ind :=
+ }
+ if$
+ }
+ while$
+ ret
+}
+
+FUNCTION {format.lab.names.abbr}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #2 >
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { s #1 "{vv~}{ll}" format.name$ " et~al." * }
+ { s #1 "{vv~}{ll}" format.name$ " and " *
+ s #2 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ { s #1 "{vv~}{ll}" format.name$ }
+ if$
+}
+
+FUNCTION {format.lab.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+INTEGERS { author.field editor.field organization.field title.field key.field }
+
+FUNCTION {init.field.constants}
+{ #0 'author.field :=
+ #1 'editor.field :=
+ #2 'organization.field :=
+ #3 'title.field :=
+ #4 'key.field :=
+}
+
+FUNCTION {make.list.label}
+{ author.field field.used =
+ { format.authors }
+ { editor.field field.used =
+ { format.editors }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.full.label}
+{ author.field field.used =
+ { author format.lab.names.full }
+ { editor.field field.used =
+ { editor format.lab.names.full }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.abbr.label}
+{ etal.allowed
+ { author.field field.used =
+ { author format.lab.names.abbr }
+ { editor.field field.used =
+ { editor format.lab.names.abbr }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ {"Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { make.full.label }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ etal.allowed %%%XXX change
+ etal.required
+ and
+ {
+ "\harvarditem[" write$
+ make.abbr.label write$
+ "]{" write$
+ }
+ {
+ "\harvarditem{" write$
+ }
+ if$
+ make.full.label write$
+ "}{" write$
+ list.year write$
+ "}{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+
+FUNCTION {list.label.output}
+{ make.list.label write$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ crossref missing$
+ { journal emphasize "journal" duplicate$ item.check
+ " " * format.vol.num.pages * output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ }
+ { organization output
+ publisher output
+ address output.nonnull
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.edition output
+ author empty$
+ { organization empty$
+ { address output
+ }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title emphasize "title" output.check }
+ if$
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title output }
+ if$
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ write.url
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { skip$ }
+ { organization output
+ }
+ if$
+ publisher output
+ }
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ address output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ format.tr.number emphasize output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ list.label.output
+ ": " list.year * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ new.block
+ note "note" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+EXECUTE {init.field.constants}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sortify.names}
+{ " and " " " replace.substring
+ " et~al." " zzz" replace.substring
+ sortify
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {calc.label}
+{ make.abbr.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ year field.or.null purify$ #-1 #4 substring$ sortify
+ *
+ 'sort.label :=
+}
+
+FUNCTION {preliminaries} %%%XXX change
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ author.field field.used = %%%XXX change
+ {
+ author num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ {
+ editor.field field.used =
+ {
+ editor num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ if$
+ #1 'etal.allowed :=
+}
+
+FUNCTION {first.presort}
+{ calc.label
+ sort.label
+ title.field field.used =
+ { skip$ }
+ { " "
+ *
+ make.list.label sortify.names
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {preliminaries}
+
+ITERATE {first.presort}
+
+SORT
+
+STRINGS { last.sort.label next.extra last.full.label }
+
+INTEGERS { last.extra.num last.etal.allowed }
+
+FUNCTION {initialize.confusion}
+{ #0 int.to.chr$ 'last.sort.label :=
+ #0 int.to.chr$ 'last.full.label :=
+ #1 'last.etal.allowed :=
+}
+
+FUNCTION {confusion.pass}
+{ last.sort.label sort.label =
+ { last.etal.allowed
+ { last.full.label make.full.label sortify.names =
+ { skip$ }
+ { #0 'etal.allowed :=
+ #0 'last.etal.allowed :=
+ }
+ if$
+ }
+ { #0 'etal.allowed := }
+ if$
+ }
+ { sort.label 'last.sort.label :=
+ make.full.label sortify.names 'last.full.label :=
+ #1 'last.etal.allowed :=
+ }
+ if$
+}
+
+EXECUTE {initialize.confusion}
+
+ITERATE {confusion.pass}
+
+EXECUTE {initialize.confusion}
+
+REVERSE {confusion.pass}
+
+FUNCTION {initialize.last.extra.num}
+{ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ year empty$
+ { "n.d." extra.label * 'list.year := }
+ { year extra.label * 'list.year := }
+ if$
+ extra.label 'next.extra :=
+}
+
+ITERATE {first.presort}
+
+SORT
+
+EXECUTE {initialize.last.extra.num}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {second.presort}
+{ make.list.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ " "
+ *
+ list.year field.or.null sortify
+ *
+ " "
+ *
+ title.field field.used =
+ { skip$ }
+ { title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {second.presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { "\harvardpreambledefs{%" write$ newline$
+ preamble$ write$ "}" write$ newline$
+ "\harvardpreambletext{%" write$ newline$
+ preamble$ write$ "}" write$ newline$ }
+ if$
+ "\begin{thebibliography}{xx}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/harvard/nederlands.bst b/Master/texmf-dist/bibtex/bst/harvard/nederlands.bst
new file mode 100644
index 00000000000..c6c7b8dd872
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/harvard/nederlands.bst
@@ -0,0 +1,1621 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% author = "Werenfried Spit",
+%%% version = "2.5.1",
+%%% date = "2 November 1993",
+%%% time = "12:29:12 CET",
+%%% filename = "nederlands.bst",
+%%% address = "Departament de Fisica Teorica
+%%% Universitat de Valencia
+%%% c/ Moliner, 50
+%%% E-46100 Burjassot, Valencia
+%%% Espanya",
+%%% telephone = "+34-6-386 4551",
+%%% email = "spit@vm.ci.uv.es
+%%% spit@ific.uv.es",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "BibTeX, Dutch",
+%%% supported = "yes",
+%%% checksum = "19068 1618 4873 37905",
+%%% abstract = "In Dutch (and German, ...) names are sorted on their
+%%% last part; prepositions (the `von-part') are not
+%%% considered to be part of the last name for sorting
+%%% purposes. Thus, J. van Dale will be listed under D.
+%%%
+%%% This style is part of the Harvard package that
+%%% supports citations like `see Van Dale (1983)' in the
+%%% text; harvard.sty is needed. Sorting is done
+%%% according to dutch rules. The layout of the
+%%% bibliography is adapted to conventions is historical
+%%% linguistics. As of version 2.3 books may have both
+%%% an author and an editor.
+%%%
+%%% More information in dutch in the file. ",
+%%% docstring = "The checksum field above contains a CRC-16
+%%% checksum as the first value, followed by the
+%%% equivalent of the standard UNIX wc (word
+%%% count) utility output of lines, words, and
+%%% characters. This is produced by Robert
+%%% Solovay's checksum utility.",
+%%% }
+%%% ====================================================================
+ FUNCTION {hello}
+{ "BibTeX bibliography style `Nederlands' " top$
+ "version <2.5> dated <1-6-93> (WS)" top$
+}
+% (C) Werenfried Spit 04-10-90
+%
+% Departament de F{\'\i}sica Te\`orica
+% Universitat de Val\`encia
+% c/ dr.Moliner, 50
+% 46100 Burjassot
+% Val\`encia
+% Espanya
+%
+% spit@vm.ci.uv.es
+%
+%
+% Met gebruikmaking van veel werk van Piet v Oostrum en Oren Patashnik
+% Met dank aan Paul Wackers en Peter Williams.
+% Voor BibTeX 0.99a en LaTeX 2.09
+%
+%
+% In deze bibliografiestijl wordt ondersteuning gegeven om in de
+% tekst citaties met de auteursnaam en het jaartal te laten verschijnen
+% bv zie (Van Dale, 1982). Naar Nederlandse gewoonte gebeurt het
+% sorteren op achternaam, hoewel het tussenvoegsel eerder geschreven
+% wordt. (Van Dale staat dus onder de D.) De ietwat ingewikkelde regel
+% uit de nederlandse grammatica voor het gebruik van hoofdletters in
+% tussenvoegsels van namen wordt toegepast. (Zie hiervoor het Groene
+% Boekje of de ANS, of natuurlijk Van Dale, 1982).
+%
+% In tegenstelling tot de standaard bibstijlen laat deze stijl toe dat
+% een boek zowel een auteur als een redacteur heeft. In zulke gevallen
+% wordt op redacteur gesorteerd. Er komt dan bv onder de H in de bibliografie
+% W. Shakespeare, 1991. {\em Macbeth}, bezorgd door W. Hogan. ....
+% en in de tekst zal `Hogan (1991)' voorkomen.
+%
+% Om deze bibliografiestijl te gebruiken moet de LaTeXstijl harvard.sty
+% worden gebruikt. Deze definieert \harvarditem en \citeasnoun en
+% herdefinieert \cite. Zie verder de bijbehorende documentatie
+%
+% Van deze stijl is ook versie 1.11 nog beschikbaar: deze werkt met
+% citeauthoryear.sty ipv harvard.sty.
+%
+%
+%
+% wijzigingen:
+% 02-11-93 fout in lidwoordafbreking verbeterd (dank aan Frank Poppe)
+% 01-06-93 kruisreferenties veranderd
+% 15-12-92 vermelding jaartal bij tijdschriftartikelen verdubbeld
+% 14-12-92 vermelding jaartal bij tijdschriftartikelen verplaatst
+% enkele niet gebruikte routines verwijderd
+% 22-10-92 mogelijkheid om bij boeken zowel een `author' als een `editor'
+% te vermelden toegevoegd
+% vermelding uitgeversadres (`address') veranderd
+%
+% 18-05-92 foutje in de sorteerroutine verbeterd (dank aan Paul Wackers)
+% 22-04-92 foutje in de behandeling van seriewerken verbeterd
+% behandeling van het `editor'-veld vernederlandst
+% (dank aan Ton vd Woude)
+% 26-03-92 verschillende foutmeldingen verwijderd
+% 20-03-92 mogelijk voorkomen van te lange outputregels voorkomen
+% 17-03-92 verbetering van de verwerking van entries zonder year-veld
+% 16-03-92 behandeling van labels veranderd om te lange strings te voorkomen
+% jaartal voor alle soorten entries direct na de auteur geplaatst
+% 12-03-92 label aan jaartal toegevoegd
+% aanpassingen tbv Harvardstijlen
+% 14-11-91 regels langer dan 80 tekens verwijderd (ivm met IBMse nukken)
+% 27-05-91 karaktertabel toegevoegd
+% 14-05-91 behandeling van tussenvoegsels in namen verbeterd
+%
+%% Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~
+%%
+%
+% Citation format: [author-last-name, year]
+% [author-last-name \& author-last-name, year]
+% [author-last-name {\em et~al.}, year]
+%
+% Reference list ordering: alphabetical by author or whatever passes
+% for author in the absence of one.
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ font
+ }
+ { title.used }
+ { label abbr.label full.label extra.label sort.label list.label year.string }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {One.cap} %(WS) 14-05-91 capitalizes first letter of string
+ % leaves the rest the same
+{ duplicate$
+ #1 #1 substring$ "\uppercase{" swap$ * "}" * swap$
+ #2 #200 substring$ *
+}
+
+FUNCTION {output.bibitem} % (WS 12-03-92) \bibitem replaced by
+{ newline$ % \harvarditem;
+ "\harvarditem[" write$ % (WS 22 10 92) label doubly written
+ label write$ % to prevent too long strings
+ "]%" write$ newline$ % (WS 20 03 92) newlines inserted
+ "{" write$
+ label write$
+ "}%" write$ newline$
+ "{" write$
+ year.string write$
+ "}{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 > % in de referentie wordt de volledige naam
+ { namesleft #1 > % afgedrukt: "J.H. van Dale" (WS)
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " {\em ~et~al.}" * }
+ { " en " * t * } % hier wordt een tussenvoegsel
+ if$ % tussen auteursnamen gemaakt (WS)
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ font empty$
+ { "{" swap$ * "}" * }
+ { "{" font * " " * swap$ * "}" * }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+
+% Een editor heet in het Nedelands redacteur, maar het is gebruikelijk
+% dit aan te geven met ``redactie''. (230492).
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ ", redactie" *
+ }
+ if$
+}
+
+% Sommige boeken hebben behalve een auteur ook een redacteur; m.n.
+% wanneer de tekst van een ouder werk opnieuw wordt uitgegeven. Voor
+% dit soort gevallen is format.editortoo:
+%
+FUNCTION {format.editorstoo}
+{ editor empty$
+ { "" }
+ { " bezorgd door " editor format.names *
+ }
+ if$
+}
+
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title }
+
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ { year.string } % (WS 16 03 92) year.string ipv year extra.label *
+ { month " " * year.string * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume} % in het Nederlands (WS)
+{ volume empty$
+ { "" }
+ { series empty$
+ { " deel" } % zonder komma (WS;220492)
+ { " " series emphasize * ", deel" * }
+ if$
+ volume tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.number.series} % in het Nederlands (WS)
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series number tie.or.space.connect }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition} % in het Nederlands (WS)
+{ edition empty$
+ { "" }
+ { edition "1" =
+ { "Eerste" }
+ { edition "2" =
+ { "Tweede" }
+ { edition "3" =
+ { "Derde" }
+ { edition "$^{\rm e}$ " * }
+ if$
+ }
+ if$
+ }
+ if$
+ output.state mid.sentence =
+ { "l" change.case$ " druk" * }
+ { "t" change.case$ " druk" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "p." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.date.pages} % (14-12-1992) was: format.vol.pages
+{ volume empty$
+ { "empty volume in " cite$ * warning$ " " }
+ { volume }
+ if$
+ number empty$
+ 'skip$
+ { "-" * number * }
+ if$
+ year empty$
+ { "empty year in " cite$ * warning$ " " }
+%% { " (" * format.date * ")" * } % (15-12-1992) jaartal zonder
+ { " (" * year * ")" * } % volgletter
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.pages}
+{ volume empty$
+ { "empty volume in " cite$ * warning$ " " }
+ { volume }
+ if$
+ number empty$
+ 'skip$
+ { "-" * number * }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+
+
+
+FUNCTION {format.chapter.pages} % in het Nederlands (WS)
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { output.state mid.sentence =
+ { "hoofdstuk" }
+ { "Hoofdstuk" }
+ if$
+ }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle} % in het Nederlands (WS)
+{ booktitle empty$ %
+ { "" }
+ { editor empty$
+ { output.state mid.sentence =
+ { "in " booktitle emphasize * }
+ { "In " booktitle emphasize * }
+ if$ }
+ { output.state mid.sentence =
+ { "in " booktitle emphasize * ", " * format.editors * }
+ { "In " booktitle emphasize * ", " * format.editors * }
+ if$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.preprint.number}
+{ type empty$
+ { "Preprint" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$ One.cap
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ "{\em ~et~al.}" * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em ~et~al.}" * }
+ { " en " * editor #2 "{vv~}{ll}" format.name$ One.cap * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+% v2.5 (1-6-93) crossreferencing changed: now uses \citeasnoun in case
+% there is an editor (which is supposed to be the author/editor
+% of the crossreferenced entry)
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ " \cite{" * crossref * "}" *
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+}
+
+FUNCTION {institution.or.organization.output}
+{institution empty$
+ {organization empty$
+ { "Both organization and institution are missing in " cite$ * warning$ }
+ { organization output }
+ if$
+ }
+ {institution output}
+if$
+}
+
+% v2.5 (1-6-93) crossreferencing changed: uses \citeasnoun when possible
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+ }
+ { "In \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.date.pages output % (14-12-1992) was: format.vol.pages
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+% crossref missing$
+% { "author and editor" editor either.or.check }
+% 'skip$
+% if$
+ }
+ if$
+ format.date "year" output.check
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { skip$ }
+ { editor empty$
+ 'skip$
+ { format.editorstoo "editor" output.check }
+ if$
+ }
+ if$
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ publisher "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.date output % no check on year (WS 26-03-92)
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook} % produceert zowel hoofdstuk-
+{ output.bibitem % als boektitel (WS)
+ author empty$ % zie ook format.in.ed.booktitle
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.in.ed.booktitle output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ }
+ { address output.nonnull
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.date output % no check on year (WS 26-03-92)
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis} % doctoraalscriptie (WS)
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Doctoraalscriptie" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ number empty$
+ { skip$ }
+ { " (Nr. " number * ")" * output }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+
+FUNCTION {phdthesis} % proefschrift (WS)
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Dissertatie" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {preprint}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.preprint.number output.nonnull
+ institution.or.organization.output
+ publisher output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date output % no check on year (WS 26-03-92)
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.date output % no check on year (WS 26-03-92)
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {default.type} { misc }
+
+%
+MACRO {tbp} {"verschijnt"}
+
+% De namen van de maanden in het Nederlands
+%
+MACRO {jan} {"januari"}
+MACRO {feb} {"februari"}
+MACRO {mar} {"maart"}
+MACRO {apr} {"april"}
+MACRO {may} {"mei"}
+MACRO {jun} {"juni"}
+MACRO {jul} {"juli"}
+MACRO {aug} {"augustus"}
+MACRO {sep} {"september"}
+MACRO {oct} {"oktober"}
+MACRO {nov} {"november"}
+MACRO {dec} {"december"}
+
+% De Nederlanse universiteiten
+%
+MACRO {KUN} {"Katholieke Universiteit Nijmegen"}
+MACRO {KUB} {"Katholieke Universiteit Brabant"}
+MACRO {LUW} {"Landbouwuniversiteit Wageningen"}
+MACRO {RL} {"Rijksuniversiteit Limburg"}
+MACRO {RUG} {"Rijksuniversiteit te Groningen"}
+MACRO {RUL} {"Rijksuniversiteit te Leiden"}
+MACRO {RUU} {"Rijksuniversiteit te Utrecht"}
+MACRO {TUD} {"Technische Universiteit Delft"}
+MACRO {TUE} {"Technische Universiteit Eindhoven"}
+MACRO {TUT} {"Universiteit Twente"}
+MACRO {EUR} {"Erasmusuniversiteit Rotterdam"}
+MACRO {UvA} {"Universiteit van Amsterdam"}
+MACRO {VU} {"Vrije Universiteit"}
+
+
+
+% Een aantal natuurkundetijdschriften
+%
+MACRO {AcP} {"Acta Physica"}
+MACRO {AcPA} {"Acta Physica Austriaca"}
+MACRO {AcPP} {"Acta Physica Polonica"}
+MACRO {AdP} {"Advances in Physics"}
+MACRO {AdNP} {"Advances in Nuclear Physics"}
+MACRO {AmJP} {"American Journal of Physics"}
+MACRO {AnPDu} {"Annalen der Physik (Leipzig)"}
+MACRO {AnPFr} {"Annales de Physique (Paris)"}
+MACRO {AnPNY} {"Annals of Physics (NY)"}
+MACRO {ARevNS} {"Annual Review of Nuclear Science"}
+MACRO {ADNDT} {"Atomic Data and Nuclear Data Tables"}
+MACRO {AusJP} {"Australian Journal of Physics"}
+MACRO {CanJP} {"Canadian Journal Physics"}
+MACRO {CPC} {"Computer Physics Communications"}
+MACRO {EJP} {"European Journal of Physics"}
+MACRO {EPL} {"Europhysics Letters"}
+MACRO {FBS} {"Few Body Systems"}
+MACRO {FBSSup} {"Few Body Systems Supplement"}
+MACRO {FortP} {"Fortschritte der Physik"}
+MACRO {HePA} {"Helvetica Physica Acta"}
+MACRO {IEEE} {"IEEE Transactions"}
+MACRO {IJMP} {"International Journal of Modern Physics"}
+MACRO {JETP} {"JETP"}
+MACRO {JETPL} {"JETP Letters"}
+MACRO {JaFi} {"{\cyr {\Ja}derna\ja\ Fizika}"}
+MACRO {JMP} {"Journal of Mathematical Physics"}
+MACRO {JPFr} {"Journal de Physique (Paris)"}
+MACRO {JP} {"Journal of Physics"}
+MACRO {JPSJ} {"Journal of the Physical Society of Japan"}
+MACRO {JPSJSup}{"Journal of the Physical Society of Japan Supplement"}
+MACRO {MPL} {"Modern Physics Letters"}
+MACRO {NCim} {"Il Nuovo Cimento"}
+MACRO {NDS} {"Nuclear Data Sheets"}
+MACRO {NP} {"Nuclear Physics"}
+MACRO {NPSup} {"Nuclear Physics Supplements"}
+MACRO {NTvN} {"Nederlands Tijdschrift voor Natuurkunde"}
+MACRO {Phy} {"Physica"}
+MACRO {PL} {"Physics Letters"}
+MACRO {PRSLon} {"Proceedings of the Royal Society of London"}
+MACRO {PR} {"Physical Review"}
+MACRO {PRL} {"Physical Review Letters"}
+MACRO {PRep} {"Physics Reports"}
+MACRO {PScr} {"Physica Scripta"}
+MACRO {PToday} {"Physics Today"}
+MACRO {PTP} {"Progress of Theoretical Physics"}
+MACRO {RMP} {"Reviews of Modern Physics"}
+MACRO {RPP} {"Reports of Progress in Physics"}
+MACRO {ScAm} {"Scientific American"}
+MACRO {SSin} {"Scienta Sinica"}
+MACRO {SovJNP} {"Soviet Journal of Nuclear Physics"}
+MACRO {SovJPN} {"Soviet Journal of Particles and Nuclei"}
+MACRO {SovPDo} {"Soviet Physics Doklady"}
+MACRO {SovPUs} {"Soviet Physics Uspekhi"}
+MACRO {SPAW} {"Sitzungsberichte der Preussische Akademie der Wissenschaften"}
+MACRO {STS} {"Bulletin of Science, Technology and Social Affairs"}
+MACRO {ZfN} {"Zeitschrift f{\H{u}}r Naturforschung"}
+MACRO {ZfP} {"Zeitschrift f{\H{u}}r Physik"}
+
+
+
+READ
+
+EXECUTE {hello}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { numberlen numberzero}
+
+FUNCTION {numsortify}
+{ purify$
+ "l" change.case$
+ 's :=
+ #1 'numberlen :=
+ { s numberlen #1 substring$ "1" =
+ s numberlen #1 substring$ "2" =
+ s numberlen #1 substring$ "3" =
+ s numberlen #1 substring$ "4" =
+ s numberlen #1 substring$ "5" =
+ s numberlen #1 substring$ "6" =
+ s numberlen #1 substring$ "7" =
+ s numberlen #1 substring$ "8" =
+ s numberlen #1 substring$ "9" =
+ s numberlen #1 substring$ "0" =
+ or or or or or or or or or }
+ { numberlen #1 + 'numberlen := }
+ while$
+ #6 numberlen - 'numberzero :=
+ "000000" #1 numberzero substring$
+ s *
+}
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+
+% this function is provided twice (v2.3 22-10-92): once for the full label
+% once for the abbreviated label
+% the abbreviated version is the version from v2.1
+%
+FUNCTION {format.lab.names.abbr}
+{ 's :=
+ s num.names$ 'numnames :=
+
+ numnames #1 = % maak het citatielabel dat
+ { s #1 "{vv~}{ll}" format.name$ One.cap} % wordt afgedrukt
+ { numnames #2 = % b.v. "van Dale" (WS)
+ {s #1 "{vv~}{ll} " format.name$ One.cap
+ s #2 "{ll}" format.name$ "others" =
+ { "{\em~et~al.}" * }
+ { " en " * s #2 "{vv~}{ll}" format.name$ One.cap * }
+ if$
+ }
+ { s #1 "{vv~}{ll}" format.name$ One.cap "{\em~et~al.}" *}
+ if$
+ }
+ if$
+
+}
+
+FUNCTION {format.lab.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > } % maak het citatielabel dat
+ { s nameptr "{vv~}{ll}" format.name$ One.cap 't := % wordt afgedrukt
+ nameptr > #1 % b.v. "van Dale" (WS)
+ { namesleft #1 >
+ { ", " * t * }
+ { s "others" =
+ { "{\em~et~al.}" * }
+ { " en " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t
+}
+
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key }
+ if$
+ }
+ { author format.lab.names.abbr }
+ if$
+}
+
+
+%% (26-120-92): we proberen eerst de editor, dan de auteur
+FUNCTION {author.editor.key.label}
+{ editor empty$
+ { author empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key }
+ if$
+ }
+ { author format.lab.names.abbr }
+ if$
+ }
+ { editor format.lab.names.abbr }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key }
+ if$
+ }
+ { author format.lab.names.abbr }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key }
+ if$
+ }
+ { editor format.lab.names.abbr }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year empty$
+ { }
+ { year * extra.label * }
+ if$
+ 'sort.label :=
+ 'label := % maak het af te drukken citeerlabel label
+ % en het sorteerlabel sort.label (WS 16 03 92)
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % het sorteerlabel begrijpt Nederlandse namen
+ % b.v "Dale van JH" (WS)
+ s nameptr "{ll{ }}{vv{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "{\em~et~al}" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "De " #3 % titels worden gesorteerd
+ "Een " #4 % op het lidwoord na (WS)
+ "A " #2 % verbeterd (2-11-93)
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+
+%% (26-10-92: we proberen eerst op editor te sorteren,
+%% als dat niet kan op author
+FUNCTION {author.editor.sort}
+{ editor empty$
+ { author empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label % maak het label dat wordt afgedrukt
+ " " %
+ type$ "book" = % maak nu het sorteerlabel
+ type$ "inbook" = % (WS)
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " " *
+ % this fills up the author-string with tabs for proper
+ % alphabetization: `Dale and Dale' should come after `Dale'
+ year field.or.null numsortify % year.string bestaat hier nog niet
+ *
+ type$ "article" =
+ { " " *
+ journal field.or.null sortify *
+ volume field.or.null numsortify *
+ pages field.or.null numsortify * }
+ { skip$ }
+ if$
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass} % (WS 16 03 92) sort.label instead of label
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+
+FUNCTION {reverse.pass} % (WS 16 03 92) year.string used
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ year empty$
+ { "n.d." extra.label * 'year.string := }
+ { year extra.label * 'year.string := }
+ if$
+ extra.label 'next.extra :=
+}
+
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+
+ 'skip$
+ { "\harvardpreambledefs{%" write$ newline$
+ preamble$ write$ "}" write$ newline$
+ "\harvardpreambletext{%" write$ newline$
+ preamble$ write$ "}" write$ newline$ }
+ if$
+
+ "\begin{thebibliography}{}" write$ newline$
+
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/hc/hc-de.bst b/Master/texmf-dist/bibtex/bst/hc/hc-de.bst
new file mode 100644
index 00000000000..53d826e93db
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/hc/hc-de.bst
@@ -0,0 +1,1507 @@
+%%
+%% This is file `hc-de.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,exlang,ay,nat,vonx,nm-revv1,aunm-semi,dt-beg,yr-par,aymth,yrp-col,note-yr,atit-u,trtit-b,pre-pub,edby,edbyx,in-col,german,pp,ed,abr,ord,and-xcom,nfss,{}')
+%% german.mbs (with options: `exlang,ay,nat,vonx,nm-revv1,aunm-semi,dt-beg,yr-par,aymth,yrp-col,note-yr,atit-u,trtit-b,pre-pub,edby,edbyx,in-col,german,pp,ed,abr,ord,and-xcom,nfss,{}')
+%% merlin.mbs (with options: `tail,exlang,ay,nat,vonx,nm-revv1,aunm-semi,dt-beg,yr-par,aymth,yrp-col,note-yr,atit-u,trtit-b,pre-pub,edby,edbyx,in-col,german,pp,ed,abr,ord,and-xcom,nfss,{}')
+%% ----------------------------------------
+%% *** Bibliographie-Standard von Christian Siefkes ***
+%%
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{merlin.mbs}[1998/02/25 3.85a (PWD)]
+ %
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ % Copyright (C) 1994-98 Patrick W. Daly
+ %-------------------------------------------------------------------
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in
+ % GERMAN
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ ":" *
+ add.blank
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{german.mbs}[1995/11/02 1.5 (PWD)]
+ % Copyright (C) 1994, 1995 Patrick W. Daly
+ %-------------------------------------------------------------------
+
+ % The language selected here is GERMAN
+FUNCTION {bbl.and}
+{ "und"}
+
+FUNCTION {bbl.editors}
+{ "Hg." }
+
+FUNCTION {bbl.editor}
+{ "Hg." }
+
+FUNCTION {bbl.edby}
+{ "herausgegeben von" }
+
+FUNCTION {bbl.edition}
+{ "Aufl." }
+
+FUNCTION {bbl.volume}
+{ "Bd." }
+
+FUNCTION {bbl.of}
+{ "von" }
+
+FUNCTION {bbl.number}
+{ "Nr." }
+
+FUNCTION {bbl.nr}
+{ "Nr." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "S." }
+
+FUNCTION {bbl.page}
+{ "S." }
+
+FUNCTION {bbl.chapter}
+{ "Kap." }
+
+FUNCTION {bbl.techrep}
+{ "{Techn.\ Ber.}" }
+
+FUNCTION {bbl.mthesis}
+{ "Diplomarbeit" }
+
+FUNCTION {bbl.phdthesis}
+{ "Dissertation" }
+
+FUNCTION {bbl.first}
+{ "1." }
+
+FUNCTION {bbl.second}
+{ "2." }
+
+FUNCTION {bbl.third}
+{ "3." }
+
+FUNCTION {bbl.fourth}
+{ "4." }
+
+FUNCTION {bbl.fifth}
+{ "5." }
+
+FUNCTION {bbl.th}
+{ "." }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Febr."}
+
+MACRO {mar} {"M\^^b{a}rz"}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"Mai"}
+
+MACRO {jun} {"Juni"}
+
+MACRO {jul} {"Juli"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Okt."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dez."}
+
+ % End of language definition file
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ }
+ { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ }
+ if$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { "; " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.names.ed}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff~}{vv~}{ll}{, jj}"
+ format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { "; " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", " * bbl.editors * }
+ { ", " * bbl.editor * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ ":" *
+ " " * }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+ month empty$
+ 'skip$
+ { month
+ " " * swap$ *
+ }
+ if$
+ extra.label *
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s bbl.th * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ {
+ ":" *
+ pages n.dashify *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize *
+ ", " *
+ editor num.names$ #1 >
+ { bbl.editors }
+ { bbl.editor }
+ if$
+ * " " *
+ format.in.editors *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume capitalize
+ volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.publisher}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$ }
+ 'skip$
+ if$
+ ""
+ address empty$ publisher empty$ and
+ 'skip$
+ {
+ publisher empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { publisher *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ }
+ if$
+ output
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.publisher
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.publisher
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ new.sentence
+ publisher empty$
+ { organization output
+ address output
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ new.block
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ new.sentence
+ organization output
+ publisher output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " et~al." *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ ff{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `hc-de.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/hc/hc-en.bst b/Master/texmf-dist/bibtex/bst/hc/hc-en.bst
new file mode 100644
index 00000000000..434b69a0195
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/hc/hc-en.bst
@@ -0,0 +1,1539 @@
+%%
+%% This is file `hc-en.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `,ay,nat,nm-revv1,aunm-semi,dt-beg,yr-par,aymth,yrp-col,note-yr,atit-u,trtit-b,pre-pub,edby,edbyx,in-col,pp,ed,abr,mth-bare,ord,nfss')
+%% ----------------------------------------
+%% *** Christian Siefkes standard bibliography ***
+%%
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{merlin.mbs}[1998/02/25 3.85a (PWD)]
+ %
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ % Copyright (C) 1994-98 Patrick W. Daly
+ %-------------------------------------------------------------------
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ ":" *
+ add.blank
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edn." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ }
+ { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ }
+ if$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { "; " * t * }
+ {
+ numnames #2 >
+ { ";" * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+FUNCTION {format.names.ed}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff~}{vv~}{ll}{, jj}"
+ format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { "; " * t * }
+ {
+ numnames #2 >
+ { ";" * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", " * bbl.editors * }
+ { ", " * bbl.editor * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ ":" *
+ " " * }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+ month empty$
+ 'skip$
+ { month
+ " " * swap$ *
+ }
+ if$
+ purify$
+ extra.label *
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ {
+ ":" *
+ pages n.dashify *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize *
+ ", " *
+ editor num.names$ #1 >
+ { bbl.editors }
+ { bbl.editor }
+ if$
+ * " " *
+ format.in.editors *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume capitalize
+ volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.publisher}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$ }
+ 'skip$
+ if$
+ ""
+ address empty$ publisher empty$ and
+ 'skip$
+ {
+ publisher empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { publisher *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ }
+ if$
+ output
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.publisher
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.publisher
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ new.sentence
+ publisher empty$
+ { organization output
+ address output
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ new.block
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ new.sentence
+ organization output
+ publisher output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " et~al." *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " et~al." *
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `hc-en.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/ieeepes/ieeepes.bst b/Master/texmf-dist/bibtex/bst/ieeepes/ieeepes.bst
new file mode 100644
index 00000000000..ae435fa508a
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/ieeepes/ieeepes.bst
@@ -0,0 +1,1014 @@
+%%%%% ieeepes.bst
+%
+% Bibliography Style file for articles according to IEEE instructions
+% balemi@aut.ee.ethz.ch <22-JUN-93>
+% modified from unsrt.bib. Contributions by Richard H. Roy
+%
+% Modified by Volker Kuhlmann <kuhlmav@elec.canterbury.ac.nz>, 14 Nov 95
+% Spelled out month names. Added some IEEE macros.
+%
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+% next line commented out by rhr and changed to write comma
+% { add.period$ write$
+ { ", " * write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+% 5/24/89 rhr
+% modified fin.entry function - prints note field after body of entry
+%FUNCTION {fin.entry}
+%{ add.period$
+% note empty$
+% 'write$
+% { "\par\bgroup\parindent=0em " * annote * "\par\egroup " * write$
+% }
+% if$
+% newline$
+%}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+%FUNCTION {boldface}
+%{ 's swap$ :=
+% s "" =
+% { "" }
+% { "{\bf " s * "}" * }
+% if$
+%}
+%
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", Eds." * }
+ { ", Ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "``" title "t" change.case$ * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+% FUNCTION {format.date}
+% { year empty$
+% 'year
+% { " " year * }
+% if$
+% }
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{
+volume empty$
+ {"" }
+ {"vol. " volume *}
+if$
+number empty$
+ 'skip$
+ {", no. " number * *}
+if$
+pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", pp. " * pages n.dashify * }
+ if$
+ }
+if$
+}
+
+%FUNCTION {format.vol.num.pages}
+%%boldface added 3/17/87 rhr
+%{ volume field.or.null boldface
+% number empty$
+% 'skip$
+% { "(" number * ")" * *
+% volume empty$
+% { "there's a number but no volume in " cite$ * warning$ }
+% 'skip$
+% if$
+% }
+% if$
+% pages empty$
+% 'skip$
+% { duplicate$ empty$
+% { pop$ format.pages }
+% { ":" * pages n.dashify * }
+% if$
+% }
+% if$
+%}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle emphasize * }
+ { "in " booktitle emphasize * ", " * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. {R}ep." }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "''" * "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "''" * "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "''" * "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "''" * "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ }
+ if$
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ publisher output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "''" * "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title "''" * output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "''" * "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "''" * "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+%% VK:
+MACRO {ieeepes} {"IEEE Power Engineering Society"}
+MACRO {ieeetec} {"IEEE Transactions on Energy Conversion"}
+MACRO {ieeetpd} {"IEEE Transactions on Power Delivery"}
+MACRO {ieeetps} {"IEEE Transactions on Power Systems"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%%%%% EOF ieeepes.bst
diff --git a/Master/texmf-dist/bibtex/bst/ifacmtg/ifac.bst b/Master/texmf-dist/bibtex/bst/ifacmtg/ifac.bst
new file mode 100644
index 00000000000..861adda7490
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/ifacmtg/ifac.bst
@@ -0,0 +1,1294 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%% End of IFAC.bst %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% ===========================================================================
+%%% @LaTeX-style-file{
+%%% author = "Silvano Balemi",
+%%% version = "1.4",
+%%% date = "12-MAR-1993",
+%%% filename = "IFAC.bst",
+%%% address = "Automatic Control Laboratory
+%%% Swiss Federal Institute of Technology (ETH)
+%%% 8092 Zurich, Switzerland",
+%%% telephone = "+41 (1) 632.55.34",
+%%% FAX = "+41 (1) 262.43.62",
+%%% email = "balemi@aut.ee.ethz.ch (Internet)",
+%%% keywords = "BibTeX, IFAC proceedings, Camera ready,
+%%% publisher style",
+%%% supported = "yes",
+%%% docstring = "BibTeX style file for reference according to
+%%% the instruction of the International Federation
+%%% of Automatic Control (IFAC) (modified from
+%%% alpha.bst)
+%%% To be used with the style files
+%%% IFACarticle.sty, automatica.sty or the substyle file
+%%% harvard.sty .
+%%% It is based on modified version of
+%%% agsm.bst by Peter Williams
+%%% peterw@archsci.arch.su.oz.au",
+%%% }
+%%% ===========================================================================
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ { field.used }
+ { extra.label sort.label list.year }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t f }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ". " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.yearnull}
+{ 's :=
+ output.state mid.sentence =
+ { ". " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {item.check}
+{ 't :=
+ empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {quote}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+% { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ { ", " * t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+
+FUNCTION {format.editor.names}
+{ 's :=
+ 'f :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr f format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "(" }
+ { "{vv~}{ll}{, jj}{, ff}" editor format.editor.names
+ editor num.names$ #1 >
+ { ", Eds.)" * }
+ { ", Ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "(" }
+ { "{ff~}{vv~}{ll}{, jj}" editor format.editor.names
+ editor num.names$ #1 >
+ { ", Eds.)" * }
+ { ", Ed.)" * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " In: " * series quote * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume embolden field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ",~" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "Chap." }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In: " booktitle quote * }
+ { "In: " booktitle quote * " (" * format.editors.reverse * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { "In: \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * " \cite{" * crossref * "}" *}
+ if$
+ }
+ { "In: \citeasnoun{" crossref * "}" * }
+ if$
+ }
+ { "In: \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names.abbr}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #2 >
+ { s #1 "{vv~}{ll}" format.name$ " {\em et al.}" * }
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { s #1 "{vv~}{ll}" format.name$ " {\em et al.}" * }
+ { s #1 "{vv~}{ll}" format.name$ " and " *
+ s #2 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ { s #1 "{vv~}{ll}" format.name$ }
+ if$
+}
+
+FUNCTION {format.lab.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+INTEGERS { author.field editor.field organization.field title.field key.field }
+
+FUNCTION {init.field.constants}
+{ #0 'author.field :=
+ #1 'editor.field :=
+ #2 'organization.field :=
+ #3 'title.field :=
+ #4 'key.field :=
+}
+
+FUNCTION {make.list.label}
+{ author.field field.used =
+ { format.authors }
+ { editor.field field.used =
+ { format.editors }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.full.label}
+{ author.field field.used =
+ { author format.lab.names.full }
+ { editor.field field.used =
+ { editor format.lab.names.full }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.abbr.label}
+{ author.field field.used =
+ { author format.lab.names.abbr }
+ { editor.field field.used =
+ { editor format.lab.names.abbr }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\harvarditem[" write$
+ make.abbr.label write$
+ "]{" write$
+ make.abbr.label write$
+ "}{" write$
+ list.year write$
+ "}{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {list.label.output}
+{ make.list.label " " * write$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ crossref missing$
+ { journal emphasize "journal" duplicate$ item.check
+ pages empty$
+ {
+ output
+ }
+ {
+ " " *
+ format.vol.num.pages * output
+ }
+ if$
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.chapter.pages output
+ new.block
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages output
+ new.block
+ format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ }
+ { organization output
+ publisher output
+ address output.nonnull
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.edition output
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ title.field field.used =
+ { skip$ }
+ { format.title output }
+ if$
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { title "title" output.check }
+ if$
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { skip$ }
+ { organization output
+ }
+ if$
+ publisher output
+ }
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ address output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.yearnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+EXECUTE {init.field.constants}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ make.abbr.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify }
+ if$
+ year field.or.null purify$ #-1 #4 substring$ sortify
+ *
+ 'sort.label :=
+}
+
+FUNCTION {first.presort}
+{ calc.label
+ sort.label
+ title.field field.used =
+ { skip$ }
+ { " "
+ *
+ make.list.label sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {first.presort}
+
+SORT
+
+STRINGS { last.sort.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.last.extra.num}
+{ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ year empty$
+ { "n.d." extra.label emphasize * 'list.year := }
+ { year extra.label emphasize * 'list.year := }
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.last.extra.num}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {second.presort}
+{ make.list.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify }
+ if$
+ " "
+ *
+ list.year field.or.null sortify
+ *
+ " "
+ *
+ title.field field.used =
+ { skip$ }
+ { title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {second.presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{xx}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End of IFAC.bst %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/bibtex/bst/imac/imac.bst b/Master/texmf-dist/bibtex/bst/imac/imac.bst
new file mode 100644
index 00000000000..ec7217f1f73
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/imac/imac.bst
@@ -0,0 +1,1227 @@
+%%
+%% This is file `imac.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,exlang,seq-no,nm-rev,ed-rev,nmft-bf,nmand-rm,yr-com,tit-it,atit-u,jttl-rm,vnum-nr,volp-com,jwdpg,jwdvol,btit-rm,edpar,edby,blk-com,in-x,english,pp,abr,ord,and-xcom,em-it,nfss,{}')
+%% english.mbs (with options: `exlang,seq-no,nm-rev,ed-rev,nmft-bf,nmand-rm,yr-com,tit-it,atit-u,jttl-rm,vnum-nr,volp-com,jwdpg,jwdvol,btit-rm,edpar,edby,blk-com,in-x,english,pp,abr,ord,and-xcom,em-it,nfss,{}')
+%% merlin.mbs (with options: `tail,exlang,seq-no,nm-rev,ed-rev,nmft-bf,nmand-rm,yr-com,tit-it,atit-u,jttl-rm,vnum-nr,volp-com,jwdpg,jwdvol,btit-rm,edpar,edby,blk-com,in-x,english,pp,abr,ord,and-xcom,em-it,nfss,{}')
+%% ----------------------------------------
+%% *** Format for IMAC (International Modal Analysis Conference) ***
+%% Generated Oct 5, 1997 by Joseph C. Slater
+%% jslater@cs.wright.edu
+%%
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{merlin.mbs}[1997/06/09 3.83 (PWD)]
+ %
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ % Copyright (C) 1994-97 Patrick W. Daly
+ %-------------------------------------------------------------------
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in
+ % ENGLISH
+ % This is a numerical citation style, and as such is standard LaTeX.
+ % It requires no extra package to interface to the main text.
+ % The form of the \bibitem entries is
+ % \bibitem{key}...
+ % Usage of \cite is as follows:
+ % \cite{key} ==>> [#]
+ % \cite[chap. 2]{key} ==>> [#, chap. 2]
+ % where # is a number determined by the ordering in the reference list.
+ % The order in the reference list is that by which the works were originally
+ % cited in the text, or that in the database.
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {roman.list}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\mdseries " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {roman.cite}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\textsuperscript " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{english.mbs}[1995/05/04 1.1 (PWD)]
+ % Copyright (C) 1994, 1995 Patrick W. Daly
+ %-------------------------------------------------------------------
+
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.editors}
+{ "editors" }
+
+FUNCTION {bbl.editor}
+{ "editor" }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edn." }
+
+FUNCTION {bbl.volume}
+{ "Vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "No." }
+
+FUNCTION {bbl.nr}
+{ "No." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+ % End of language definition file
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " et~al." * }
+ { bbl.and roman.list space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ format.names }
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ {
+ author format.names bolden
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ {
+ editor format.names bolden
+ editor num.names$ #1 >
+ { " (" * bbl.editors * ")" * }
+ { " (" * bbl.editor * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ emphasize
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ "" }
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+ duplicate$ empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ ", " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * bbl.pages "~" * * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ volume empty$
+ 'skip$
+ { bbl.volume "~" * swap$ * }
+ if$
+ number empty$
+ 'skip$
+ {
+ ", " bbl.nr * number tie.or.space.connect *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize *
+ ", " *
+ bbl.edby
+ *
+ " " *
+ format.in.editors *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { word.in journal emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { word.in booktitle emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.publisher}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$ }
+ 'skip$
+ if$
+ ""
+ address empty$ publisher empty$ and
+ 'skip$
+ {
+ publisher empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { publisher *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ }
+ if$
+ output
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { journal
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.publisher
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished output
+ address output
+ format.date output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.publisher
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.publisher
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ publisher empty$
+ { organization output
+ address output
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished output
+ format.date output
+ format.note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `imac.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/index/xagsm.bst b/Master/texmf-dist/bibtex/bst/index/xagsm.bst
new file mode 100644
index 00000000000..1c98abcf200
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/index/xagsm.bst
@@ -0,0 +1,1274 @@
+% BibTeX standard bibliography style `agsm' (one of the harvard family)
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1991, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst,
+ % dcu.bst or kluwer.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file harvard.tex has the documentation for this style.
+
+% ACKNOWLEDGEMENT:
+% This document is a modified version of alpha.bst to which it owes much of
+% its functionality.
+
+% AUTHOR
+% Peter Williams, Key Centre for Design Quality, Sydney University
+% e-mail: peterw@archsci.arch.su.oz.au
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ { field.used }
+ { extra.label sort.label list.year }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t f }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {item.check}
+{ 't :=
+ empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {quote}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "`" swap$ * "'" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ 'f :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr f format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%% begin modification
+
+FUNCTION {format.name.index.entry}
+{
+ "\do{"
+ s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$
+ duplicate$ purify$ swap$ "@" swap$ * *
+ "}" * *
+}
+
+FUNCTION {format.author.index.entries}
+{
+ author empty$
+ 'skip$
+ {
+ author 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ "\authorindexentries{"
+ cite$ *
+ "}{" *
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { format.name.index.entry *
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ "}" * write$
+ newline$
+ }
+ if$
+}
+
+%% FUNCTION {output.bibitem}
+%% { newline$
+%% "\bibitem{" write$
+%% cite$ write$
+%% "}" write$
+%% newline$
+%% format.author.index.entries % modification
+%% ""
+%% before.all 'output.state :=
+%% }
+
+%% end modification
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{, f.}" author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{, f.}" editor format.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "" }
+ { "{f.~}{vv~}{ll}{, jj}" editor format.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " {\em in} " * series quote * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn" * }
+ { edition "t" change.case$ " edn" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume embolden field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ",~" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "{\em in} " booktitle quote * }
+ { "{\em in} " format.editors.reverse * ", " * booktitle quote * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * " \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names.abbr}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #2 >
+ { s #1 "{vv~}{ll}" format.name$ " et al." * }
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { s #1 "{vv~}{ll}" format.name$ " et al." * }
+ { s #1 "{vv~}{ll}" format.name$ " \& " *
+ s #2 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ { s #1 "{vv~}{ll}" format.name$ }
+ if$
+}
+
+FUNCTION {format.lab.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et~al." * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+INTEGERS { author.field editor.field organization.field title.field key.field }
+
+FUNCTION {init.field.constants}
+{ #0 'author.field :=
+ #1 'editor.field :=
+ #2 'organization.field :=
+ #3 'title.field :=
+ #4 'key.field :=
+}
+
+FUNCTION {make.list.label}
+{ author.field field.used =
+ { format.authors }
+ { editor.field field.used =
+ { format.editors }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.full.label}
+{ author.field field.used =
+ { author format.lab.names.full }
+ { editor.field field.used =
+ { editor format.lab.names.full }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.abbr.label}
+{ author.field field.used =
+ { author format.lab.names.abbr }
+ { editor.field field.used =
+ { editor format.lab.names.abbr }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\harvarditem[" write$
+ make.abbr.label write$
+ "]{" write$
+ make.full.label write$
+ "}{" write$
+ list.year write$
+ "}{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ format.author.index.entries % modification
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {list.label.output}
+{ make.list.label " " * write$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ crossref missing$
+ { journal emphasize "journal" duplicate$ item.check
+ pages empty$
+ {
+ output
+ }
+ {
+ " " *
+ format.vol.num.pages * output
+ }
+ if$
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ author "author" item.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ }
+ { organization output
+ publisher output
+ address output.nonnull
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.edition output
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title quote output }
+ if$
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { title "title" output.check }
+ if$
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { skip$ }
+ { organization output
+ }
+ if$
+ publisher output
+ }
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ address output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ list.label.output
+ " (" list.year * ")" * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+EXECUTE {init.field.constants}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ make.abbr.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify }
+ if$
+ year field.or.null purify$ #-1 #4 substring$ sortify
+ *
+ 'sort.label :=
+}
+
+FUNCTION {first.presort}
+{ calc.label
+ sort.label
+ title.field field.used =
+ { skip$ }
+ { " "
+ *
+ make.list.label sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {first.presort}
+
+SORT
+
+STRINGS { last.sort.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.last.extra.num}
+{ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ year empty$
+ { "n.d." extra.label emphasize * 'list.year := }
+ { year extra.label emphasize * 'list.year := }
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.last.extra.num}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {second.presort}
+{ make.list.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify }
+ if$
+ " "
+ *
+ list.year field.or.null sortify
+ *
+ " "
+ *
+ title.field field.used =
+ { skip$ }
+ { title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {second.presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{xx}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/index/xplain.bst b/Master/texmf-dist/bibtex/bst/index/xplain.bst
new file mode 100644
index 00000000000..3cd7c4dc2ac
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/index/xplain.bst
@@ -0,0 +1,1135 @@
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ "\bibref{" cite$ "}" * * write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%% begin modification
+
+FUNCTION {format.name.index.entry}
+{
+ "\do{"
+ s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$
+ duplicate$ purify$ swap$ "@" swap$ * *
+ "}" * *
+}
+
+FUNCTION {format.author.index.entries}
+{
+ author empty$
+ 'skip$
+ {
+ author 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ "\authorindexentries{"
+ cite$ *
+ "}{" *
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { format.name.index.entry *
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ "}" * write$
+ newline$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ format.author.index.entries % modification
+ ""
+ before.all 'output.state :=
+}
+
+%% end modification
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/inlinebib/inlinebib.bst b/Master/texmf-dist/bibtex/bst/inlinebib/inlinebib.bst
new file mode 100644
index 00000000000..8178a47a3f9
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/inlinebib/inlinebib.bst
@@ -0,0 +1,1125 @@
+% Bibliography style for footnote references. The citation is the
+% complete reference the first time, and a shorter reference the
+% following times. It uses an optional shorttitle entry in the database
+% for the short reference. For use with inlinebib.sty.
+
+% Changes made are Copyright (C) 1999 Ren Seindal
+
+% This program can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ shortauthor
+ shorttitle
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ before.note}
+
+INTEGERS { short.title.max.length }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.note :=
+
+ #50 'short.title.max.length :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+% cite$ " >>>" * s * "<<< " * output.state int.to.str$ * warning$
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { ", " * write$ % add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state before.note =
+ { write$
+ " \note " add.period$ write$
+ note missing$
+ 'skip$
+ { newline$
+ "\newblock " write$
+ }
+ if$
+ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+% cite$ "x >>>" * s * "<<< " * output.state int.to.str$ * warning$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.note}
+{ before.note 'output.state :=
+ note missing$
+ { "" }
+ { note }
+ if$
+ output.nonnull
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " et al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", (eds.)" * }
+ { ", (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ "``" swap$ * "''" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " by " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in: " booktitle emphasize * }
+ { "in: " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "in: \cite{" crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "in: " }
+ { "volume" volume tie.or.space.connect " of: " *
+ }
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "in: \cite{" crossref * "}" *
+}
+
+FUNCTION {format.author.short}
+{ ""
+ author empty$
+ shortauthor empty$
+ editor empty$
+ and and
+% { "no author or editor for short reference of " cite$ * warning$ }
+ 'skip$
+ { shortauthor empty$
+ { author empty$
+ 'editor
+ 'author
+ if$
+ }
+ { author empty$
+ 'shortauthor
+ { author text.length$
+ shortauthor text.length$
+ <
+ 'author
+ 'shortauthor
+ if$
+ }
+ if$
+ }
+ if$
+
+ 's :=
+ s num.names$ 'numnames :=
+ numnames #0 >
+ { s #1 "{vv~}{ll}" format.name$ *
+ numnames #1 >
+ { " et al." * }
+ { "" * }
+ if$
+ }
+ { "" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { tmp title.length }
+
+FUNCTION {shorten.title}
+{ 's :=
+ s text.length$ 'title.length :=
+% "TITLE1=" quote$ * s * quote$ * warning$
+ #2 'tmp :=
+ { tmp title.length - #1 < }
+ { s tmp text.prefix$ 't :=
+% ">>>" t * "<<< " * tmp int.to.str$ * warning$
+ t #-1 #2 substring$ ". " =
+ t #-1 #2 substring$ ": " =
+ or not
+ 'skip$
+ { s tmp #2 - text.prefix$ 's :=
+ title.length 'tmp :=
+ }
+ if$
+ tmp #1 + 'tmp :=
+ }
+ while$
+% "TITLE2=" quote$ * s * quote$ * warning$
+ s
+}
+
+FUNCTION {format.title.short}
+{
+ shorttitle missing$
+ { title field.or.null
+ shorten.title
+ duplicate$ text.length$ 'tmp :=
+ tmp short.title.max.length >
+ { "shortened title for " cite$ * " is still " *
+ tmp short.title.max.length - int.to.str$ *
+ " characters too long" * warning$
+ }
+ 'skip$
+ if$
+ }
+ { shorttitle
+ duplicate$
+ text.length$ 'tmp :=
+ tmp short.title.max.length >
+ { "specified shorttitle for " cite$ * " is " *
+ tmp short.title.max.length - int.to.str$ *
+ " characters too long" * warning$
+ }
+ 'skip$
+ if$
+ }
+ if$
+
+ duplicate$ empty$
+ { "no short title for " cite$ * " screwing up." * warning$ }
+ { "\/" * emphasize }
+ if$
+
+ volume missing$
+ 'skip$
+ { type$ "book" =
+ { ", vol.~" * volume *
+ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.shortref}
+{ before.all 'output.state :=
+ "\short "
+ format.author.short output
+ format.title.short " \end" * output
+% duplicate$ ">>>> " swap$ * " <<<<" * warning$
+ write$
+ newline$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Speciale" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ 'skip$
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { % organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.note
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+ format.shortref
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "mfl." * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.title.sort}
+{ editor empty$
+ { key empty$
+ { title field.or.null sortify }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.title.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/iopart-num/iopart-num.bst b/Master/texmf-dist/bibtex/bst/iopart-num/iopart-num.bst
new file mode 100755
index 00000000000..a88722c32b6
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/iopart-num/iopart-num.bst
@@ -0,0 +1,1512 @@
+% iopart-num.bst -- BibTeX style for IOP journals (Harvard-like numeric style)
+%
+% M. A. Caprio, Yale University
+% July 11, 2005
+% Version 1.0
+%
+% DESCRIPTION
+%
+% The formatting implemented is based upon the specification
+% "Preparing an article for publication in an Institute
+% of Physics Publishing journal using LaTeX2e", by Neil Scriven
+% and Romneya Robertson.
+%
+% INSTRUCTIONS
+%
+% If natbib is *not* used, under the iopart document class the
+% biblography section should be started with \section*{References}.
+%
+% If natbib *is* used, it should be loaded with the option "square"
+% to produce citations in square brackets, e.g.,
+% \usepackage[square,sort&compress]{natbib}.
+%
+% TECHNICAL NOTES
+%
+% Created using custom-bib, with following manual modifications:
+% -- remove trailing period from predefined volume, page, etc., abbreviations
+% -- provide command \newblock to fix incompatibility between natbib
+% and iopart (1996/06/10)
+% -- move edition after booktitle
+% -- add version identifier to generated output
+% -- for incollection and inproceedings, move volume from after publisher to before
+% -- for any series with number, number after series
+%
+% COMMENTS ON CONFORMANCE TO IOP STYLE
+%
+% -- If journal section letters are to be typeset upright, this must be done
+% manually in the database entry.
+% -- The e-print number (specified as eprint) is typeset parenthetically at
+% end of an entry (as currently encountered in J. Phys.) rather than as a
+% separate entry (as described in the Scriven and Robertson specification).
+
+%% This is file `iopart-num.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `seq-no,nm-rv,dt-beg,yr-blk,xmth,yrp-x,jtit-x,vol-bf,volp-blk,num-xser,jnm-x,add-pub,pub-par,pre-pub,isbn,issn,blk-com,com-blank,fin-bare,pp,ed,abr,ednx,mth-bare,ord,jabr,and-xcom,etal-it,revdata,eprint,url,url-blk')
+%% ----------------------------------------
+%% *** Institute of Physics (IOP) journals; Harvard-like numeric style ***
+%%
+%% Copyright 1994-2002 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2002/10/21 4.05 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is a numerical citation style, and as such is standard LaTeX.
+ % It requires no extra package to interface to the main text.
+ % The form of the \bibitem entries is
+ % \bibitem{key}...
+ % Usage of \cite is as follows:
+ % \cite{key} ==>> [#]
+ % \cite[chap. 2]{key} ==>> [#, chap. 2]
+ % where # is a number determined by the ordering in the reference list.
+ % The order in the reference list is that by which the works were originally
+ % cited in the text, or that in the database.
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ archive
+ author
+ booktitle
+ chapter
+ collaboration
+ edition
+ editor
+ eid
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ numpages
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ duplicate$ empty$
+ 'pop$
+ 'write$
+ if$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ add.blank
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+STRINGS {z}
+FUNCTION {remove.dots}
+{ 'z :=
+ ""
+ { z empty$ not }
+ { z #1 #1 substring$
+ z #2 global.max$ substring$ 'z :=
+ duplicate$ "." = 'pop$
+ { * }
+ if$
+ }
+ while$
+}
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds" }
+
+FUNCTION {bbl.editor}
+{ "ed" }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "ed" }
+
+FUNCTION {bbl.volume}
+{ "vol" }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no" }
+
+FUNCTION {bbl.nr}
+{ "no" }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp" }
+
+FUNCTION {bbl.page}
+{ "p" }
+
+FUNCTION {bbl.eidpp}
+{ "pages" }
+
+FUNCTION {bbl.chapter}
+{ "chap" }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+%% FUNCTION {format.eprint}
+%% { eprint duplicate$ empty$
+%% 'skip$
+%% { "\eprint"
+%% archive empty$
+%% 'skip$
+%% { "[" * archive * "]" * }
+%% if$
+%% "{" * swap$ * "}" *
+%% }
+%% if$
+%% }
+FUNCTION {format.eprint}
+{ eprint duplicate$ empty$
+ 'skip$
+ {
+ "(\textit{Preprint} "
+ swap$
+ "\eprint"
+ archive empty$
+ 'skip$
+ { "[" * archive * "]" * }
+ if$
+ "{" * swap$ * "}" *
+ *
+ ")"
+ *
+ }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\urlprefix\url{" url * "}" * }
+ if$
+}
+
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{ jj}{ f{~}}"
+ format.name$
+ remove.dots
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f{~}~}{vv~}{ll}{ jj}"
+ format.name$
+ remove.dots
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.authors}
+{ author "author" format.names
+ duplicate$ empty$ 'skip$
+ { collaboration "collaboration" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " (" swap$ * ")" * }
+ if$
+ *
+ }
+ if$
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ *
+ }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{
+ ""
+ duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$ 'skip$
+ { "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { swap$ 'skip$
+ {
+ swap$
+ " " * swap$
+ }
+ if$
+ *
+ remove.dots
+ }
+ if$
+ duplicate$ empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ " " swap$ *
+ }
+ if$
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ {
+ %% output.state mid.sentence =
+ %% { bbl.number }
+ %% { bbl.number capitalize }
+ %% if$
+ %% number tie.or.space.prefix "number" bibinfo.check * *
+ %% bbl.in space.word *
+ %% series "series" bibinfo.check *
+ series "series" bibinfo.check
+ " " * bbl.number *
+ number tie.or.space.prefix "number" bibinfo.check * *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ convert.edition
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ " " *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ " " *
+ }
+ if$
+ swap$
+ numpages empty$ 'skip$
+ { bbl.eidpp numpages tie.or.space.prefix
+ "numpages" bibinfo.check * *
+ " (" swap$ * ")" * *
+ }
+ if$
+ }
+ if$ *
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ bolden
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "(" swap$ * ")" *
+ }
+ if$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ ", " *
+ * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ key duplicate$ empty$
+ { pop$
+ journal duplicate$ empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
+ { "journal" bibinfo.check emphasize word.in swap$ * }
+ if$
+ }
+ { word.in swap$ * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ "editor" bibinfo.check
+ editor num.names$ duplicate$
+ #2 >
+ { pop$
+ "editor" bibinfo.check
+ " " * bbl.etal
+ emphasize
+ *
+ }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ "editor" bibinfo.check
+ " " * bbl.etal
+ emphasize
+ *
+ }
+ {
+ bbl.and space.word
+ * editor #2 "{vv~}{ll}" format.name$
+ "editor" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { format.booktitle duplicate$ empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ }
+ { word.in swap$ * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ add.blank "(" *
+ address "address" bibinfo.check *
+ t empty$
+ 'skip$
+ { address empty$
+ 'skip$
+ { ": " * }
+ if$
+ t *
+ }
+ if$
+ ")" *
+ }
+ if$
+}
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ date.block
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ add.blank
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ %% format.edition output
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.date output
+ date.block
+ format.title "title" output.check
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.publisher.address output
+ %% format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ date.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.publisher.address output
+ %% format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.edition output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ date.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization "organization" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { output
+ address "address" bibinfo.check output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.date output
+ date.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address "address" bibinfo.check output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ }
+ if$
+ format.edition output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.date output
+ format.title output
+ howpublished "howpublished" bibinfo.check output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+ empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization "organization" bibinfo.check output
+ }
+ { format.editors output.nonnull }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ editor empty$
+ { publisher empty$
+ 'skip$
+ {
+ format.publisher.address output
+ }
+ if$
+ }
+ { publisher empty$
+ {
+ format.organization.address output }
+ {
+ organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ if$
+ format.isbn output
+ format.issn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.date output
+ date.block
+ format.title "title" output.check
+ format.note "note" output.check
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\providecommand{\newblock}{}"
+ write$ newline$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname url\endcsname\relax"
+ write$ newline$
+ " \def\url#1{{\tt #1}}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
+ write$ newline$
+ "\providecommand{\eprint}[2][]{\url{#2}}"
+ write$ newline$
+ "% Bibliography created with iopart-num.bst, v1.0"
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `iopart-num.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/jurabib/jox.bst b/Master/texmf-dist/bibtex/bst/jurabib/jox.bst
new file mode 100644
index 00000000000..c7842ef7c3c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/jurabib/jox.bst
@@ -0,0 +1,2397 @@
+%%
+%% This is file `jox.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% jurabib.dtx (with options: `joxbst')
+%% ----------------------------------------
+%% BibTeX style for use with the jurabib package version v0.6
+%% Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org)
+%% See jurabib.ins for the copyright details.
+%%
+FUNCTION {version} { " v0.1k" }
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ stitle
+ title
+ type
+ volume
+ year
+ url
+ urldate
+ volumetitle
+ juratitle
+ shorttitle
+ juraauthor
+ shortauthor
+ howcited
+ ssedition
+ language
+ titleaddon
+ booktitleaddon
+ editortype
+ sortkey
+ annote
+ gender
+ translator
+ flanguage
+ oyear
+ oaddress
+ opublisher
+ pseudonym
+ volformat
+ noed
+ }
+ { repeat-authors }
+ { label dummy.label extra.label sort.label short.list current-authors }
+
+INTEGERS { output.state before.all mid.sentence }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+}
+
+STRINGS { s t u v w x }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { write$ mid.sentence 'output.state := }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {format.endnote}
+{ note empty$
+ { "" }
+ { " \jbendnote {" note * "}" * }
+ if$
+}
+
+FUNCTION {format.howcited}{ before.all 'output.state := "} {\bibhowcited}" format.endnote * * }
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.name.sig}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff}{ vv}{ ll}{ jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { "sssss" * t * }
+ { t "others" =
+ { " et al." * }
+ { "" * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.snd.editors}
+{ editor empty$
+ { "" * }
+ { author empty$
+ { editortype empty$
+ { editor num.names$ #1 >
+ { "\snded {\sndeditorsname}" * }
+ { "\snded {\sndeditorname}" * }
+ if$
+ }
+ { "\snded {(" editortype * ")}" * * }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {count.authors.or.editors}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { "" 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { "" * }
+ { "s" * } % more than one author/editor, append `s'
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {set.after.author.sep}
+{ before.all 'output.state :=
+ author missing$
+ { editor missing$
+ { organization missing$
+ { "} {empty} {} {" }
+ { "} {" organization "} {org} {" * * }
+ if$
+ }
+ { "} {" editor format.name.sig * "} {ed" editor count.authors.or.editors "} {" * * * }
+ if$
+ }
+ { "} {" author format.name.sig * "} {au" author count.authors.or.editors "} {" * * * }
+ if$
+ author empty$
+ { format.snd.editors }
+ 'skip$
+ if$
+ "" *
+}
+
+FUNCTION {format.note}
+{ note empty$
+ 'skip$
+ { output.state before.all =
+ { "\jbnote {}{" * note * "}" * }
+ { " \jbnote {1}{" * note * "}" * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" *
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+FUNCTION {bbl.edition}
+{ "\editionname {} " }
+
+FUNCTION {bbl.vol}
+{ "\volname {}" }
+
+FUNCTION {bbl.volume}
+{ "\volumename {}" }
+
+FUNCTION {bbl.of}
+{ " \volumeofname {} " }
+
+FUNCTION {bbl.number}
+{ "\numbername" }
+
+FUNCTION {bbl.in}
+{ "\incollinname {} " }
+
+FUNCTION {bbl.in.series}
+{ "\inseriesname {}" }
+
+FUNCTION {bbl.chapter}
+{ "\bibchaptername {}" }
+
+FUNCTION {bbl.techrep}
+{ "\technicalreportname {}" }
+
+FUNCTION {bbl.mthesis}
+{ "\mastersthesisname {}" }
+
+FUNCTION {bbl.phdthesis}
+{ "\phdthesisname {}"}
+
+MACRO {jan} {"\janname"}
+MACRO {feb} {"\febname"}
+MACRO {mar} {"\marname"}
+MACRO {apr} {"\aprname"}
+MACRO {may} {"\mayname"}
+MACRO {jun} {"\junname"}
+MACRO {jul} {"\julname"}
+MACRO {aug} {"\augname"}
+MACRO {sep} {"\sepname"}
+MACRO {oct} {"\octname"}
+MACRO {nov} {"\novname"}
+MACRO {dec} {"\decname"}
+
+FUNCTION {checked.emph.format}
+{ type$ "book" = type$ "inbook" = type$ "proceedings" = type$ "inproceedings" = or or or
+ { "\bibtfont {" }
+ { "\bibapifont {" }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { checked.emph.format swap$ * "}" * }
+ if$
+}
+
+FUNCTION {b.emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibbtfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {write.url}
+{ url empty$
+ { urldate empty$
+ 'skip$
+ { "there's an urldate, but no url in " cite$ * warning$ }
+ if$
+ }
+ { type$ "www" =
+ 'skip$
+ { ", " * }
+ if$
+ title empty$ output.state before.all = and
+ { "" * mid.sentence 'output.state := }
+ { " " * }
+ if$
+ urldate empty$
+ { "\jburluse {" cite$ * "}" * * }
+ { "\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {lastnamemarkup}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibnf {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {editorlastnamemarkup}
+{ duplicate$ empty$
+ { pop$ "" }
+ { author empty$
+ { "\biblenf {" swap$ * "}" * }
+ { "\bibenf {" swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {othermarkup}
+{ duplicate$ empty$
+ { pop$ " {}" }
+ { " {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {indexmarkup}
+{ duplicate$ empty$
+ { pop$ "{}" }
+ { "{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {format.names.for.index}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t indexmarkup 't :=
+ s nameptr "{ff}" format.name$ indexmarkup 'u :=
+ s nameptr "{f.}" format.name$ indexmarkup 'v :=
+ s nameptr "{vv}" format.name$ indexmarkup 'w :=
+ s nameptr "{jj}" format.name$ indexmarkup 'x :=
+ t u * v * w * x * 't :=
+ t "{others}{}{}{}{}" =
+ 'skip$
+ { nameptr #1 >
+ { namesleft #1 >
+ { "; " * t * }
+ {
+ t "others" =
+ 'skip$
+ { "; " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t lastnamemarkup 't :=
+ s nameptr "{ff}" format.name$ othermarkup 'u :=
+ s nameptr "{f.}" format.name$ othermarkup 'v :=
+ s nameptr "{vv}" format.name$ othermarkup 'w :=
+ s nameptr "{jj}" format.name$ othermarkup 'x :=
+ t u * v * w * x * 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { numnames #3 >
+ { "" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * }
+ { "\Bibbfsasep " * t * }
+ if$
+ }
+ if$
+ }
+ { t "\bibnf {others} {} {} {} {}" =
+ numnames #3 > or
+ { "\bibimfont {\Bibetal}" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * }
+ { "\Bibbstasep " * t * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.editor.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t editorlastnamemarkup 't :=
+ s nameptr "{ff}" format.name$ othermarkup 'u :=
+ s nameptr "{f.}" format.name$ othermarkup 'v :=
+ s nameptr "{vv}" format.name$ othermarkup 'w :=
+ s nameptr "{jj}" format.name$ othermarkup 'x :=
+ t u * v * w * x * 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { numnames #3 >
+ { "" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * }
+ { "\Bibbfsasep " * t * }
+ if$
+ }
+ if$
+ }
+ { t "\bibenf {others} {} {} {} {}" =
+ t "\biblenf {others} {} {} {} {}" = or
+ t "\bibenf {others} {} {} {} {} \editorsname" = or
+ t "\biblenf {others} {} {} {} {} \editorsname" = or
+ numnames #3 > or
+ { "\bibimfont {\Bibetal}" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * }
+ { "\Bibbstasep " * t * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { pseudonym empty$
+ { "" }
+ { "[" pseudonym format.names * "]" * }
+ if$
+ }
+ { author format.names
+ pseudonym empty$
+ 'skip$
+ { " [" * pseudonym format.names * "]" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { pseudonym empty$
+ { "" }
+ { "[" pseudonym format.editor.names * "]" * }
+ if$
+ }
+ { editor format.editor.names
+ pseudonym empty$
+ 'skip$
+ { " [" * pseudonym format.editor.names * "]" * }
+ if$
+ noed missing$
+ { editor num.names$ #1 >
+ { editortype empty$
+ { "\bibedformat {\editorsname}" * }
+ { "\bibedformat {" * editortype * "}" * }
+ if$
+ }
+ { editortype empty$
+ { "\bibedformat {\editorname}" * }
+ { "\bibedformat {" * editortype * "}" * }
+ if$
+ }
+ if$
+ }
+ { noed 's :=
+ s "1" =
+ 'skip$
+ { editor num.names$ #1 >
+ { editortype empty$
+ { "\bibedformat {\editorsname}" * }
+ { "\bibedformat {" * editortype * "}" * }
+ if$
+ }
+ { editortype empty$
+ { "\bibedformat {\editorname}" * }
+ { "\bibedformat {" * editortype * "}" * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { pseudonym empty$
+ 'skip$
+ { "[" pseudonym format.editor.names * "]" * }
+ if$
+ }
+ { editor format.editor.names
+ pseudonym empty$
+ 'skip$
+ { " [" * pseudonym format.editor.names * "]" * }
+ if$
+ noed missing$
+ { editor num.names$ #1 >
+ { editortype empty$
+ { " \bibedinformat {\editorsname}" * }
+ { " \bibedinformat {" * editortype * "}" * }
+ if$
+ }
+ { editortype empty$
+ { " \bibedinformat {\editorname}" * }
+ { " \bibedinformat {" * editortype * "}" * }
+ if$
+ }
+ if$
+ }
+ { noed 's :=
+ s "1" =
+ 'skip$
+ { editor num.names$ #1 >
+ { editortype empty$
+ { " \bibedinformat {\editorsname}" * }
+ { " \bibedinformat {" * editortype * "}" * }
+ if$
+ }
+ { editortype empty$
+ { " \bibedinformat {\editorname}" * }
+ { " \bibedinformat {" * editortype * "}" * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ format.howcited
+ " \jbdoitem {" *
+ author empty$
+ 'skip$
+ { author format.names.for.index * }
+ if$
+ "} {"
+ editor empty$
+ 'skip$
+ { editor format.names.for.index * }
+ if$
+ "} {" *
+ organization empty$
+ 'skip$
+ { "{" organization * "}{}{}{}{}" * * }
+ if$
+ "}" * * write$
+ annote missing$
+ { " \bibAnnoteFile {" cite$ * "}" * write$ newline$ }
+ { " \bibAnnote {" annote * "}" * write$ newline$ }
+ if$
+}
+
+FUNCTION {format.titleaddon}
+{ title empty$
+ 'skip$
+ { titleaddon empty$
+ 'skip$
+ { ", " * titleaddon * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitleaddon}
+{ booktitle empty$
+ 'skip$
+ { booktitleaddon empty$
+ 'skip$
+ { ", " * booktitleaddon * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ before.all 'output.state :=
+ title empty$
+ { "" }
+ { title checked.emph.format swap$ * non.stop
+ { before.all 'output.state := "}" * }
+ { before.all 'output.state := "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {journalnamemarkup}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibJTsep \bibjtfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {seriesformat}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibsnfont {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition.superscript}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or s "erste" = or
+ { "1" 't := }
+ { s "second" = s "2" = or s "zweite" = or
+ { "2" 't := }
+ { s "third" = s "3" = or s "dritte" = or
+ { "3" 't := }
+ { s "fourth" = s "4" = or s "vierte" = or
+ { "4" 't := }
+ { s "fifth" = s "5" = or s "fuenfte" = or
+ { "5" 't := }
+ { s "sixth" = s "6" = or s "sechste" = or
+ { "6" 't := }
+ { s "seventh" = s "7" = or s "siebte" = or s "siebente" = or
+ { "7" 't := }
+ { s "eighth" = s "8" = or s "achte" = or
+ { "8" 't := }
+ { s "nineth" = s "9" = or s "neunte" = or
+ { "9" 't := }
+ { s #1 #1 substring$ is.num
+ { s "" * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {output.bibitem.fst}
+{ newline$
+ "\bibitem[{" write$
+ shortauthor empty$
+ { juraauthor empty$
+ { author empty$
+ { editor empty$
+ { organization empty$
+ { "empty" write$ }
+ { organization write$ }
+ if$
+ }
+ { label write$ }
+ if$
+ }
+ { label write$ }
+ if$
+ }
+ { juraauthor write$ }
+ if$
+ }
+ { shortauthor write$ }
+ if$
+ "}%" write$
+ sortkey empty$
+ 'skip$
+ { newline$ "% SORTKEY: [" sortkey * "]" * write$ }
+ if$
+ newline$
+ shorttitle empty$
+ { juratitle empty$
+ { journal empty$
+ { " {}%" write$ }
+ { title empty$
+ { key empty$
+ { " {}%" write$ }
+ { " {" key * "}%" * write$ }
+ if$
+ }
+ { " {" title * "}%" * write$ }
+ if$
+ }
+ if$
+ }
+ { " {" juratitle * "}%" * write$ }
+ if$
+ }
+ { " {" shorttitle * "}%" * write$ }
+ if$
+ newline$
+ repeat-authors
+ { " {{1}" write$ }
+ { " {{0}" write$ }
+ if$
+ howcited empty$
+ { "{}" write$ }
+ { "{" howcited * "}" * write$ }
+ if$
+ type$ empty$
+ { "{}" write$ }
+ { "{" type$ * "}" * write$ }
+ if$
+ year empty$
+ { "{}" write$ }
+ { "{" year * write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ "}" write$
+ }
+ if$
+ edition empty$
+ { "{}" write$ }
+ { "{" convert.edition.superscript extract.num * "}" * write$ }
+ if$
+ ssedition empty$
+ { "{}" write$ }
+ { "{" ssedition * "}" * write$ }
+ if$
+ language empty$
+ { "{}" write$ }
+ { "{" language * "}" * write$ }
+ if$
+ pages empty$
+ { "{}%" write$ }
+ { "{" write$ pages n.dashify write$ "}%" write$ }
+ if$
+ newline$
+}
+
+FUNCTION {output.bibitem.snd}
+{ publisher empty$
+ { address empty$
+ { year empty$
+ { " {" write$ }
+ { " {" write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { " {" write$ address write$ }
+ { " {" write$ address write$ "\bibbdsep {} " write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { address empty$
+ { year empty$
+ { " {" write$ publisher write$ }
+ { " {" write$ publisher write$ "\bibbdsep {} " write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ }
+ { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ "\bibbdsep {} " write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ "}}%" write$ newline$
+ " {" write$
+ title empty$
+ { "{}%" write$ newline$ }
+ { "{" title * "}%" * write$ newline$ }
+ if$
+ gender empty$
+ { " {}" write$ }
+ { " {" gender * "}" * write$ }
+ if$
+ oyear empty$
+ { "{}" write$ }
+ { "{" oyear * "}" * write$ }
+ if$
+ author empty$
+ { editor empty$
+ { "{4}" write$ }% author and editor empty
+ { "{3}" write$ }% author empty, editor not
+ if$
+ }
+ { editor empty$
+ { "{2}" write$ }% editor empty, author not
+ { "{1}" write$ }% both author and editor given
+ if$
+ }
+ if$
+ "{}{}{}{}{}}%" write$ newline$
+ " ]{" write$
+ cite$ write$
+ "}" write$
+ url empty$
+ 'skip$
+ { newline$ " \jburldef {" write$ cite$ write$ "}{" write$ url write$ "}%" write$ }
+ if$
+ newline$
+ " \jbbibargs {" write$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.bibitem}{ output.bibitem.fst output.bibitem.snd }
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {add.extra.label}
+{extra.label "" =
+ 'skip$
+ { "\bibel {" extra.label * "}" * * }
+ if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ 'skip$
+ { output.state before.all =
+ { "" * mid.sentence 'output.state := }
+ { " " * }
+ if$
+ "\dateldelim {}" *
+ month empty$
+ 'skip$
+ { month "{} " * * }
+ if$
+ year * add.extra.label "\daterdelim {}" *
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ before.all 'output.state :=
+ title emphasize
+}
+
+FUNCTION {format.booktitle}
+{ before.all 'output.state :=
+ booktitle b.emphasize
+}
+
+FUNCTION {format.booklet.title}
+{ before.all 'output.state :=
+ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { " " }
+ {
+ volumetitle empty$
+ { crossref missing$
+ { bbl.volume volume tie.or.space.connect }
+ { bbl.vol volume tie.or.space.connect }
+ if$
+ }
+ {
+ crossref missing$
+ { bbl.volume volume tie.or.space.connect }
+ { bbl.vol volume tie.or.space.connect }
+ if$
+ ": \bibvtfont {" * volumetitle "}" * *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.bvolume.btitle.reversed}
+{ volume empty$
+ { title empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ title emphasize
+ }
+ if$
+ }
+ { volumetitle empty$
+ { title empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ title emphasize
+ }
+ if$
+ }
+ { "\bibvtfont {" volumetitle * "}" * *
+ bbl.volume volume tie.or.space.connect
+ title empty$
+ 'skip$
+ { bbl.of title emphasize * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.bvolume.btitle}
+{ volformat missing$
+ {
+ format.btitle "title" output.check format.bvolume output
+ }
+ { volformat 's :=
+ s "reversed" =
+ { volumetitle empty$
+ {
+ "volformat given but no volumetitle in " cite$ * warning$
+ format.bvolume.btitle.reversed output
+ }
+ {
+ volume empty$
+ { "there's a volumetitle but no volume in " cite$ * warning$ * }
+ 'skip$
+ if$
+ title empty$
+ {
+ "volformat given but no title in " cite$ * warning$
+ }
+ {
+ format.bvolume.btitle.reversed output
+ }
+ if$
+ }
+ if$
+ }
+ {
+ format.btitle "title" output.check format.bvolume output
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.bvolume.booktitle.reversed}
+{ volume empty$
+ { booktitle empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ booktitle b.emphasize
+ }
+ if$
+ }
+ { volumetitle empty$
+ { booktitle empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ bbl.volume volume tie.or.space.connect
+ booktitle empty$
+ 'skip$
+ { bbl.of booktitle b.emphasize * * }
+ if$
+ }
+ if$
+ }
+ { "\bibvtfont {" volumetitle * "}" * *
+ bbl.volume volume tie.or.space.connect
+ booktitle empty$
+ 'skip$
+ { bbl.of booktitle b.emphasize * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editor.booktitle.volume.voltitle}
+{ editor empty$
+ { chapter empty$
+ { ", " * }
+ { " " * }
+ if$
+ word.in *
+ }
+ { chapter empty$
+ { ", " * }
+ { " " * }
+ if$
+ word.in format.in.editors * ", " * *
+ }
+ if$
+ volformat missing$
+ {
+ format.booktitle "booktitle" output.check
+ format.bvolume output
+ format.booktitleaddon
+ }
+ { volformat 's :=
+ s "reversed" =
+ { volumetitle empty$
+ {
+ "volformat given but no volumetitle in " cite$ * warning$
+ format.bvolume.booktitle.reversed output
+ format.booktitleaddon
+ }
+ {
+ volume empty$
+ { "there's a volumetitle but no volume in " cite$ * warning$ * }
+ 'skip$
+ if$
+ booktitle empty$
+ {
+ "volformat given but no booktitle in " cite$ * warning$
+ }
+ {
+ format.bvolume.booktitle.reversed output
+ format.booktitleaddon
+ }
+ if$
+ }
+ if$
+ }
+ { format.booktitle "booktitle" output.check
+ format.bvolume output
+ format.booktitleaddon
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.number.series.book.old}
+{ number empty$
+ { series seriesformat field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$ number }
+ { series seriesformat number tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.number.series.book}
+{ volume empty$
+ { number empty$
+ { series empty$
+ { "" }
+ { " \numberandseries {}{" series * "}" * }
+ if$
+ }
+ { series empty$
+ { " \numberandseries {" number * "}{}" * "There's a number but no series in " cite$ * warning$ }
+ { " \numberandseries {" number * "}{" * series "}" * * }
+ if$
+ }
+ if$
+ }
+ { series empty$
+ { "" }
+ { type$ "proceedings" =
+ { " \numberandseries {}{" series * "}" * } % { " (" series * ")" * }
+ { "" }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series seriesformat field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in.series space.word * series seriesformat * }
+ if$
+ }
+ if$
+ }
+ { type$ "incollection" = crossref missing$ and
+ { format.number.series.book }
+ { "" }
+ if$
+ }
+ if$
+}
+
+FUNCTION {first.ed} { "\firstedname" }
+FUNCTION {second.ed}{ "\secondedname" }
+FUNCTION {third.ed} { "\thirdedname" }
+FUNCTION {fourth.ed}{ "\fourthedname" }
+FUNCTION {fifth.ed} { "\fifthedname" }
+FUNCTION {th.ed} { "\thedname" }
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { first.ed 't := }
+ { s "second" = s "2" = or
+ { second.ed 't := }
+ { s "third" = s "3" = or
+ { third.ed 't := }
+ { s "fourth" = s "4" = or
+ { fourth.ed 't := }
+ { s "fifth" = s "5" = or
+ { fifth.ed 't := }
+ { s #1 #1 substring$ is.num
+ { s th.ed * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { convert.edition "~\editionname {}" * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { before.all 'output.state :=
+ "\jbPages {" pages n.dashify * "}" *
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { " \jbartPages {" pages n.dashify * "}" * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ before.all 'output.state :=
+ volume empty$
+ { year empty$ not
+ { "there's a year but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ number empty$
+ { "" }
+ { "there's a number but no volume in " cite$ * warning$
+ type$ "periodical" =
+ { "~\per" * }
+ { "~\art" * }
+ if$
+ "volnumformat {}{" number * "}" *
+ }
+ if$
+ }
+ { type$ "periodical" =
+ { "~\per" * }
+ { "~\art" * }
+ if$
+ number empty$
+ { "volnumformat {" volume * "}{}" * }
+ { "volnumformat {" volume * "}{" number * "}" * * }
+ if$
+ }
+ if$
+ year empty$
+ { month empty$ not
+ { "there's a month but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ { type$ "periodical" =
+ { " \per" * }
+ { " \art" * }
+ if$
+ month empty$
+ { "yearformat {" year * add.extra.label "}" * * }
+ { "yearformat {" month * "{} " * year * add.extra.label "}" * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.inbook.incoll}
+{ chapter empty$
+ { "" }
+ { before.all 'output.state :=
+ type empty$
+ { ", " bbl.chapter * }
+ { ", " type * "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { before.all 'output.state := ", " bbl.chapter * }
+ { ", " type * "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle b.emphasize format.booktitleaddon * }
+ { word.in format.in.editors * ", " * booktitle b.emphasize format.booktitleaddon * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ " \protect\jbartcrossrefchecked {" crossref * "}" * }
+
+FUNCTION {format.book.crossref}
+{ type$ "book" =
+ { volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\protect\jbcrossrefchecked {" crossref * "}" * }
+ { "\protect\jbcrossrefchecked[" volume * "]{" * crossref "}" * * }
+ if$
+ }
+ { "\protect\jbcrossrefchecked {" crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ " \protect\jbincollcrossref {" crossref * "}" *
+ editor empty$
+ { "{}" * }
+ { "{1}" * }
+ if$
+}
+
+FUNCTION {oaddress.opublisher.oyear.format}
+{ type$ "book" =
+ { oyear empty$
+ { opublisher empty$
+ { oaddress empty$
+ 'skip$
+ { oaddress "\osep {} " * * }
+ if$
+ }
+ { oaddress empty$
+ { opublisher "\osep {} " * * }
+ { oaddress "\bpubaddr {} " * opublisher "\osep {} " * * * }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { "oyear without year in " cite$ * warning$ }
+ 'skip$
+ if$
+ opublisher empty$
+ { oaddress empty$
+ { oyear * "\osep {} \reprintname {}, " * }
+ { oaddress "\bibbdsep {} " * oyear "\osep {} " * * * }
+ if$
+ }
+ { oaddress empty$
+ { opublisher * "\bibbdsep {} " * oyear "\osep {} " * * }
+ { oaddress "\bpubaddr {} " * opublisher "\bibbdsep {} " * * oyear "\osep {} " * * * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.publisher}
+{ year empty$ month empty$ not and
+ { "there's a month but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ address empty$ publisher empty$ year empty$ and and
+ 'skip$
+ { " \apyformat {" * }
+ if$
+ oaddress.opublisher.oyear.format
+ address empty$
+ {
+ publisher empty$
+ {
+ year empty$
+ 'skip$
+ { month empty$
+ { year * add.extra.label }
+ { month "{} " * year * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ {
+ year empty$
+ { month empty$
+ { publisher * }
+ 'skip$
+ if$
+ }
+ { month empty$
+ { publisher "\bibbdsep {} " * year * * add.extra.label }
+ { publisher "\bibbdsep {} " * month "{} " * year * * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ {
+ publisher empty$
+ {
+ year empty$
+ { address * }
+ { month empty$
+ { address "\bibbdsep {} " * year * * add.extra.label }
+ { address "\bibbdsep {} " * month "{} " * year * * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ {
+ year empty$
+ { month empty$
+ { address "\bpubaddr {} " * publisher * * }
+ 'skip$
+ if$
+ }
+ { month empty$
+ { address "\bpubaddr {} " * publisher "\bibbdsep {} " * year * * * add.extra.label }
+ { address "\bpubaddr {} " * publisher "\bibbdsep {} " * month "{} " * year * * * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ address empty$ publisher empty$ year empty$ and and
+ 'skip$
+ { "}" * }
+ if$
+}
+
+FUNCTION {format.publisher.manual}
+{ year empty$ month empty$ not and
+ { "there's a month but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ address empty$ organization empty$ year empty$ and and
+ 'skip$
+ { " \apyformat {" * }
+ if$
+ address empty$
+ {
+ organization empty$
+ {
+ year empty$
+ 'skip$
+ { month empty$
+ { year * add.extra.label }
+ { month "{} " * year * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ {
+ year empty$
+ { month empty$
+ { organization * }
+ 'skip$
+ if$
+ }
+ { month empty$
+ { organization "\bibbdsep {} " * year * * add.extra.label }
+ { organization "\bibbdsep {} " * month "{} " * year * * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { organization empty$
+ { year empty$
+ { address * }
+ { month empty$
+ { address "\bibbdsep {} " * year * * add.extra.label }
+ { address "\bpubaddr {} " * month "{} " * year * * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { month empty$
+ { address "\bpubaddr {} " * organization * * }
+ 'skip$
+ if$
+ }
+ { month empty$
+ { address "\bpubaddr {} " * organization "\bibbdsep {} " * year * * * add.extra.label }
+ { address "\bpubaddr {} " * organization "\bibbdsep {} " * month "{} " * year * * * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ address empty$ organization empty$ year empty$ and and
+ 'skip$
+ { "}" * }
+ if$
+}
+
+FUNCTION {format.publisher.techreport}
+{ year empty$ month empty$ not and
+ { "there's a month but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ address empty$ institution empty$ year empty$ and and
+ 'skip$
+ { " \apyformat {" * }
+ if$
+ address empty$
+ {
+ institution empty$
+ {
+ year empty$
+ 'skip$
+ { month empty$
+ { year * add.extra.label }
+ { month "{} " * year * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ {
+ year empty$
+ { month empty$
+ { institution * }
+ 'skip$
+ if$
+ }
+ { month empty$
+ { institution "\bibbdsep {} " * year * * add.extra.label }
+ { institution "\bibbdsep {} " * month "{} " * year * * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { institution empty$
+ { year empty$
+ { address * }
+ { month empty$
+ { address "\bibbdsep {} " * year * * add.extra.label }
+ { address "\bpubaddr {} " * month "{} " * year * * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { month empty$
+ { address "\bpubaddr {} " * institution * * }
+ 'skip$
+ if$
+ }
+ { month empty$
+ { address "\bpubaddr {} " * institution "\bibbdsep {} " * year * * * add.extra.label }
+ { address "\bpubaddr {} " * institution "\bibbdsep {} " * month "{} " * year * * * * add.extra.label }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ address empty$ institution empty$ year empty$ and and
+ 'skip$
+ { "}" * }
+ if$
+}
+
+FUNCTION {format.edby.editors}
+{ author empty$
+ 'skip$
+ { editor empty$
+ 'skip$
+ { "\edbyname {} " editor format.editor.names * output }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.translators}
+{ translator empty$
+ { flanguage empty$
+ { "" }
+ { "\translator {}{" flanguage "l" change.case$ * "}{1}" * }
+ if$
+ }
+ { "\translator {" translator * "}" *
+ flanguage empty$
+ { "{}{1}" * }
+ { "{" * flanguage "l" change.case$ * "}{1}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title "title" output.check
+ format.titleaddon
+ crossref missing$
+ { journal journalnamemarkup
+ "journal" output.check
+ format.vol.num.pages output
+ write.url
+ format.journal.pages
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note
+ fin.entry
+}
+
+FUNCTION {periodical} {article}
+
+FUNCTION {review}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title "title" output.check
+ format.titleaddon
+ crossref missing$
+ { journal journalnamemarkup
+ "journal" output.check
+ format.vol.num.pages output
+ write.url
+ format.journal.pages
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note
+ fin.entry
+}
+
+FUNCTION {format.editors.last}
+{ editor empty$
+ { "" before.all 'output.state := }
+ { author empty$ not
+ { " \edbyname{} " editor format.editor.names * }
+ { "" before.all 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { editor empty$ not
+ { format.editors output.nonnull }
+ { "neither author nor editor in " cite$ * warning$ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { format.bvolume.btitle
+ format.editors.last output.nonnull
+ make.translators output
+ format.titleaddon
+ format.number.series.book output
+ format.edition output
+ format.pages output
+ format.publisher
+ write.url
+ format.note
+ }
+ { format.btitle "title" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.titleaddon
+ howpublished output
+ format.publisher
+ format.pages output
+ write.url
+ format.note
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ crossref missing$
+ { format.bvolume.btitle
+ format.titleaddon
+ make.translators output
+ format.number.series output
+ format.edition output
+ format.publisher
+ write.url
+ format.chapter.inbook.incoll output
+ format.pages output
+ format.note
+ }
+ { format.btitle "title" output.check
+ format.chapter.inbook.incoll output
+ format.incoll.inproc.crossref output.nonnull
+ format.bvolume output
+ format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle "title" output.check
+ format.titleaddon
+ format.chapter.inbook.incoll output
+ format.in.editor.booktitle.volume.voltitle
+ make.translators output
+ format.number.series.book output
+ format.edition output
+ format.publisher
+ write.url
+ format.note
+ format.pages output
+ }
+ { format.title "title" output.check
+ format.chapter.inbook.incoll output
+ format.incoll.inproc.crossref output.nonnull
+ format.bvolume output
+ format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title "title" output.check
+ format.titleaddon
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { organization output
+ format.publisher
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ write.url
+ format.note
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.titleaddon
+ format.edition output
+ format.publisher.manual
+ write.url
+ format.note
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.titleaddon
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ format.publisher
+ write.url
+ format.note
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ set.after.author.sep output
+ format.btitle output
+ format.titleaddon
+ howpublished output
+ format.date
+ write.url
+ format.note
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.titleaddon
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ format.publisher
+ write.url
+ format.note
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.titleaddon
+ format.number.series.book output
+ organization output
+ format.publisher
+ write.url
+ format.note
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ format.publisher.techreport
+ write.url
+ format.note
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title "title" output.check
+ format.titleaddon
+ format.date
+ write.url
+ format.note
+ fin.entry
+}
+
+FUNCTION {www}
+{ output.bibitem
+ format.authors output.nonnull
+ set.after.author.sep output
+ format.title output.nonnull
+ write.url
+ format.note
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+INTEGERS { nextchar-ptr } % points just past 1st "text" char
+
+FUNCTION {get.nextchar.ptr} % set nextchar-ptr to be just past
+{ #1 'nextchar-ptr := % the first "text" char---this will
+ { duplicate$ % be not quite trivial if
+ nextchar-ptr #1 substring$ % the first "text" char is a
+ "" = not % special characters like {\'E}
+ }
+ { nextchar-ptr #1 + 'nextchar-ptr := }
+ while$
+ pop$
+ nextchar-ptr
+}
+
+STRINGS { first-char } % the to-be-capitalized character
+
+FUNCTION {capitalize.von.part} % capitalize 1st character of string
+{ duplicate$ #1 text.prefix$ % get 1st character
+ duplicate$ get.nextchar.ptr
+ swap$ "u" change.case$ % capitalize it
+ 'first-char :=
+ global.max$ substring$ % get rest of string
+ first-char swap$ * % append the two
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {format.lab.names}
+{ 's := % for two: (Jones/de~Bruijn)
+ s #1 "{vv~}{ll}" format.name$ capitalize.von.part % for three: (Jones/de~Bruijn/Smith)
+ s num.names$ duplicate$ % for more: (Jones et~al.)
+ #2 <
+ 'pop$ % for just one person
+ { duplicate$ duplicate$
+ #2 >
+ swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ or
+ { pop$ "\Bibetal" * } % for 4 or more, or last is `others'
+ { #2 =
+ { "\jbbtasep " * s #2 "{vv~}{ll}" format.name$ capitalize.von.part * } % for (exactly) two
+ { "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ capitalize.von.part * % for three
+ "\jbbstasep " * s #3 "{vv~}{ll}" format.name$ capitalize.von.part *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ year missing$
+ 'skip$
+ { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" = type$ "inbook" = or type$ "incollection" = or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'label :=
+}
+
+FUNCTION {calc.dummy.label}
+{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'dummy.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "\bibnf {others} {} {} {} {}" = and
+ { "\Bibetal" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { pseudonym empty$
+ { key empty$
+ { "to sort, need author, pseudonym or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { pseudonym sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { pseudonym empty$
+ { key empty$
+ { "to sort, need author, editor, pseudonym or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { pseudonym sort.format.names }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { pseudonym empty$
+ { key empty$
+ { "to sort, need author, editor, pseudonym or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { pseudonym sort.format.names }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ calc.dummy.label
+ dummy.label sortify " " *
+ sortkey empty$
+ { type$ "book" =
+ type$ "incollection" = or
+ type$ "inbook" = or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ { sortkey sort.format.names }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+
+SORT
+
+
+STRINGS { last.dummy.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {forward.pass}
+{ last.dummy.label dummy.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ dummy.label 'last.dummy.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * }
+ if$
+ 'extra.label :=
+ dummy.label extra.label * 'dummy.label :=
+}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order} { sort.label 'sort.key$ := }
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {set.current.authors}
+{ author empty$
+ { editor empty$
+ { organization empty$
+ { cite$ 'current-authors := }
+ { organization 'current-authors := }
+ if$
+ }
+ { editor format.names #1 entry.max$ substring$ 'current-authors := }
+ if$
+ }
+ { author format.names #1 entry.max$ substring$ 'current-authors := }
+ if$
+}
+
+STRINGS { previous-authors }
+
+FUNCTION {initialize.previous.authors} { "" 'previous-authors := }
+
+FUNCTION {mark.repeat.authors}
+{ current-authors previous-authors =
+ { #1 'repeat-authors := }
+ 'skip$
+ if$
+ current-authors 'previous-authors :=
+}
+
+ITERATE {set.current.authors}
+
+EXECUTE {initialize.previous.authors}
+
+ITERATE {mark.repeat.authors}
+
+EXECUTE {initialize.previous.authors}
+
+REVERSE {mark.repeat.authors}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "%" write$ newline$
+ "% This bibliography was produced by using jox.bst" write$ version write$ newline$
+ "%" write$ newline$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `jox.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/jurabib/jurabib.bst b/Master/texmf-dist/bibtex/bst/jurabib/jurabib.bst
new file mode 100644
index 00000000000..eda2dfbcdd1
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/jurabib/jurabib.bst
@@ -0,0 +1,2894 @@
+%%
+%% This is file `jurabib.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% jurabib.dtx (with options: `jurabst')
+%% ----------------------------------------
+%% BibTeX style for use with the jurabib package version v0.6
+%% Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org)
+%% See jurabib.ins for the copyright details.
+%%
+ENTRY{
+ address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+%%
+ url
+ urldate
+ volumetitle
+ dissyear
+ howcited
+ juratitle
+ juraauthor
+ shorttitle
+ shortauthor
+ ssedition
+ titleaddon
+ booktitleaddon
+ editortype
+ sortkey
+ annote
+ gender
+ translator
+ flanguage
+ oyear
+ oaddress
+ opublisher
+ updated
+ totalpages
+ founder
+ archive
+ subarchive
+ shortarchive
+ shortsubarchive
+ sig1
+ sig2
+ sig3
+ sig4
+ archname
+ }
+ { repeat-authors repeat-titles }
+ { label dummy.label extra.label sort.label current-authors }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { colon.after period.dash }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'colon.after :=
+ #5 'period.dash :=
+}
+
+STRINGS { s t u v w x }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state after.block =
+ { write$ }
+ { output.state before.all =
+ { write$ }
+ { output.state colon.after =
+ { "" * write$ }
+ { output.state period.dash =
+ { ", " * write$ }
+ { output.state mid.sentence =
+ { " " * write$ }
+ { write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ after.block 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition.superscript}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or s "erste" = or
+ { "1" 't := }
+ { s "second" = s "2" = or s "zweite" = or
+ { "2" 't := }
+ { s "third" = s "3" = or s "dritte" = or
+ { "3" 't := }
+ { s "fourth" = s "4" = or s "vierte" = or
+ { "4" 't := }
+ { s "fifth" = s "5" = or s "fuenfte" = or
+ { "5" 't := }
+ { s "sixth" = s "6" = or s "sechste" = or
+ { "6" 't := }
+ { s "seventh" = s "7" = or s "siebte" = or s "siebente" = or
+ { "7" 't := }
+ { s "eighth" = s "8" = or s "achte" = or
+ { "8" 't := }
+ { s "nineth" = s "9" = or s "neunte" = or
+ { "9" 't := }
+ { s #1 #1 substring$ is.num
+ { s "" * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" * t #2 global.max$ substring$ 't := }
+ { { t #1 #1 substring$ "-" = }
+ { "-" * t #2 global.max$ substring$ 't := }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ * t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+}
+
+FUNCTION {output.bibitem.fst}
+{ newline$
+ "\bibitem[{" write$
+ shortauthor empty$
+ { juraauthor empty$
+ { author empty$
+ { editor empty$
+ { organization empty$
+ { archive empty$
+ { "empty" write$ }
+ { archive write$ }
+ if$
+ }
+ { organization write$ }
+ if$
+ }
+ { label write$ }
+ if$
+ }
+ { label write$ }
+ if$
+ }
+ { juraauthor write$ }
+ if$
+ }
+ { shortauthor write$ }
+ if$
+ "}%" write$
+ sortkey empty$
+ 'skip$
+ { newline$ "% SORTKEY: [" sortkey * "]" * write$ }
+ if$
+ newline$
+ shorttitle empty$
+ { juratitle empty$
+ { journal empty$
+ { " {}%" write$ }
+ { volume empty$
+ { year empty$
+ { " {" journal * "}%" * write$ }
+ { " {" journal * "\jbsy {" * year * "}}%" * write$ }
+ if$
+ }
+ { year empty$
+ { " {" journal * "}%" * write$ }
+ { " {" journal * " " * volume * " " * " \peryearformat {" year * "}}%" * * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { " {" juratitle * "}%" * write$ }
+ if$
+ }
+ { " {" shorttitle * "}%" * write$ }
+ if$
+ newline$
+ repeat-authors
+ { " {{1}" write$ }
+ { " {{0}" write$ }
+ if$
+ howcited empty$
+ { "{}" write$ }
+ { "{" howcited * "}" * write$ }
+ if$
+ type$ empty$
+ { "{}" write$ }
+ { "{" type$ * "}" * write$ }
+ if$
+ year empty$
+ { type$ "book" = dissyear empty$ not and
+ { "{" dissyear * write$
+ extra.label "" =
+ skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ "}" write$
+ }
+ { "{}" write$ }
+ if$
+ }
+ { "{" year * write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ "}" write$
+ }
+ if$
+ edition empty$
+ { "{}" write$ }
+ { "{" convert.edition.superscript extract.num * "}" * write$ }
+ if$
+ ssedition empty$
+ { "{}" write$ }
+ { "{" ssedition * "}" * write$ }
+ if$
+ language empty$
+ { "{}" write$ }
+ { "{" language * "}" * write$ }
+ if$
+ pages empty$
+ { "{}%" write$ }
+ { "{" write$ pages n.dashify write$ "}%" write$ }
+ if$
+}
+
+FUNCTION {output.bibitem.snd}
+{ newline$
+ publisher empty$
+ { address empty$
+ { year empty$
+ { " {" write$ }
+ { " {" write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { " {" write$ address write$ }
+ { " {" write$ address write$ "\bibbdsep {} " write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { address empty$
+ { year empty$
+ { " {" write$ publisher write$ }
+ { " {" write$ publisher write$ "\bibbdsep {} " write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ }
+ { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ "\bibbdsep {} " write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ "}}%" write$ newline$
+ " {" write$
+ title empty$
+ { "{}%" write$ newline$ }
+ { "{" title *
+ type$ "archival" =
+ { shortarchive empty$ not
+ { ", In: " shortarchive * * }
+ { archive empty$ not
+ { ", In: " archive * * }
+ 'skip$
+ if$
+ }
+ if$
+ shortsubarchive empty$
+ 'skip$
+ { ", " shortsubarchive * * }
+ if$
+ sig1 empty$
+ 'skip$
+ { ", " sig1 * *
+ sig2 empty$
+ 'skip$
+ { ". " sig2 * *
+ sig3 empty$
+ 'skip$
+ { ". " sig3 * *
+ sig4 empty$
+ 'skip$
+ { ". " sig4 * * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { " \jbArchPages {" pages n.dashify * "}" * * }
+ if$
+ }
+ 'skip$
+ if$
+ "}%" * write$ newline$ }
+ if$
+ gender empty$
+ { " {}" write$ }
+ { " {" gender * "}" * write$ }
+ if$
+ oyear empty$
+ { "{}" write$ }
+ { "{" oyear * "}" * write$ }
+ if$
+ author empty$
+ { editor empty$
+ { "{4}" write$ }% author and editor empty
+ { "{3}" write$ }% author empty, editor not
+ if$
+ }
+ { editor empty$
+ { "{2}" write$ }% editor empty, author not
+ { "{1}" write$ }% both author and editor given
+ if$
+ }
+ if$
+ "{}{}{}{}{}}%" write$ newline$
+ " ]{" write$
+ cite$ write$
+ "}" write$
+ url empty$
+ 'skip$
+ { newline$ " \jburldef {" write$ cite$ write$ "}{" write$ url write$ "}%" write$ }
+ if$
+ newline$
+ " \jbbibargs {" write$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.bibitem}
+{ output.bibitem.fst
+ output.bibitem.snd
+}
+
+FUNCTION {format.note}
+{ note empty$
+ 'skip$
+ { output.state before.all =
+ {" \jbnote {} {" * note * "} " * }
+ {" \jbnote {1} {" * note * "} " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.endnote}
+{ note empty$
+ { "" }
+ { " \jbendnote {" note * "}" * }
+ if$
+}
+
+
+FUNCTION {format.juradiss.book}
+{ dissyear empty$
+ { "" }
+ { type empty$
+ { school empty$
+ { "Dissyear but no school in " cite$ * warning$
+ " (\alsothesisname {} \jurthesisname" *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * }
+ 'skip$
+ if$
+ ")" *
+ }
+ { " (\alsothesisname {} \jurthesisname, " school *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * * }
+ 'skip$
+ if$
+ ")" *
+ }
+ if$
+ }
+ { school empty$
+ { "Dissyear but no school in " cite$ * warning$
+ " (\alsothesisname {} " type *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * }
+ 'skip$
+ if$
+ ")" *
+ }
+ { " (\alsothesisname {} " type *
+ ", " school * *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * * }
+ 'skip$
+ if$
+ ")" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis}
+{ year empty$
+ { school empty$
+ { "No universtiy in " cite$ * warning$ }
+ { "There's a university, but no year in " cite$ * warning$ }
+ if$
+ ""
+ }
+ { type empty$
+ { school empty$
+ { "No university in " cite$ * warning$
+ type$ "mastersthesis" =
+ { "\apyformat {\mastersthesisname" * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * "}" * }
+ { type$ "jurthesis" =
+ { "\apyformat {\jurthesisname" * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * "}" * }
+ { "\apyformat {\phdthesisname" * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * "}" * }
+ if$
+ }
+ if$
+ }
+ { type$ "mastersthesis" =
+ { "\mastersthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * }
+ { type$ "jurthesis" =
+ { "\jurthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * }
+ { "\phdthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { school empty$
+ { "No university in " cite$ * warning$ type
+ address empty$ 'skip$ { " \apyformat {" address * } if$ "\bibbdsep {} " * * year * "}" * }
+ { type " \apyformat {" * school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {set.comma.pages.check}
+{ year empty$
+ 'skip$
+ { pages empty$
+ { url empty$
+ 'skip$
+ { ", " * }
+ if$
+ }
+ { ", " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {set.period.dash}
+{ output.state before.all =
+ 'skip$
+ { period.dash 'output.state := }
+ if$
+}
+
+FUNCTION {set.period.dash.check}
+{ empty$
+ 'skip$
+ 'set.period.dash
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {part.of.sentence}
+{ output.state before.all =
+ 'skip$
+ { mid.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {get.final.nonrightbrace.char}
+{ { duplicate$
+ #-1 #1 substring$
+ duplicate$
+ "}" =
+ }
+ { pop$
+ #-2 global.max$ substring$
+ }
+ while$
+ swap$ pop$
+}
+
+
+FUNCTION {check.punct.instead.of.add.period}
+{ duplicate$
+ get.final.nonrightbrace.char
+ duplicate$ "." = swap$
+ duplicate$ "!" = swap$
+ "?" = or or
+ { "} " * }
+ { "}\bibatsep\ " * }
+ if$
+}
+
+FUNCTION {check.punct.instead.of.add.period.art}
+{ duplicate$
+ get.final.nonrightbrace.char
+ duplicate$ "." = swap$
+ duplicate$ "!" = swap$
+ "?" = or or
+ { "} " * }
+ { pages empty$ note empty$ url empty$ and and
+ { "} " * }
+ { volume empty$
+ { pages empty$
+ { "}\ajtsep\ " * }
+ { crossref missing$
+ { month empty$
+ { "}\ajtsep\ " * }
+ { "}\ajtsep " * }
+ if$
+ }
+ { "}\ajtsep " * }
+ if$
+ }
+ if$
+ }
+ { "}\ajtsep\ " * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibtfont {" swap$ check.punct.instead.of.add.period * }
+ if$
+}
+
+FUNCTION {journaltitlemarkup}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibJTsep \bibjtfont {" swap$ check.punct.instead.of.add.period.art * }
+ if$
+}
+
+FUNCTION {incollbooktitlemarkup}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibbtfont {" swap$ check.punct.instead.of.add.period * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION { lastnamemarkup }
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibnf {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION { editorlastnamemarkup }
+ { duplicate$ empty$
+ { pop$ "" }
+ { author empty$
+ { "\biblenf {" swap$ * "}" * } % lonely editor(s)!
+ { "\bibenf {" swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION { othermarkup }
+ { duplicate$ empty$
+ { pop$ " {}" }
+ { " {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {article.in.journal}
+{ duplicate$ empty$
+ { pop$ "" }
+ { author missing$
+ { title missing$
+ 'skip$
+ { journaltitlemarkup "" swap$ * }
+ if$
+ }
+ { journaltitlemarkup "" swap$ * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.names} % NEW v0.5
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t lastnamemarkup 't :=
+ s nameptr "{ff}" format.name$ othermarkup 'u :=
+ s nameptr "{f.}" format.name$ othermarkup 'v :=
+ s nameptr "{vv}" format.name$ othermarkup 'w :=
+ s nameptr "{jj}" format.name$ othermarkup 'x :=
+ t u * v * w * x * 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { numnames #3 >
+ { "" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * } % between (exactly) two authors
+ { "\Bibbfsasep " * t * } % between first and second author (if more than two)
+ if$
+ }
+ if$
+ }
+ { t "\bibnf {others} {} {} {} {}" =
+ t "\bibnf {others} {} {} {} {} \edfont {\editorsname}" = or
+ numnames #3 > or
+ { "\bibIMfont {\Bibetal}" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * } % between (exactly) two authors
+ { "\Bibbstasep " * t * } % between second and third author
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.editor.names} % NEW v0.5
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t editorlastnamemarkup 't :=
+ s nameptr "{ff}" format.name$ othermarkup 'u :=
+ s nameptr "{f.}" format.name$ othermarkup 'v :=
+ s nameptr "{vv}" format.name$ othermarkup 'w :=
+ s nameptr "{jj}" format.name$ othermarkup 'x :=
+ t u * v * w * x * 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { numnames #3 >
+ { "" * }
+ { numnames #3 <
+ { "\Bibbtesep " * t * } % between (exactly) two editors
+ { "\Bibbfsesep " * t * } % between first and second editor (if more than two)
+ if$
+ }
+ if$
+ }
+ { t "\bibenf {others} {} {} {} {}" =
+ t "\biblenf {others} {} {} {} {}" = or
+ t "\bibenf {others} {} {} {} {} \edfont {\editorsname}" = or
+ t "\biblenf {others} {} {} {} {} \edfont {\editorsname}" = or
+ numnames #3 > or
+ { "\bibIMfont {\Bibetal}" * }
+ { numnames #3 <
+ { "\Bibbtesep " * t * } % between (exactly) two editors
+ { "\Bibbstesep " * t * } % between second and third editor
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.name.sig}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff}{ vv}{ ll}{ jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { "" * t * }
+ { t "others" =
+ { " et al." * }
+ { "" * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {indexmarkup}
+{ duplicate$ empty$
+ { pop$ "{}" }
+ { "{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {format.names.for.index}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t indexmarkup 't :=
+ s nameptr "{ff}" format.name$ indexmarkup 'u :=
+ s nameptr "{f.}" format.name$ indexmarkup 'v :=
+ s nameptr "{vv}" format.name$ indexmarkup 'w :=
+ s nameptr "{jj}" format.name$ indexmarkup 'x :=
+ t u * v * w * x * 't :=
+ t "{others}{}{}{}{}" =
+ 'skip$
+ { nameptr #1 >
+ { namesleft #1 >
+ { "; " * t * }
+ {
+ t "others" =
+ 'skip$
+ { "; " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.founders}
+{ founder empty$
+ 'skip$
+ { author empty$
+ 'skip$
+ { " in: " * }
+ if$
+ founder format.names "\foundername" * *
+ editor empty$
+ 'skip$
+ { author empty$
+ { "\afterfoundersep {}" * }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { author empty$
+ { editor format.editor.names
+ editortype empty$
+ { editor num.names$ #1 >
+ { "\fsted {\editorsname}" * }
+ { "\fsted {\editorname}" * }
+ if$
+ }
+ { "\fsted {(" editortype * ")}" * * }
+ if$
+ }
+ { founder empty$
+ { "\bibfnfont {;} " * }
+ { type$ "commented" =
+ { "\afterfoundersep {}" * }
+ { "\bibfnfont {;} " * }
+ if$
+ }
+ if$
+ editor format.editor.names *
+ editortype empty$
+ { editor num.names$ #1 >
+ { " \edfont {\editorsname}" * }
+ { " \edfont {\editorname}" * }
+ if$
+ }
+ { " \edfont {(" editortype * ")}" * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.snd.editors}
+{ editor empty$
+ { "" * }
+ { author empty$
+ { editortype empty$
+ { editor num.names$ #1 >
+ { "\snded {\sndeditorsname}" * }
+ { "\snded {\sndeditorname}" * }
+ if$
+ }
+ { "\snded {(" editortype * ")}" * * }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION { format.howcited }
+{ "} {\bibhowcited}" format.endnote * }
+
+FUNCTION {fin.entry.endnote}
+{ " \jbdoitem {" *
+ author empty$
+ 'skip$
+ { author format.names.for.index * }
+ if$
+ "} {"
+ editor empty$
+ 'skip$
+ { editor format.names.for.index * }
+ if$
+ "} {" *
+ organization empty$
+ 'skip$
+ { "{" organization * "}{}{}{}{}" * * }
+ if$
+ "}" * * write$
+ annote missing$
+ { " \bibAnnoteFile {" cite$ * "}" * write$ newline$ }
+ { " \bibAnnote {" annote * "}" * write$ newline$ }
+ if$
+}
+
+FUNCTION {count.authors.or.editors}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { "" 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { "" * }
+ { "s" * } % more than one author/editor, append `s'
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION { set.after.author.sep }
+{ author missing$
+ { editor missing$
+ { organization missing$
+ { archive missing$
+ { "} {empty} {} {" }
+ { "} {" archive format.name.sig * "} {} {" * }
+ if$
+ }
+ { "} {" organization "} {org} {" * * }
+ if$
+ }
+ { "} {" editor format.name.sig * "} {ed" editor count.authors.or.editors "} {" * * * }
+ if$
+ }
+ { "} {" author format.name.sig * "} {au" author count.authors.or.editors "} {" * * * }
+ if$
+ author empty$
+ { format.snd.editors }
+ 'skip$
+ if$
+ "" *
+}
+
+
+FUNCTION {format.names.info}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff }{vv }{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { " " * t * }
+ { t "others" =
+ { " et al." * }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION { format.howcited.comment }
+{ edition empty$
+ { "} {\bibcommenthowcited}" format.endnote * }
+ { "} {\bibcommenthowcited}" format.endnote * *
+ author empty$ editor empty$ not and
+ { " \jbauthorinfo {" editor format.names.info " " title * * * "}{" cite$ "}" * * * }
+ { author empty$ shortauthor empty$ not and
+ { " \jbauthorinfo {" shortauthor format.names.info " " title * * * "}{" cite$ "}" * * * }
+ { " \jbauthorinfo {" author format.names.info " " title * * * "}{" cite$ "}" * * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION { format.howcited.artperiod }
+{ "} {\bibartperiodhowcited}" format.endnote * }
+
+FUNCTION {format.proceed.organization}
+{ organization empty$
+ { "" }
+ { organization " \organizationname {}" * }
+ if$
+}
+
+FUNCTION {format.titleaddon}
+{ title empty$
+ { "" }
+ { titleaddon empty$
+ { "" }
+ { titleaddon "\bibatsep\ " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "\bibtfont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.artperiodincoll.title}
+{ title empty$
+ { "" }
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.volumetitle}
+{ volumetitle empty$
+ { "" }
+ { volume empty$
+ { "There's a volumetitle but no volume in " cite$ * warning$ volumetitle ", " * }
+ { volumetitle ", " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.extra.label}
+{ extra.label "" =
+ 'skip$
+ { "\bibel {" extra.label * "}" * * }
+ if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "There's a month but no year in " cite$ * warning$ month }
+ if$
+ }
+ { month empty$
+ { edition empty$
+ 'skip$
+ { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * }
+ if$
+ year
+ add.extra.label
+ }
+ { month " " *
+ edition empty$
+ 'skip$
+ { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * }
+ if$
+ year *
+ add.extra.label
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.update}
+{ updated missing$ not
+ { "\updatesep {} \updatename {} " * updated * }
+ 'skip$
+ if$
+}
+
+FUNCTION {oaddress.opublisher.oyear.format}
+{ type$ "book" = type$ "inbook" = type$ "incollection" = or or
+ { oyear empty$
+ { opublisher empty$
+ { oaddress empty$
+ 'skip$
+ { oaddress "\osep {} " * * }
+ if$
+ }
+ { oaddress empty$
+ { opublisher "\osep {} " * * }
+ { oaddress "\bpubaddr {} " * opublisher "\osep {} " * * * }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { "oyear without year in " cite$ * warning$ }
+ 'skip$
+ if$
+ opublisher empty$
+ { oaddress empty$
+ { oyear * "\osep {} \reprintname {}, " * }
+ { oaddress "\bibbdsep {} " * oyear "\osep {} " * * * }
+ if$
+ }
+ { oaddress empty$
+ { opublisher * "\bibbdsep {} " * oyear "\osep {} " * * }
+ { oaddress "\bpubaddr {} " * opublisher "\bibbdsep {} " * * oyear "\osep {} " * * * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 'skip$
+ if$
+}
+
+FUNCTION {make.translators}
+{ before.all 'output.state :=
+ translator empty$
+ { flanguage empty$
+ { "" }
+ { "\translator {}{" flanguage "l" change.case$ * "}" *
+ type$ "incollection" = not
+ type$ "article" = not
+ and
+ { "{1} " * }
+ { type$ "incollection" =
+ { booktitle empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { type$ "article" =
+ { "{1}" * }
+ { series empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "\translator {" translator * "}" *
+ flanguage empty$
+ { "{}" * }
+ { "{" * flanguage "l" change.case$ * "}" * }
+ if$
+ type$ "incollection" = not
+ type$ "article" = not
+ and
+ { "{1} " * }
+ {
+ type$ "incollection" =
+ { booktitle empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { type$ "article" =
+ { "{1} " * }
+ { series empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ before.all 'output.state :=
+}
+
+
+FUNCTION {checked.inst}
+{ institution empty$
+ { " \apyformat {" *
+ oaddress.opublisher.oyear.format
+ }
+ { address empty$ not
+ { " \apyformat {" * }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.address.publisher.year}
+{ publisher empty$
+ { address empty$
+ { year empty$
+ { "Neither address nor year in " cite$ * warning$ "" }
+ { "No address in " cite$ * warning$
+ institution empty$
+ { " \apyformat {" oaddress.opublisher.oyear.format format.date * "}" * }
+ { " \apyformat {" institution * "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { checked.inst address "}" * }
+ { checked.inst address "\bibbdsep {} " format.date * "}" * * }
+ if$
+ }
+ if$
+ }
+ { address empty$
+ { year empty$
+ { "There's only a publisher (no address, no year) in " cite$ * warning$ publisher }
+ { checked.inst publisher "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ { year empty$
+ { checked.inst address * "\bpubaddr {} " publisher "}" * * }%
+ { checked.inst address * "\bpubaddr {} " publisher "\bibbdsep {} " * format.date "}" * * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.howpublished.address.year}
+{ howpublished empty$
+ { address empty$
+ { year empty$
+ { "Neither address nor year in " cite$ * warning$ "" }
+ { "No address in " cite$ * warning$ format.date }
+ if$
+ }
+ { " \apyformat {" oaddress.opublisher.oyear.format address * "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ { address empty$
+ { year empty$
+ { "There's only a howpublished (no address, no year) in " cite$ * warning$ howpublished }
+ { " \apyformat {" oaddress.opublisher.oyear.format howpublished * "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ { year empty$
+ { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished "}" * * }
+ { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished * "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #4 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {bibvol.tie.or.space.connect}
+{ duplicate$ text.length$ #4 <
+ { "~" }
+ { "{} " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {format.btitle}{ title emphasize format.titleaddon * }
+
+FUNCTION {format.btitle.vol}
+{ number empty$
+ { series empty$
+ { volume empty$
+ { title emphasize format.titleaddon * }
+ {
+ title emphasize format.titleaddon * " \volumeformat {" volume * "} " * *
+ }
+ if$
+ }
+ { volume empty$
+ { title emphasize format.titleaddon * }
+ {
+ title emphasize format.titleaddon * "\volumeformat {" volume * "} " * * series "\bibatsep\ " * *
+ }
+ if$
+ }
+ if$
+ }
+ { title emphasize format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.btitle.vol.inbook}
+{ number empty$
+ { series empty$
+ { volume empty$
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon *
+ " \volumeformat {" volume * "} " * *
+ }
+ if$
+ }
+ { volume empty$
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ { series emphasize
+ "\volumeformat {" volume * "} " * *
+ "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * * }
+ if$
+ }
+ if$
+ }
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { author empty$ title empty$ and
+ 'skip$
+ { " " * }
+ if$
+ urldate empty$
+ {"\jburluse {" cite$ * "}" * }
+ {"\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.naked.url}
+{ url empty$
+ { "" }
+ { urldate empty$
+ { title empty$
+ 'skip$
+ { title emphasize * }
+ if$
+ "\jburluse {" cite$ * "}" *
+ }
+ { title empty$
+ 'skip$
+ { title emphasize * }
+ if$
+ "\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.series.number}
+{ volume empty$
+ { number empty$
+ { series empty$
+ { "" }
+ { " \numberandseries {}{" series * "}" * }
+ if$
+ }
+ { series empty$
+ { " \numberandseries {" number * "}{}" * "There's a number but no series in " cite$ * warning$ }
+ { " \numberandseries {" number * "}{" * series "}" * * }
+ if$
+ }
+ if$
+ }
+ { series empty$
+ { "" }
+ { type$ "proceedings" =
+ { " \numberandseries {}{" series * "}" * } % { " (" series * ")" * }
+ { "" }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {first.ed} { "\firstedname" }
+FUNCTION {second.ed}{ "\secondedname" }
+FUNCTION {third.ed} { "\thirdedname" }
+FUNCTION {fourth.ed}{ "\fourthedname" }
+FUNCTION {fifth.ed} { "\fifthedname" }
+FUNCTION {th.ed} { "\thedname" }
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { first.ed 't := }
+ { s "second" = s "2" = or
+ { second.ed 't := }
+ { s "third" = s "3" = or
+ { third.ed 't := }
+ { s "fourth" = s "4" = or
+ { fourth.ed 't := }
+ { s "fifth" = s "5" = or
+ { fifth.ed 't := }
+ { s #1 #1 substring$ is.num
+ { s th.ed * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { "\jbedition {" * convert.edition "~\editionname {}\jbaensep} " * }% dot or not ???????
+ if$
+}
+
+FUNCTION { format.isbn.issn }
+{ isbn empty$
+ { issn empty$
+ { "" }
+ { "\jbissn {" issn n.dashify * "}" * }
+ if$
+ }
+ { "\jbisbn {" isbn n.dashify * "}" * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { " \jbPages{" pages n.dashify * "}" * }
+ if$
+}
+
+FUNCTION {multi.pagerange.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "b" =
+ swap$ "/" = or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {check.missing.pages}
+{ pages empty$
+ { "Empty pages in " cite$ * warning$ }
+ { pages multi.pagerange.check
+ { "" * }
+ { type$ "article" = type$ "periodical" = or
+ { "There's only a starting page, no pagerange in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.book}
+{ pages empty$
+ { "" }
+ { " \jbpages {" pages " \bibtotalpagesname}" *}
+ if$
+}
+
+FUNCTION {format.totalpages}
+{ totalpages empty$
+ { "" }
+ {
+ ", " totalpages "~\bibtotalpagesname" * *
+ }
+ if$
+}
+
+FUNCTION {format.vol.year.num.pages}
+{ volume empty$
+ { "" }
+ { " \artvolumeformat {" volume * "}" *
+ year empty$
+ { "There's a volume but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ month empty$
+ 'skip$
+ { "\ " month * * }
+ if$
+ year empty$
+ 'skip$
+ { " \artyearformat {" year * add.extra.label "}" * * }
+ if$
+ number empty$
+ 'skip$
+ { "\artnumberformat {" number * "}" * * }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { "" format.pages * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.bracedyear.num.pages}
+{ volume empty$
+ { "" }
+ { " \pervolumeformat {" volume * "}" *
+ year empty$
+ { "There's a volume but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ year empty$
+ 'skip$
+ { " \peryearformat {" year * add.extra.label "}" * * }
+ if$
+ month empty$
+ 'skip$
+ { ", " month * * }
+ if$
+ number empty$
+ 'skip$
+ { ", \pernumberformat {" number * "}" * * }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { "" format.pages * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\unskip.\,-- \bibchapterlongname" }
+ { "\unskip.\,-- " type * }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitleaddon}
+{ booktitle empty$
+ { "" }
+ { booktitleaddon empty$
+ { "" }
+ { booktitleaddon }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.incoll.editor.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { volume empty$
+ { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{" * volume * "}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ { volume empty$
+ { "\incolledformat {"
+ editor empty$
+ { "" }
+ { editor format.editor.names "}" * *
+ editortype empty$
+ { editor num.names$ #1 >
+ { "{\edfont {\editorsname}}{" * }
+ { "{\edfont {\editorname}}{" * }
+ if$
+ }
+ { "{\edfont {(" * editortype * ")}}{" * }
+ if$
+ }
+ if$
+ booktitle incollbooktitlemarkup * format.booktitleaddon * "}{}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { "\incolledformat {" *
+ editor empty$
+ { "" }
+ { editor format.editor.names "}" * *
+ editortype empty$
+ { editor num.names$ #1 >
+ { "{\edfont {\editorsname}}{" * }
+ { "{\edfont {\editorname}}{" * }
+ if$
+ }
+ { "{\edfont {(" * editortype * ")}}{" * }
+ if$
+ }
+ if$
+ booktitle incollbooktitlemarkup * format.booktitleaddon * "}{" volume * "}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number.jur}
+{ type empty$
+ { number empty$
+ { " -- \technicalreportname {} " }
+ { "~(" number * ").\,-- \technicalreportname {} " * }
+ if$
+ }
+ { number empty$
+ { " -- " type * }
+ { "~(" number * ").\,-- " type * " " * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref.bracedyear}
+{ key empty$
+ { journal empty$
+ { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" }
+ { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * }
+ if$
+ volume empty$
+ { "No volume in " cite$ * warning$ }
+ { " \pervolumeformat {" volume * "} " * }
+ if$
+ year empty$
+ { "No year in " cite$ * warning$ }
+ { "\peryearformat {" year * add.extra.label "}" * * }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { format.pages * }
+ if$
+ }
+ if$
+ }
+ { "" key * }
+ if$
+ "\ \protect\jbcrossrefchecked {" * crossref * "}\unskip" *
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" }
+ { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * }
+ if$
+ }
+ { "" key * }
+ if$
+ year empty$
+ 'skip$
+ { year * }
+ if$
+ " \protect\jbcrossrefchecked {" crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "Need editor, key, or series for " cite$ * " to crossref " * crossref * warning$ "" * }
+ { "" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { "" * }
+ if$
+ volume empty$
+ { "Empty volume in " cite$ * "'s crossref of " * crossref * warning$ ""
+ " \protect\jbcrossrefchecked {" * crossref * "}\unskip" * }
+ { " \protect\jbcrossrefchecked[" * volume * "]{" * crossref "}\unskip" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ " \protect\jbincollcrossref {" * crossref * "}" *
+ editor empty$
+ { "{}" * }
+ { "{1}" * }
+ if$
+ format.pages % *<== 0.5f removed too.
+}
+
+FUNCTION { format.editors.organization }
+{ organization empty$
+ 'skip$
+ { type$ "misc" =
+ { organization }
+ { author empty$
+ { editor empty$
+ { " " organization * " \organizationname {}" * }
+ { "; " organization * " \organizationname {}" * }
+ if$
+ }
+ { "; " organization * " \organizationname {}" * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.address.organization.manual}
+{ author empty$
+ { organization empty$
+ { address empty$
+ 'skip$
+ { address output part.of.sentence
+ year empty$ not { "\bibbdsep {}" *} 'skip$ if$
+ }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ { address empty$
+ { organization empty$
+ 'skip$
+ { organization output part.of.sentence
+ year empty$ not { "\bibbdsep {}" *} 'skip$ if$
+ }
+ if$
+ }
+ { organization empty$
+ { address output part.of.sentence }
+ { address "\bpubaddr {} " * organization * output part.of.sentence }
+ if$
+ year empty$ not { "\bibbdsep {}" *} 'skip$ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ crossref missing$
+ { journal article.in.journal output.nonnull
+ new.sentence
+ format.vol.year.num.pages output
+ }
+ { format.article.crossref output.nonnull }
+ if$
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited.artperiod output
+ check.missing.pages
+ fin.entry.endnote
+}
+
+FUNCTION {commented}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { format.founders }
+ { format.founders format.editors "editor" output.check }
+ if$
+ }
+ { editor empty$
+ { format.authors format.founders output.nonnull }
+ { format.authors format.founders format.editors output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle.vol "title" output.check }
+ { format.btitle "title" output.check }
+ if$
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ format.update
+ new.sentence
+ crossref missing$
+ { format.series.number output }
+ { format.book.crossref output.nonnull }
+ if$
+ format.url output
+ format.pages output
+ format.note
+ format.howcited.comment output
+ fin.entry.endnote
+}
+
+FUNCTION {periodical}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ crossref missing$
+ { journal article.in.journal output.nonnull
+ new.sentence
+ format.vol.bracedyear.num.pages output
+ }
+ { new.sentence format.article.crossref.bracedyear output.nonnull }
+ if$
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited.artperiod output
+ fin.entry.endnote
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { "" "author and editor" output.check }
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { format.authors "\jbtiafed {" format.editors * "}" * output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle.vol "title" output.check }
+ { format.btitle "title" output.check }
+ if$
+ author empty$ not editor empty$ not and
+ { "\jbedafti {\edbyname {} " editor * "," * * "} " * }
+ 'skip$
+ if$
+ make.translators output
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.juradiss.book output
+ crossref missing$
+ { format.series.number output }
+ { format.book.crossref output.nonnull }
+ if$
+ format.url output
+ format.pages output
+ format.totalpages output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { editor empty$
+ { format.authors output.nonnull }
+ { format.authors format.editors output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { chapter empty$
+ { "There's no chapter in " cite$ * warning$ "" * }
+ { type empty$
+ { "\Bibchaptername{}" }
+ { type }
+ if$
+ chapter tie.or.space.connect " In " * *
+ }
+ if$
+ format.btitle.vol.inbook "title" output.check
+ make.translators output
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.series.number output
+ format.url output
+ format.pages "pages" output.check
+ format.note
+ format.isbn.issn output
+ }
+ { chapter empty$
+ { "There's no chapter in " cite$ * warning$ "" *
+ format.btitle.vol.inbook "title" output.check
+ }
+ { type empty$
+ { "\Bibchaptername{}" }
+ { type }
+ if$
+ chapter tie.or.space.connect "" * *
+ }
+ if$
+ format.volumetitle output
+ format.book.crossref output.nonnull
+ format.url output
+ format.pages "pages" output.check
+ format.note
+ }
+ if$
+ part.of.sentence
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ make.translators output
+ crossref missing$
+ { format.incoll.editor.booktitle "booktitle" output.check
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.series.number output
+ format.url output
+ format.isbn.issn output
+ part.of.sentence
+ format.chapter.pages output
+ format.note
+ }
+ { format.volumetitle output
+ format.incoll.inproc.crossref output.nonnull
+ format.url output
+ format.note
+ }
+ if$
+ format.howcited output
+ check.missing.pages
+ fin.entry.endnote
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ crossref missing$
+ { format.incoll.editor.booktitle "booktitle" output.check
+ address empty$
+ { organization new.sentence.checka
+ organization output
+ part.of.sentence
+ format.address.publisher.year output
+ }
+ { format.address.publisher.year "publisher" output.check }
+ if$
+ new.sentence
+ series empty$
+ 'skip$
+ { format.series.number output }
+ if$
+ format.url output
+ format.note
+ format.isbn.issn output
+ part.of.sentence
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.url output
+ format.note
+ }
+ if$
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {conference}{inproceedings}
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { "\bibnf{" organization * "} {} {} {} {}" * output.nonnull }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.edition output
+ format.address.organization.manual
+ format.date output
+ pages set.period.dash.check
+ format.pages.book output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.thesis output
+ set.comma.pages.check
+ pages new.sentence.checka
+ format.pages output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.thesis output
+ set.comma.pages.check
+ pages new.sentence.checka
+ format.pages output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {jurthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.thesis output
+ set.comma.pages.check
+ pages new.sentence.checka
+ format.pages output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title "title" output.check
+ format.howpublished.address.year output
+ format.note
+ format.url output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title output
+ format.howpublished.address.year output
+ format.note
+ format.url output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization empty$
+ 'skip$
+ { "\biblnfont {" organization * " \organizationname}" * output }
+ if$
+ }
+ { format.editors output.nonnull }
+ if$
+ set.after.author.sep output
+ format.btitle "title" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { format.proceed.organization output }
+ if$
+ new.sentence
+ format.series.number output.nonnull
+ volume empty$
+ { "" output.nonnull }
+ { "\volumeformat {" volume * "} " * "volume" output.check }
+ if$
+ format.address.publisher.year "publisher" output.check
+ pages set.period.dash.check
+ format.pages.book output
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { editor empty$
+ { format.authors output.nonnull }
+ { format.authors format.editors output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ format.title "title" output.check
+ institution new.sentence.checka
+ format.address.publisher.year output
+ number new.sentence.checka
+ format.tr.number.jur "number" output.check
+ pages set.period.dash.check
+ format.pages.book output
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {www}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.naked.url output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {lexicon}
+{ output.bibitem
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle.vol "title" output.check }
+ { format.btitle "title" output.check }
+ if$
+ author empty$
+ { editor empty$
+ 'skip$
+ { "\edbyname{} " * editor format.editor.names "," * * }
+ if$
+ }
+ { "\byname{} " author format.names * "," * * }
+ if$
+ make.translators output
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.juradiss.book output
+ crossref missing$
+ { format.series.number output }
+ { format.book.crossref output.nonnull }
+ if$
+ format.url output
+ format.pages output
+ format.totalpages output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+STRINGS { last.archive last.subarchive }
+
+FUNCTION {init.last.archive }
+{ "" 'last.archive :=
+ "" 'last.subarchive := }
+
+FUNCTION {archival}
+{ output.bibitem
+ archive empty$
+ { "" 'last.archive := }
+ { archive last.archive =
+ { "} {" archive format.name.sig * "} {} {\jbsamearch{} " * * }
+ { "\bibanfont{" archive * "archive" output.check
+ shortarchive empty$
+ 'skip$
+ { " \jbshortarchformat{" shortarchive * "}" * * }
+ if$
+ "}" *
+ "} {" archive format.name.sig * "} {} {\jbnotsamearch{} " * *
+ }
+ if$
+ archive 'last.archive :=
+ }
+ if$
+ subarchive empty$
+ { "" 'last.subarchive := }
+ { subarchive last.subarchive =
+ 'skip$
+ { subarchive output
+ shortsubarchive empty$
+ 'skip$
+ { " \jbshortsubarchformat{" shortsubarchive * "}" * * }
+ if$
+ "\jbsubarchsep{} " *
+ }
+ if$
+ subarchive 'last.subarchive :=
+ }
+ if$
+ sig1 empty$
+ 'skip$
+ { "\jbarchsig {" *
+ subarchive empty$
+ 'skip$
+ { "\jbsamesubarchindent{} " * }
+ if$
+ sig1 *
+ sig2 empty$
+ 'skip$
+ { ". " sig2 * *
+ sig3 empty$
+ 'skip$
+ { ". " sig3 * *
+ sig4 empty$
+ 'skip$
+ { ". " sig4 * * }
+ if$
+ }
+ if$
+ }
+ if$
+ "} {" *
+ }
+ if$
+ archname missing$
+ { "}" * }
+ { archname "}" * output }
+ if$
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {unpublished}{misc}
+
+FUNCTION {default.type}{misc}
+
+MACRO {jan} {"\janname\ "}
+MACRO {feb} {"\febname\ "}
+MACRO {mar} {"\marname\ "}
+MACRO {apr} {"\aprname\ "}
+MACRO {may} {"\mayname\ "}
+MACRO {jun} {"\junname\ "}
+MACRO {jul} {"\julname\ "}
+MACRO {aug} {"\augname\ "}
+MACRO {sep} {"\sepname\ "}
+MACRO {oct} {"\octname\ "}
+MACRO {nov} {"\novname\ "}
+MACRO {dec} {"\decname\ "}
+
+READ
+
+FUNCTION {sortify}{ purify$ "l" change.case$ }
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's := % for two: (Jones/de~Bruijn)
+ s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
+ s num.names$ duplicate$ % for more: (Jones et\,al.)
+ #2 <
+ 'pop$ % for just one person
+ { duplicate$ duplicate$
+ #3 >
+ swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ or
+ { pop$ "\Bibetal" * } % for 4 or more, or last is `others'
+ { #2 =
+ { "\jbbtasep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
+ { "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ * % for three
+ "\jbbstasep " * s #3 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ year missing$
+ 'skip$
+ { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
+ if$
+}
+
+FUNCTION {format.editor.lab.names}
+{ 's := % for two: (Jones/de~Bruijn)
+ s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
+ s num.names$ duplicate$ % for more: (Jones et\,al.)
+ #2 <
+ 'pop$ % for just one person
+ { duplicate$ duplicate$
+ #3 >
+ swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ or
+ { pop$ "\Bibetal" * } % for 4 or more, or last is `others'
+ { #2 =
+ { "\jbbtesep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
+ { "\jbbfsesep " * s #2 "{vv~}{ll}" format.name$ * % for three
+ "\jbbstesep " * s #3 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ year missing$
+ 'skip$
+ { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.editor.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.editor.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or type$ "lexicon" = or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'label :=
+}
+
+FUNCTION {calc.dummy.label}
+{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'dummy.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "\bibnf {others} {} {} {} {}" = and
+ { "\Bibetal" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "Der " #4
+ "Die " #4
+ "Das " #4
+ "Ein " #4
+ "Eine " #5
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ {
+%% "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ {
+%% "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {archival.sort}
+{ archive empty$
+ { shortarchive empty$
+ { "to sort, need archive or shortarchive in " cite$ * warning$ "" }
+ { shortarchive sortify }
+ if$
+ }
+ { archive sortify }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ calc.dummy.label
+ dummy.label sortify " " *
+ sortkey empty$
+ { type$ "book" =
+ type$ "incollection" = or
+ type$ "inbook" = or
+ type$ "commented" = or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ { type$ "archival" =
+ 'archival.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { sortkey sort.format.names }
+ if$
+ type$ "archival" = not
+ { " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ { " "
+ *
+ subarchive field.or.null sortify
+ *
+ " "
+ *
+ sig1 field.or.null sortify
+ *
+ " "
+ *
+ sig2 field.or.null sortify
+ *
+ " "
+ *
+ sig3 field.or.null sortify
+ *
+ " "
+ *
+ sig4 field.or.null sortify
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+%% FUNCTION {before.sort} { "BEFORE SORT:" top$ }
+%% EXECUTE {before.sort}
+%% FUNCTION {print.sort.keys} {sort.key$ top$}
+%% ITERATE {print.sort.keys}
+
+SORT
+
+%% FUNCTION {after.sort} {"AFTER SORT:" top$}
+%% EXECUTE {after.sort}
+%% ITERATE {print.sort.keys}
+
+
+INTEGERS { last.extra.num number.label extra.extra.num }
+
+FUNCTION {make.extra.label}
+{ last.extra.num #122 <
+ { last.extra.num #1 + }
+ { extra.extra.num #0 =
+ { "a" chr.to.int$ }
+ { extra.extra.num #1 + }
+ if$
+ 'extra.extra.num :=
+ "a" chr.to.int$ }
+ if$
+ 'last.extra.num :=
+ extra.extra.num #0 =
+ { last.extra.num int.to.chr$ }
+ { extra.extra.num int.to.chr$ 'extra.label :=
+ extra.label last.extra.num int.to.chr$ * }
+ if$
+}
+
+FUNCTION {forward.pass}
+{ w dummy.label =
+ { make.extra.label 'extra.label := }
+ { "a" chr.to.int$ 'last.extra.num :=
+ #0 'extra.extra.num :=
+ "" 'extra.label :=
+ dummy.label 'w :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ x "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'x :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * }
+ if$
+ 'extra.label :=
+ dummy.label extra.label * 'dummy.label :=
+}
+
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order} { sort.label 'sort.key$ := }
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {set.current.authors}
+{ author empty$
+ { editor empty$
+ { organization empty$
+ { cite$ 'current-authors := }
+ { organization 'current-authors := }
+ if$
+ }
+ { editor format.names #1 entry.max$ substring$ 'current-authors := }
+%% ^^^^^^^^^^^^ NOT format.editor.names, otherwise \jb@@arg is always = 0!!!
+ if$
+ }
+ { author format.names #1 entry.max$ substring$ 'current-authors := }
+ if$
+}
+
+STRINGS { previous-authors }
+
+FUNCTION {initialize.previous.authors} { "" 'previous-authors := }
+
+FUNCTION {mark.repeat.authors}
+{ current-authors previous-authors =
+ { #1 'repeat-authors := }
+ 'skip$
+ if$
+ current-authors 'previous-authors :=
+}
+
+ITERATE {set.current.authors}
+
+EXECUTE {initialize.previous.authors}
+
+ITERATE {mark.repeat.authors}
+
+EXECUTE {initialize.previous.authors}
+
+REVERSE {mark.repeat.authors}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "%" write$ newline$
+ "% This bibliography was produced by using jurabib.bst" write$ newline$
+ "%" write$ newline$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `jurabib.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/jurabib/jureco.bst b/Master/texmf-dist/bibtex/bst/jurabib/jureco.bst
new file mode 100644
index 00000000000..3c8dcc60ca0
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/jurabib/jureco.bst
@@ -0,0 +1,2809 @@
+%%
+%% This is file `jureco.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% jurabib.dtx (with options: `jurecobst')
+%% ----------------------------------------
+%% BibTeX style for use with the jurabib package version v0.6
+%% Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org)
+%% See jurabib.ins for the copyright details.
+%%
+ENTRY{
+ address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+%%
+ url
+ urldate
+ volumetitle
+ dissyear
+ howcited
+ juratitle
+ juraauthor
+ shorttitle
+ shortauthor
+ ssedition
+ titleaddon
+ booktitleaddon
+ editortype
+ sortkey
+ annote
+ gender
+ translator
+ flanguage
+ oyear
+ oaddress
+ opublisher
+ updated
+ totalpages
+ founder
+ archive
+ subarchive
+ shortarchive
+ shortsubarchive
+ sig1
+ sig2
+ sig3
+ sig4
+ archname
+ }
+ { repeat-authors repeat-titles }
+ { label dummy.label extra.label sort.label current-authors }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { colon.after period.dash }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'colon.after :=
+ #5 'period.dash :=
+}
+
+STRINGS { s t u v w x }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state after.block =
+ { write$ }
+ { output.state before.all =
+ { write$ }
+ { output.state colon.after =
+ { "" * write$ }
+ { output.state period.dash =
+ { ", " * write$ }
+ { output.state mid.sentence =
+ { " " * write$ }
+ { write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ after.block 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition.superscript}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or s "erste" = or
+ { "1" 't := }
+ { s "second" = s "2" = or s "zweite" = or
+ { "2" 't := }
+ { s "third" = s "3" = or s "dritte" = or
+ { "3" 't := }
+ { s "fourth" = s "4" = or s "vierte" = or
+ { "4" 't := }
+ { s "fifth" = s "5" = or s "fuenfte" = or
+ { "5" 't := }
+ { s "sixth" = s "6" = or s "sechste" = or
+ { "6" 't := }
+ { s "seventh" = s "7" = or s "siebte" = or s "siebente" = or
+ { "7" 't := }
+ { s "eighth" = s "8" = or s "achte" = or
+ { "8" 't := }
+ { s "nineth" = s "9" = or s "neunte" = or
+ { "9" 't := }
+ { s #1 #1 substring$ is.num
+ { s "" * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" * t #2 global.max$ substring$ 't := }
+ { { t #1 #1 substring$ "-" = }
+ { "-" * t #2 global.max$ substring$ 't := }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ * t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+}
+
+FUNCTION {output.bibitem.fst}
+{ newline$
+ "\bibitem[{" write$
+ shortauthor empty$
+ { juraauthor empty$
+ { author empty$
+ { editor empty$
+ { organization empty$
+ { archive empty$
+ { "empty" write$ }
+ { archive write$ }
+ if$
+ }
+ { organization write$ }
+ if$
+ }
+ { label write$ }
+ if$
+ }
+ { label write$ }
+ if$
+ }
+ { juraauthor write$ }
+ if$
+ }
+ { shortauthor write$ }
+ if$
+ "}%" write$
+ sortkey empty$
+ 'skip$
+ { newline$ "% SORTKEY: [" sortkey * "]" * write$ }
+ if$
+ newline$
+ shorttitle empty$
+ { juratitle empty$
+ { journal empty$
+ { " {}%" write$ }
+ { " {" journal * "}%" * write$ }
+ if$
+ }
+ { " {" juratitle * "}%" * write$ }
+ if$
+ }
+ { " {" shorttitle * "}%" * write$ }
+ if$
+ newline$
+ repeat-authors
+ { " {{1}" write$ }
+ { " {{0}" write$ }
+ if$
+ howcited empty$
+ { "{}" write$ }
+ { "{" howcited * "}" * write$ }
+ if$
+ type$ empty$
+ { "{}" write$ }
+ { "{" type$ * "}" * write$ }
+ if$
+ year empty$
+ { type$ "book" = dissyear empty$ not and
+ { "{" dissyear * write$
+ extra.label "" =
+ skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ "}" write$
+ }
+ { "{}" write$ }
+ if$
+ }
+ { "{" year * write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ "}" write$
+ }
+ if$
+ edition empty$
+ { "{}" write$ }
+ { "{" convert.edition.superscript extract.num * "}" * write$ }
+ if$
+ ssedition empty$
+ { "{}" write$ }
+ { "{" ssedition * "}" * write$ }
+ if$
+ language empty$
+ { "{}" write$ }
+ { "{" language * "}" * write$ }
+ if$
+ pages empty$
+ { "{}%" write$ }
+ { "{" write$ pages n.dashify write$ "}%" write$ }
+ if$
+}
+
+FUNCTION {output.bibitem.snd}
+{ newline$
+ publisher empty$
+ { address empty$
+ { " {" write$ }
+ { " {" write$ address write$ }
+ if$
+ }
+ { address empty$
+ { " {" write$ }
+ { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ }
+ if$
+ }
+ if$
+ "}}%" write$ newline$
+ " {" write$
+ title empty$
+ { "{}%" write$ newline$ }
+ { "{" title *
+ type$ "archival" =
+ { shortarchive empty$ not
+ { ", In: " shortarchive * * }
+ { archive empty$ not
+ { ", In: " archive * * }
+ 'skip$
+ if$
+ }
+ if$
+ shortsubarchive empty$
+ 'skip$
+ { ", " shortsubarchive * * }
+ if$
+ sig1 empty$
+ 'skip$
+ { ", " sig1 * *
+ sig2 empty$
+ 'skip$
+ { ". " sig2 * *
+ sig3 empty$
+ 'skip$
+ { ". " sig3 * *
+ sig4 empty$
+ 'skip$
+ { ". " sig4 * * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { " \jbArchPages {" pages n.dashify * "}" * * }
+ if$
+ }
+ 'skip$
+ if$
+ "}%" * write$ newline$ }
+ if$
+ gender empty$
+ { " {}" write$ }
+ { " {" gender * "}" * write$ }
+ if$
+ oyear empty$
+ { "{}" write$ }
+ { "{" oyear * "}" * write$ }
+ if$
+ author empty$
+ { editor empty$
+ { "{4}" write$ }% author and editor empty
+ { "{3}" write$ }% author empty, editor not
+ if$
+ }
+ { editor empty$
+ { "{2}" write$ }% editor empty, author not
+ { "{1}" write$ }% both author and editor given
+ if$
+ }
+ if$
+ "{}{}{}{}{}}%" write$ newline$
+ " ]{" write$
+ cite$ write$
+ "}" write$
+ url empty$
+ 'skip$
+ { newline$ " \jburldef {" write$ cite$ write$ "}{" write$ url write$ "}%" write$ }
+ if$
+ newline$
+ " \jbbibargs {" write$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.bibitem}
+{ output.bibitem.fst
+ output.bibitem.snd
+}
+
+FUNCTION {format.note}
+{ note empty$
+ 'skip$
+ { output.state before.all =
+ {" \jbnote {} {" * note * "} " * }
+ {" \jbnote {1} {" * note * "} " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.endnote}
+{ note empty$
+ { "" }
+ { " \jbendnote {" note * "}" * }
+ if$
+}
+
+
+FUNCTION {format.juradiss.book}
+{ dissyear empty$
+ { "" }
+ { type empty$
+ { school empty$
+ { "Dissyear but no school in " cite$ * warning$
+ " (\alsothesisname {} \jurthesisname" *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * }
+ 'skip$
+ if$
+ ")" *
+ }
+ { " (\alsothesisname {} \jurthesisname, " school *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * * }
+ 'skip$
+ if$
+ ")" *
+ }
+ if$
+ }
+ { school empty$
+ { "Dissyear but no school in " cite$ * warning$
+ " (\alsothesisname {} " type *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * }
+ 'skip$
+ if$
+ ")" *
+ }
+ { " (\alsothesisname {} " type *
+ ", " school * *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * * }
+ 'skip$
+ if$
+ ")" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis}
+{ year empty$
+ { school empty$
+ { "No universtiy in " cite$ * warning$ }
+ { "There's a university, but no year in " cite$ * warning$ }
+ if$
+ ""
+ }
+ { type empty$
+ { school empty$
+ { "No university in " cite$ * warning$
+ type$ "mastersthesis" =
+ { "\apyformat {\mastersthesisname" address empty$ 'skip$ { ", " address * * } if$ "}" * }
+ { type$ "jurthesis" =
+ { "\apyformat {\jurthesisname" address empty$ 'skip$ { ", " address * * } if$ "}" * }
+ { "\apyformat {\phdthesisname" address empty$ 'skip$ { ", " address * * } if$ "}" * }
+ if$
+ }
+ if$
+ }
+ { type$ "mastersthesis" =
+ { "\mastersthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "}" * }
+ { type$ "jurthesis" =
+ { "\jurthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "}" * }
+ { "\phdthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "}" * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { school empty$
+ { "No university in " cite$ * warning$ type }
+ { type " \apyformat {" * school * address empty$ 'skip$ { ", " address * * } if$ "}" * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {set.comma.pages.check}
+{ year empty$
+ 'skip$
+ { pages empty$
+ { url empty$
+ 'skip$
+ { ", " * }
+ if$
+ }
+ { ", " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {set.period.dash}
+{ output.state before.all =
+ 'skip$
+ { period.dash 'output.state := }
+ if$
+}
+
+FUNCTION {set.period.dash.check}
+{ empty$
+ 'skip$
+ 'set.period.dash
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {part.of.sentence}
+{ output.state before.all =
+ 'skip$
+ { mid.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {get.final.nonrightbrace.char}
+{ { duplicate$
+ #-1 #1 substring$
+ duplicate$
+ "}" =
+ }
+ { pop$
+ #-2 global.max$ substring$
+ }
+ while$
+ swap$ pop$
+}
+
+
+FUNCTION {check.punct.instead.of.add.period}
+{ duplicate$
+ get.final.nonrightbrace.char
+ duplicate$ "." = swap$
+ duplicate$ "!" = swap$
+ "?" = or or
+ { "} " * }
+ { "}\bibatsep\ " * }
+ if$
+}
+
+FUNCTION {check.punct.instead.of.add.period.art}
+{ duplicate$
+ get.final.nonrightbrace.char
+ duplicate$ "." = swap$
+ duplicate$ "!" = swap$
+ "?" = or or
+ { "} " * }
+ { pages empty$ note empty$ url empty$ and and
+ { "} " * }
+ { volume empty$
+ { pages empty$
+ { "}\ajtsep\ " * }
+ { crossref missing$
+ { month empty$
+ { "}\ajtsep\ " * }
+ { "}\ajtsep " * }
+ if$
+ }
+ { "}\ajtsep " * }
+ if$
+ }
+ if$
+ }
+ { "}\ajtsep\ " * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibtfont {" swap$ check.punct.instead.of.add.period * }
+ if$
+}
+
+FUNCTION {journaltitlemarkup}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibJTsep \bibjtfont {" swap$ check.punct.instead.of.add.period.art * }
+ if$
+}
+
+FUNCTION {incollbooktitlemarkup}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibbtfont {" swap$ check.punct.instead.of.add.period * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION { lastnamemarkup }
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibnf {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION { editorlastnamemarkup }
+ { duplicate$ empty$
+ { pop$ "" }
+ { author empty$
+ { "\biblenf {" swap$ * "}" * } % lonely editor(s)!
+ { "\bibenf {" swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION { othermarkup }
+ { duplicate$ empty$
+ { pop$ " {}" }
+ { " {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {article.in.journal}
+{ duplicate$ empty$
+ { pop$ "" }
+ { author missing$
+ { title missing$
+ 'skip$
+ { journaltitlemarkup "" swap$ * }
+ if$
+ }
+ { journaltitlemarkup "" swap$ * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.names} % NEW v0.5
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t lastnamemarkup 't :=
+ s nameptr "{ff}" format.name$ othermarkup 'u :=
+ s nameptr "{f.}" format.name$ othermarkup 'v :=
+ s nameptr "{vv}" format.name$ othermarkup 'w :=
+ s nameptr "{jj}" format.name$ othermarkup 'x :=
+ t u * v * w * x * 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { numnames #3 >
+ { "" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * } % between (exactly) two authors
+ { "\Bibbfsasep " * t * } % between first and second author (if more than two)
+ if$
+ }
+ if$
+ }
+ { t "\bibnf {others} {} {} {} {}" =
+ t "\bibnf {others} {} {} {} {} \edfont {\editorsname}" = or
+ numnames #3 > or
+ { "\bibIMfont {\Bibetal}" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * } % between (exactly) two authors
+ { "\Bibbstasep " * t * } % between second and third author
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.editor.names} % NEW v0.5
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t editorlastnamemarkup 't :=
+ s nameptr "{ff}" format.name$ othermarkup 'u :=
+ s nameptr "{f.}" format.name$ othermarkup 'v :=
+ s nameptr "{vv}" format.name$ othermarkup 'w :=
+ s nameptr "{jj}" format.name$ othermarkup 'x :=
+ t u * v * w * x * 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { numnames #3 >
+ { "" * }
+ { numnames #3 <
+ { "\Bibbtesep " * t * } % between (exactly) two editors
+ { "\Bibbfsesep " * t * } % between first and second editor (if more than two)
+ if$
+ }
+ if$
+ }
+ { t "\bibenf {others} {} {} {} {}" =
+ t "\biblenf {others} {} {} {} {}" = or
+ t "\bibenf {others} {} {} {} {} \edfont {\editorsname}" = or
+ t "\biblenf {others} {} {} {} {} \edfont {\editorsname}" = or
+ numnames #3 > or
+ { "\bibIMfont {\Bibetal}" * }
+ { numnames #3 <
+ { "\Bibbtesep " * t * } % between (exactly) two editors
+ { "\Bibbstesep " * t * } % between second and third editor
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.name.sig}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff}{ vv}{ ll}{ jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { "" * t * }
+ { t "others" =
+ { " et al." * }
+ { "" * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {indexmarkup}
+{ duplicate$ empty$
+ { pop$ "{}" }
+ { "{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {format.names.for.index}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t indexmarkup 't :=
+ s nameptr "{ff}" format.name$ indexmarkup 'u :=
+ s nameptr "{f.}" format.name$ indexmarkup 'v :=
+ s nameptr "{vv}" format.name$ indexmarkup 'w :=
+ s nameptr "{jj}" format.name$ indexmarkup 'x :=
+ t u * v * w * x * 't :=
+ t "{others}{}{}{}{}" =
+ 'skip$
+ { nameptr #1 >
+ { namesleft #1 >
+ { "; " * t * }
+ {
+ t "others" =
+ 'skip$
+ { "; " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.founders}
+{ founder empty$
+ 'skip$
+ { author empty$
+ 'skip$
+ { " in: " * }
+ if$
+ founder format.names "\foundername" * *
+ editor empty$
+ 'skip$
+ { author empty$
+ { "\afterfoundersep {}" * }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { author empty$
+ { editor format.editor.names
+ editortype empty$
+ { editor num.names$ #1 >
+ { "\fsted {\editorsname}" * }
+ { "\fsted {\editorname}" * }
+ if$
+ }
+ { "\fsted {(" editortype * ")}" * * }
+ if$
+ }
+ { founder empty$
+ { "\bibfnfont {;} " * }
+ { type$ "commented" =
+ { "\afterfoundersep {}" * }
+ { "\bibfnfont {;} " * }
+ if$
+ }
+ if$
+ editor format.editor.names *
+ editortype empty$
+ { editor num.names$ #1 >
+ { " \edfont {\editorsname}" * }
+ { " \edfont {\editorname}" * }
+ if$
+ }
+ { " \edfont {(" editortype * ")}" * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.snd.editors}
+{ editor empty$
+ { "" * }
+ { author empty$
+ { editortype empty$
+ { editor num.names$ #1 >
+ { "\snded {\sndeditorsname}" * }
+ { "\snded {\sndeditorname}" * }
+ if$
+ }
+ { "\snded {(" editortype * ")}" * * }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION { format.howcited }
+{ "} {\bibhowcited}" format.endnote * }
+
+FUNCTION {fin.entry.endnote}
+{ " \jbdoitem {" *
+ author empty$
+ 'skip$
+ { author format.names.for.index * }
+ if$
+ "} {"
+ editor empty$
+ 'skip$
+ { editor format.names.for.index * }
+ if$
+ "} {" *
+ organization empty$
+ 'skip$
+ { "{" organization * "}{}{}{}{}" * * }
+ if$
+ "}" * * write$
+ annote missing$
+ { " \bibAnnoteFile {" cite$ * "}" * write$ newline$ }
+ { " \bibAnnote {" annote * "}" * write$ newline$ }
+ if$
+}
+
+FUNCTION {count.authors.or.editors}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { "" 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { "" * }
+ { "s" * } % more than one author/editor, append `s'
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+
+FUNCTION { set.after.author.sep }
+{ author empty$ editor empty$ and
+ { "}{jureco} {} {" "" * }
+ { year empty$
+ { type$ "book" = dissyear empty$ not and
+ { "\bibYear {" dissyear *
+ extra.label "" =
+ 'skip$
+ { "\el {" extra.label * "}" * * }
+ if$
+ "}" * *
+ }
+ { year missing$
+ { "\bibYear {}" * }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { year missing$
+ { "\bibYear {}" * }
+ { "\bibYear {" year *
+ extra.label "" =
+ 'skip$
+ { "\el {" extra.label * "}" * * }
+ if$
+ "}" * *
+ }
+ if$
+ }
+ if$
+ "}{jureco} {} {" "" *
+ }
+ if$
+}
+
+FUNCTION {format.names.info}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff }{vv }{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { " " * t * }
+ { t "others" =
+ { " et al." * }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION { format.howcited.comment }
+{ edition empty$
+ { "} {\bibcommenthowcited}" format.endnote * }
+ { "} {\bibcommenthowcited}" format.endnote * *
+ author empty$ editor empty$ not and
+ { " \jbauthorinfo {" editor format.names.info " " title * * * "}{" cite$ "}" * * * }
+ { author empty$ shortauthor empty$ not and
+ { " \jbauthorinfo {" shortauthor format.names.info " " title * * * "}{" cite$ "}" * * * }
+ { " \jbauthorinfo {" author format.names.info " " title * * * "}{" cite$ "}" * * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION { format.howcited.artperiod }
+{ "} {\bibartperiodhowcited}" format.endnote * }
+
+FUNCTION {format.proceed.organization}
+{ organization empty$
+ { "" }
+ { organization " \organizationname {}" * }
+ if$
+}
+
+FUNCTION {format.titleaddon}
+{ title empty$
+ { "" }
+ { titleaddon empty$
+ { "" }
+ { titleaddon "\bibatsep\ " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "\bibtfont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.artperiodincoll.title}
+{ title empty$
+ { "" }
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.volumetitle}
+{ volumetitle empty$
+ { "" }
+ { volume empty$
+ { "There's a volumetitle but no volume in " cite$ * warning$ volumetitle ", " * }
+ { volumetitle ", " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.extra.label}
+{ extra.label "" =
+ 'skip$
+ { "\bibel {" extra.label * "}" * * }
+ if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "There's a month but no year in " cite$ * warning$ month }
+ if$
+ }
+ { month empty$
+ { edition empty$
+ 'skip$
+ { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * }
+ if$
+ year
+ add.extra.label
+ }
+ { month " " *
+ edition empty$
+ 'skip$
+ { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * }
+ if$
+ year *
+ add.extra.label
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.update}
+{ updated missing$ not
+ { "\updatesep {} \updatename {} " * updated * }
+ 'skip$
+ if$
+}
+
+FUNCTION {oaddress.opublisher.oyear.format}
+{ type$ "book" = type$ "inbook" = type$ "incollection" = or or
+ { oyear empty$
+ { opublisher empty$
+ { oaddress empty$
+ 'skip$
+ { oaddress "\osep {} " * * }
+ if$
+ }
+ { oaddress empty$
+ { opublisher "\osep {} " * * }
+ { oaddress "\bpubaddr {} " * opublisher "\osep {} " * * * }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { "oyear without year in " cite$ * warning$ }
+ 'skip$
+ if$
+ opublisher empty$
+ { oaddress empty$
+ { oyear * "\osep {} \reprintname {}, " * }
+ { oaddress "\bibbdsep {} " * oyear "\osep {} " * * * }
+ if$
+ }
+ { oaddress empty$
+ { opublisher * "\bibbdsep {} " * oyear "\osep {} " * * }
+ { oaddress "\bpubaddr {} " * opublisher "\bibbdsep {} " * * oyear "\osep {} " * * * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 'skip$
+ if$
+}
+
+FUNCTION {make.translators}
+{ before.all 'output.state :=
+ translator empty$
+ { flanguage empty$
+ { "" }
+ { "\translator {}{" flanguage "l" change.case$ * "}" *
+ type$ "incollection" = not
+ type$ "article" = not
+ and
+ { "{1} " * }
+ { type$ "incollection" =
+ { booktitle empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { type$ "article" =
+ { "{1}" * }
+ { series empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "\translator {" translator * "}" *
+ flanguage empty$
+ { "{}" * }
+ { "{" * flanguage "l" change.case$ * "}" * }
+ if$
+ type$ "incollection" = not
+ type$ "article" = not
+ and
+ { "{1} " * }
+ {
+ type$ "incollection" =
+ { booktitle empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { type$ "article" =
+ { "{1} " * }
+ { series empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ before.all 'output.state :=
+}
+
+FUNCTION {format.address.publisher.year}
+{ publisher empty$
+ { address empty$
+ { institution empty$
+ { "" }
+ { " \apyformat {" oaddress.opublisher.oyear.format * institution "}" * }
+ if$
+ }
+ { institution empty$
+ { " \apyformat {" oaddress.opublisher.oyear.format * address "}" * }
+ { " \apyformat {" oaddress.opublisher.oyear.format * address "\bpubaddr {} " * institution "}" * * }
+ if$
+ }
+ if$
+ }
+ { address empty$
+ { institution empty$
+ { "There's only a publisher (no address) in " cite$ * warning$
+ " \apyformat {" oaddress.opublisher.oyear.format * publisher "}" * }
+ { " \apyformat {" oaddress.opublisher.oyear.format * publisher ", " * institution "}" * * }
+ if$
+ }
+ { institution empty$
+ { " \apyformat {" oaddress.opublisher.oyear.format * address "\bpubaddr {} " * publisher "}" * * }
+ { " \apyformat {" oaddress.opublisher.oyear.format * address "\bpubaddr {} " * publisher ", " * institution "}" * * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.howpublished.address.year}
+{ howpublished empty$
+ { address empty$
+ { "No address in " cite$ warning$ }
+ { " \apyformat {" oaddress.opublisher.oyear.format address * "}" * }
+ if$
+ }
+ { address empty$
+ { "There's only a howpublished (no address) in " cite$ * warning$ " \apyformat {" oaddress.opublisher.oyear.format howpublished * "}" * }
+ { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished "}" * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #4 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {bibvol.tie.or.space.connect}
+{ duplicate$ text.length$ #4 <
+ { "~" }
+ { "{} " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {format.btitle}{ title emphasize format.titleaddon * }
+
+FUNCTION {format.btitle.vol}
+{ number empty$
+ { series empty$
+ { volume empty$
+ { title emphasize format.titleaddon * }
+ {
+ title emphasize format.titleaddon * " \volumeformat {" volume * "} " * *
+ }
+ if$
+ }
+ { volume empty$
+ { title emphasize format.titleaddon * }
+ {
+ title emphasize format.titleaddon * "\volumeformat {" volume * "} " * * series "\bibatsep\ " * *
+ }
+ if$
+ }
+ if$
+ }
+ { title emphasize format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.btitle.vol.inbook}
+{ number empty$
+ { series empty$
+ { volume empty$
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon *
+ " \volumeformat {" volume * "} " * *
+ }
+ if$
+ }
+ { volume empty$
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ { series emphasize
+ "\volumeformat {" volume * "} " * *
+ "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * * }
+ if$
+ }
+ if$
+ }
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { author empty$ title empty$ and
+ 'skip$
+ { " " * }
+ if$
+ urldate empty$
+ {"\jburluse {" cite$ * "}" * }
+ {"\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.naked.url}
+{ url empty$
+ { "" }
+ { urldate empty$
+ { title empty$
+ 'skip$
+ { title emphasize * }
+ if$
+ "\jburluse {" cite$ * "}" *
+ }
+ { title empty$
+ 'skip$
+ { title emphasize * }
+ if$
+ "\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.series.number}
+{ volume empty$
+ { number empty$
+ { series empty$
+ { "" }
+ { " \numberandseries {}{" series * "}" * }
+ if$
+ }
+ { series empty$
+ { " \numberandseries {" number * "}{}" * "There's a number but no series in " cite$ * warning$ }
+ { " \numberandseries {" number * "}{" * series "}" * * }
+ if$
+ }
+ if$
+ }
+ { series empty$
+ { "" }
+ { type$ "proceedings" =
+ { " \numberandseries {}{" series * "}" * } % { " (" series * ")" * }
+ { "" }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {first.ed} { "\firstedname" }
+FUNCTION {second.ed}{ "\secondedname" }
+FUNCTION {third.ed} { "\thirdedname" }
+FUNCTION {fourth.ed}{ "\fourthedname" }
+FUNCTION {fifth.ed} { "\fifthedname" }
+FUNCTION {th.ed} { "\thedname" }
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { first.ed 't := }
+ { s "second" = s "2" = or
+ { second.ed 't := }
+ { s "third" = s "3" = or
+ { third.ed 't := }
+ { s "fourth" = s "4" = or
+ { fourth.ed 't := }
+ { s "fifth" = s "5" = or
+ { fifth.ed 't := }
+ { s #1 #1 substring$ is.num
+ { s th.ed * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { "\jbedition {" * convert.edition "~\editionname {}\jbaensep} " * }% dot or not ???????
+ if$
+}
+
+FUNCTION { format.isbn.issn }
+{ isbn empty$
+ { issn empty$
+ { "" }
+ { "\jbissn {" issn n.dashify * "}" * }
+ if$
+ }
+ { "\jbisbn {" isbn n.dashify * "}" * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { " \jbPages{" pages n.dashify * "}" * }
+ if$
+}
+
+FUNCTION {multi.pagerange.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "b" =
+ swap$ "/" = or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {check.missing.pages}
+{ pages empty$
+ { "Empty pages in " cite$ * warning$ }
+ { pages multi.pagerange.check
+ { "" * }
+ { type$ "article" = type$ "periodical" = or
+ { "There's only a starting page, no pagerange in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.book}
+{ pages empty$
+ { "" }
+ { " \jbpages {" pages " \bibtotalpagesname}" *}
+ if$
+}
+
+FUNCTION {format.totalpages}
+{ totalpages empty$
+ { "" }
+ {
+ ", " totalpages "~\bibtotalpagesname" * *
+ }
+ if$
+}
+
+FUNCTION {format.vol.year.num.pages}
+{ volume empty$
+ { "" }
+ { " \artvolumeformat {" volume * "}" *
+ year empty$
+ { "There's a volume but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ number empty$
+ 'skip$
+ { "\artnumberformat {" number * "}" * * }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { "" format.pages * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.bracedyear.num.pages}
+{ volume empty$
+ { "" }
+ { " \pervolumeformat {" volume * "}" *
+ year empty$
+ { "There's a volume but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ number empty$
+ 'skip$
+ { volume empty$
+ { "" * }
+ { ", " * }
+ if$
+ "\pernumberformat {" number * "}" * *
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { "" format.pages * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\unskip.\,-- \bibchapterlongname" }
+ { "\unskip.\,-- " type * }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitleaddon}
+{ booktitle empty$
+ { "" }
+ { booktitleaddon empty$
+ { "" }
+ { booktitleaddon }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.incoll.editor.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { volume empty$
+ { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{" * volume * "}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ { volume empty$
+ { "\incolledformat {"
+ editor empty$
+ { "" }
+ { editor format.editor.names "}" * *
+ editortype empty$
+ { editor num.names$ #1 >
+ { "{\edfont {\editorsname}}{" * }
+ { "{\edfont {\editorname}}{" * }
+ if$
+ }
+ { "{\edfont {(" * editortype * ")}}{" * }
+ if$
+ }
+ if$
+ booktitle incollbooktitlemarkup * format.booktitleaddon * "}{}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { "\incolledformat {" *
+ editor empty$
+ { "" }
+ { editor format.editor.names "}" * *
+ editortype empty$
+ { editor num.names$ #1 >
+ { "{\edfont {\editorsname}}{" * }
+ { "{\edfont {\editorname}}{" * }
+ if$
+ }
+ { "{\edfont {(" * editortype * ")}}{" * }
+ if$
+ }
+ if$
+ booktitle incollbooktitlemarkup * format.booktitleaddon * "}{" volume * "}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number.jur}
+{ type empty$
+ { number empty$
+ { " -- \technicalreportname {} " }
+ { "~(" number * ").\,-- \technicalreportname {} " * }
+ if$
+ }
+ { number empty$
+ { " -- " type * }
+ { "~(" number * ").\,-- " type * " " * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref.bracedyear}
+{ key empty$
+ { journal empty$
+ { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" }
+ { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * }
+ if$
+ volume empty$
+ { "No volume in " cite$ * warning$ }
+ { " \pervolumeformat {" volume * "} " * }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { format.pages * }
+ if$
+ }
+ if$
+ }
+ { "" key * }
+ if$
+ "\ \protect\jbcrossrefchecked {" * crossref * "}\unskip" *
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" }
+ { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * }
+ if$
+ }
+ { "" key * }
+ if$
+ year empty$
+ 'skip$
+ { year * }
+ if$
+ " \protect\jbcrossrefchecked {" crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "Need editor, key, or series for " cite$ * " to crossref " * crossref * warning$ "" * }
+ { "" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { "" * }
+ if$
+ volume empty$
+ { "Empty volume in " cite$ * "'s crossref of " * crossref * warning$ ""
+ " \protect\jbcrossrefchecked {" * crossref * "}\unskip" * }
+ { " \protect\jbcrossrefchecked[" * volume * "]{" * crossref "}\unskip" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ " \protect\jbincollcrossref {" * crossref * "}" *
+ editor empty$
+ { "{}" * }
+ { "{1}" * }
+ if$
+ format.pages % *<== 0.5f removed too.
+}
+
+FUNCTION { format.editors.organization }
+{ organization empty$
+ 'skip$
+ { type$ "misc" =
+ { organization }
+ { author empty$
+ { editor empty$
+ { " " organization * " \organizationname {}" * }
+ { "; " organization * " \organizationname {}" * }
+ if$
+ }
+ { "; " organization * " \organizationname {}" * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.address.organization.manual}
+{ author empty$
+ { organization empty$
+ { address empty$
+ 'skip$
+ { address output part.of.sentence
+ year empty$ not { "\bibbdsep {}" *} 'skip$ if$
+ }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ { address empty$
+ { organization empty$
+ 'skip$
+ { organization output part.of.sentence
+ year empty$ not { "\bibbdsep {}" *} 'skip$ if$
+ }
+ if$
+ }
+ { organization empty$
+ { address output part.of.sentence }
+ { address "\bpubaddr {} " * organization * output part.of.sentence }
+ if$
+ year empty$ not { "\bibbdsep {}" *} 'skip$ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ crossref missing$
+ { journal article.in.journal output.nonnull
+ new.sentence
+ format.vol.year.num.pages output
+ }
+ { format.article.crossref output.nonnull }
+ if$
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited.artperiod output
+ check.missing.pages
+ fin.entry.endnote
+}
+
+FUNCTION {commented}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { format.founders }
+ { format.founders format.editors "editor" output.check }
+ if$
+ }
+ { editor empty$
+ { format.authors format.founders output.nonnull }
+ { format.authors format.founders format.editors output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle.vol "title" output.check }
+ { format.btitle "title" output.check }
+ if$
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ format.update
+ new.sentence
+ crossref missing$
+ { format.series.number output }
+ { format.book.crossref output.nonnull }
+ if$
+ format.url output
+ format.pages output
+ format.note
+ format.howcited.comment output
+ fin.entry.endnote
+}
+
+FUNCTION {periodical}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ crossref missing$
+ { journal article.in.journal output.nonnull
+ new.sentence
+ format.vol.bracedyear.num.pages output
+ }
+ { new.sentence format.article.crossref.bracedyear output.nonnull }
+ if$
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited.artperiod output
+ fin.entry.endnote
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { "" "author and editor" output.check }
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { format.authors "\jbtiafed {" format.editors * "}" * output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle.vol "title" output.check }
+ { format.btitle "title" output.check }
+ if$
+ author empty$ not editor empty$ not and
+ { "\jbedafti {\edbyname {} " editor * "," * * "} " * }
+ 'skip$
+ if$
+ make.translators output
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.juradiss.book output
+ crossref missing$
+ { format.series.number output }
+ { format.book.crossref output.nonnull }
+ if$
+ format.url output
+ format.pages output
+ format.totalpages output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { editor empty$
+ { format.authors output.nonnull }
+ { format.authors format.editors output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { chapter empty$
+ { "There's no chapter in " cite$ * warning$ "" * }
+ { type empty$
+ { "\Bibchaptername{}" }
+ { type }
+ if$
+ chapter tie.or.space.connect " In " * *
+ }
+ if$
+ format.btitle.vol.inbook "title" output.check
+ make.translators output
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.series.number output
+ format.url output
+ format.pages "pages" output.check
+ format.note
+ format.isbn.issn output
+ }
+ { chapter empty$
+ { "There's no chapter in " cite$ * warning$ "" *
+ format.btitle.vol.inbook "title" output.check
+ }
+ { type empty$
+ { "\Bibchaptername{}" }
+ { type }
+ if$
+ chapter tie.or.space.connect "" * *
+ }
+ if$
+ format.volumetitle output
+ format.book.crossref output.nonnull
+ format.url output
+ format.pages "pages" output.check
+ format.note
+ }
+ if$
+ part.of.sentence
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ make.translators output
+ crossref missing$
+ { format.incoll.editor.booktitle "booktitle" output.check
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.series.number output
+ format.url output
+ format.isbn.issn output
+ part.of.sentence
+ format.chapter.pages output
+ format.note
+ }
+ { format.volumetitle output
+ format.incoll.inproc.crossref output.nonnull
+ format.url output
+ format.note
+ }
+ if$
+ format.howcited output
+ check.missing.pages
+ fin.entry.endnote
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ crossref missing$
+ { format.incoll.editor.booktitle "booktitle" output.check
+ address empty$
+ { organization new.sentence.checka
+ organization output
+ part.of.sentence
+ format.address.publisher.year output
+ }
+ { format.address.publisher.year "publisher" output.check }
+ if$
+ new.sentence
+ series empty$
+ 'skip$
+ { format.series.number output }
+ if$
+ format.url output
+ format.note
+ format.isbn.issn output
+ part.of.sentence
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.url output
+ format.note
+ }
+ if$
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {conference}{inproceedings}
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { "\bibnf{" organization * "} {} {} {} {}" * output.nonnull }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.edition output
+ format.address.organization.manual
+ format.date output
+ pages set.period.dash.check
+ format.pages.book output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.thesis output
+ set.comma.pages.check
+ pages new.sentence.checka
+ format.pages output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.thesis output
+ set.comma.pages.check
+ pages new.sentence.checka
+ format.pages output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {jurthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.thesis output
+ set.comma.pages.check
+ pages new.sentence.checka
+ format.pages output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title "title" output.check
+ format.howpublished.address.year output
+ format.note
+ format.url output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title output
+ format.howpublished.address.year output
+ format.note
+ format.url output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization empty$
+ 'skip$
+ { "\biblnfont {" organization * " \organizationname}" * output }
+ if$
+ }
+ { format.editors output.nonnull }
+ if$
+ set.after.author.sep output
+ format.btitle "title" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { format.proceed.organization output }
+ if$
+ new.sentence
+ format.series.number output.nonnull
+ volume empty$
+ { "" output.nonnull }
+ { "\volumeformat {" volume * "} " * "volume" output.check }
+ if$
+ format.address.publisher.year "publisher" output.check
+ pages set.period.dash.check
+ format.pages.book output
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { editor empty$
+ { format.authors output.nonnull }
+ { format.authors format.editors output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ format.title "title" output.check
+ institution new.sentence.checka
+ format.address.publisher.year output
+ number new.sentence.checka
+ format.tr.number.jur "number" output.check
+ pages set.period.dash.check
+ format.pages.book output
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {www}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.naked.url output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {lexicon}
+{ output.bibitem
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle.vol "title" output.check }
+ { format.btitle "title" output.check }
+ if$
+ author empty$
+ { editor empty$
+ 'skip$
+ { "\edbyname{} " * editor format.editor.names "," * * }
+ if$
+ }
+ { "\byname{} " author format.names * "," * * }
+ if$
+ make.translators output
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.juradiss.book output
+ crossref missing$
+ { format.series.number output }
+ { format.book.crossref output.nonnull }
+ if$
+ format.url output
+ format.pages output
+ format.totalpages output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+STRINGS { last.archive last.subarchive }
+
+FUNCTION {init.last.archive }
+{ "" 'last.archive :=
+ "" 'last.subarchive := }
+
+FUNCTION {archival}
+{ output.bibitem
+ archive empty$
+ { "" 'last.archive := }
+ { archive last.archive =
+ { "} {" archive format.name.sig * "} {} {\jbsamearch{} " * * }
+ { "\bibanfont{" archive * "archive" output.check
+ shortarchive empty$
+ 'skip$
+ { " \jbshortarchformat{" shortarchive * "}" * * }
+ if$
+ "}" *
+ "} {" archive format.name.sig * "} {} {\jbnotsamearch{} " * *
+ }
+ if$
+ archive 'last.archive :=
+ }
+ if$
+ subarchive empty$
+ { "" 'last.subarchive := }
+ { subarchive last.subarchive =
+ 'skip$
+ { subarchive output
+ shortsubarchive empty$
+ 'skip$
+ { " \jbshortsubarchformat{" shortsubarchive * "}" * * }
+ if$
+ "\jbsubarchsep{} " *
+ }
+ if$
+ subarchive 'last.subarchive :=
+ }
+ if$
+ sig1 empty$
+ 'skip$
+ { "\jbarchsig {" *
+ subarchive empty$
+ 'skip$
+ { "\jbsamesubarchindent{} " * }
+ if$
+ sig1 *
+ sig2 empty$
+ 'skip$
+ { ". " sig2 * *
+ sig3 empty$
+ 'skip$
+ { ". " sig3 * *
+ sig4 empty$
+ 'skip$
+ { ". " sig4 * * }
+ if$
+ }
+ if$
+ }
+ if$
+ "} {" *
+ }
+ if$
+ archname missing$
+ { "}" * }
+ { archname "}" * output }
+ if$
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {unpublished}{misc}
+
+FUNCTION {default.type}{misc}
+
+MACRO {jan} {"\janname\ "}
+MACRO {feb} {"\febname\ "}
+MACRO {mar} {"\marname\ "}
+MACRO {apr} {"\aprname\ "}
+MACRO {may} {"\mayname\ "}
+MACRO {jun} {"\junname\ "}
+MACRO {jul} {"\julname\ "}
+MACRO {aug} {"\augname\ "}
+MACRO {sep} {"\sepname\ "}
+MACRO {oct} {"\octname\ "}
+MACRO {nov} {"\novname\ "}
+MACRO {dec} {"\decname\ "}
+
+READ
+
+FUNCTION {sortify}{ purify$ "l" change.case$ }
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's := % for two: (Jones/de~Bruijn)
+ s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
+ s num.names$ duplicate$ % for more: (Jones et\,al.)
+ #2 <
+ 'pop$ % for just one person
+ { duplicate$ duplicate$
+ #3 >
+ swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ or
+ { pop$ "\Bibetal" * } % for 4 or more, or last is `others'
+ { #2 =
+ { "\jbbtasep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
+ { "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ * % for three
+ "\jbbstasep " * s #3 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ year missing$
+ 'skip$
+ { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
+ if$
+}
+
+FUNCTION {format.editor.lab.names}
+{ 's := % for two: (Jones/de~Bruijn)
+ s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
+ s num.names$ duplicate$ % for more: (Jones et\,al.)
+ #2 <
+ 'pop$ % for just one person
+ { duplicate$ duplicate$
+ #3 >
+ swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ or
+ { pop$ "\Bibetal" * } % for 4 or more, or last is `others'
+ { #2 =
+ { "\jbbtesep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
+ { "\jbbfsesep " * s #2 "{vv~}{ll}" format.name$ * % for three
+ "\jbbstesep " * s #3 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ year missing$
+ 'skip$
+ { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.editor.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.editor.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or type$ "lexicon" = or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'label :=
+}
+
+FUNCTION {calc.dummy.label}
+{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'dummy.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "\bibnf {others} {} {} {} {}" = and
+ { "\Bibetal" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "Der " #4
+ "Die " #4
+ "Das " #4
+ "Ein " #4
+ "Eine " #5
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ {
+%% "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ {
+%% "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {archival.sort}
+{ archive empty$
+ { shortarchive empty$
+ { "to sort, need archive or shortarchive in " cite$ * warning$ "" }
+ { shortarchive sortify }
+ if$
+ }
+ { archive sortify }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ calc.dummy.label
+ dummy.label sortify " " *
+ sortkey empty$
+ { type$ "book" =
+ type$ "incollection" = or
+ type$ "inbook" = or
+ type$ "commented" = or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ { type$ "archival" =
+ 'archival.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { sortkey sort.format.names }
+ if$
+ type$ "archival" = not
+ { " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ { " "
+ *
+ subarchive field.or.null sortify
+ *
+ " "
+ *
+ sig1 field.or.null sortify
+ *
+ " "
+ *
+ sig2 field.or.null sortify
+ *
+ " "
+ *
+ sig3 field.or.null sortify
+ *
+ " "
+ *
+ sig4 field.or.null sortify
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+%% FUNCTION {before.sort} { "BEFORE SORT:" top$ }
+%% EXECUTE {before.sort}
+%% FUNCTION {print.sort.keys} {sort.key$ top$}
+%% ITERATE {print.sort.keys}
+
+SORT
+
+%% FUNCTION {after.sort} {"AFTER SORT:" top$}
+%% EXECUTE {after.sort}
+%% ITERATE {print.sort.keys}
+
+
+INTEGERS { last.extra.num number.label extra.extra.num }
+
+FUNCTION {make.extra.label}
+{ last.extra.num #122 <
+ { last.extra.num #1 + }
+ { extra.extra.num #0 =
+ { "a" chr.to.int$ }
+ { extra.extra.num #1 + }
+ if$
+ 'extra.extra.num :=
+ "a" chr.to.int$ }
+ if$
+ 'last.extra.num :=
+ extra.extra.num #0 =
+ { last.extra.num int.to.chr$ }
+ { extra.extra.num int.to.chr$ 'extra.label :=
+ extra.label last.extra.num int.to.chr$ * }
+ if$
+}
+
+FUNCTION {forward.pass}
+{ w dummy.label =
+ { make.extra.label 'extra.label := }
+ { "a" chr.to.int$ 'last.extra.num :=
+ #0 'extra.extra.num :=
+ "" 'extra.label :=
+ dummy.label 'w :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ x "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'x :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * }
+ if$
+ 'extra.label :=
+ dummy.label extra.label * 'dummy.label :=
+}
+
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order} { sort.label 'sort.key$ := }
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {set.current.authors}
+{ author empty$
+ { editor empty$
+ { organization empty$
+ { cite$ 'current-authors := }
+ { organization 'current-authors := }
+ if$
+ }
+ { editor format.names #1 entry.max$ substring$ 'current-authors := }
+%% ^^^^^^^^^^^^ NOT format.editor.names, otherwise \jb@@arg is always = 0!!!
+ if$
+ }
+ { author format.names #1 entry.max$ substring$ 'current-authors := }
+ if$
+}
+
+STRINGS { previous-authors }
+
+FUNCTION {initialize.previous.authors} { "" 'previous-authors := }
+
+FUNCTION {mark.repeat.authors}
+{ current-authors previous-authors =
+ { #1 'repeat-authors := }
+ 'skip$
+ if$
+ current-authors 'previous-authors :=
+}
+
+ITERATE {set.current.authors}
+
+EXECUTE {initialize.previous.authors}
+
+ITERATE {mark.repeat.authors}
+
+EXECUTE {initialize.previous.authors}
+
+REVERSE {mark.repeat.authors}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "%" write$ newline$
+ "% This bibliography was produced by using jureco.bst" write$ newline$
+ "%" write$ newline$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `jureco.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/jurabib/jurunsrt.bst b/Master/texmf-dist/bibtex/bst/jurabib/jurunsrt.bst
new file mode 100644
index 00000000000..071e1102b00
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/jurabib/jurunsrt.bst
@@ -0,0 +1,2835 @@
+%%
+%% This is file `jurunsrt.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% jurabib.dtx (with options: `jurunsrt')
+%% ----------------------------------------
+%% BibTeX style for use with the jurabib package version v0.6
+%% Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org)
+%% See jurabib.ins for the copyright details.
+%%
+ENTRY{
+ address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+%%
+ url
+ urldate
+ volumetitle
+ dissyear
+ howcited
+ juratitle
+ juraauthor
+ shorttitle
+ shortauthor
+ ssedition
+ titleaddon
+ booktitleaddon
+ editortype
+ sortkey
+ annote
+ gender
+ translator
+ flanguage
+ oyear
+ oaddress
+ opublisher
+ updated
+ totalpages
+ founder
+ archive
+ subarchive
+ shortarchive
+ shortsubarchive
+ sig1
+ sig2
+ sig3
+ sig4
+ archname
+ }
+ { repeat-authors repeat-titles }
+ { label dummy.label extra.label sort.label current-authors }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { colon.after period.dash }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'colon.after :=
+ #5 'period.dash :=
+}
+
+STRINGS { s t u v w x }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state after.block =
+ { write$ }
+ { output.state before.all =
+ { write$ }
+ { output.state colon.after =
+ { "" * write$ }
+ { output.state period.dash =
+ { ", " * write$ }
+ { output.state mid.sentence =
+ { " " * write$ }
+ { write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ after.block 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition.superscript}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or s "erste" = or
+ { "1" 't := }
+ { s "second" = s "2" = or s "zweite" = or
+ { "2" 't := }
+ { s "third" = s "3" = or s "dritte" = or
+ { "3" 't := }
+ { s "fourth" = s "4" = or s "vierte" = or
+ { "4" 't := }
+ { s "fifth" = s "5" = or s "fuenfte" = or
+ { "5" 't := }
+ { s "sixth" = s "6" = or s "sechste" = or
+ { "6" 't := }
+ { s "seventh" = s "7" = or s "siebte" = or s "siebente" = or
+ { "7" 't := }
+ { s "eighth" = s "8" = or s "achte" = or
+ { "8" 't := }
+ { s "nineth" = s "9" = or s "neunte" = or
+ { "9" 't := }
+ { s #1 #1 substring$ is.num
+ { s "" * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" * t #2 global.max$ substring$ 't := }
+ { { t #1 #1 substring$ "-" = }
+ { "-" * t #2 global.max$ substring$ 't := }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ * t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+}
+
+FUNCTION {output.bibitem.fst}
+{ newline$
+ "\bibitem[{" write$
+ shortauthor empty$
+ { juraauthor empty$
+ { author empty$
+ { editor empty$
+ { organization empty$
+ { archive empty$
+ { "empty" write$ }
+ { archive write$ }
+ if$
+ }
+ { organization write$ }
+ if$
+ }
+ { label write$ }
+ if$
+ }
+ { label write$ }
+ if$
+ }
+ { juraauthor write$ }
+ if$
+ }
+ { shortauthor write$ }
+ if$
+ "}%" write$
+ sortkey empty$
+ 'skip$
+ { newline$ "% SORTKEY: [" sortkey * "]" * write$ }
+ if$
+ newline$
+ shorttitle empty$
+ { juratitle empty$
+ { journal empty$
+ { " {}%" write$ }
+ { volume empty$
+ { year empty$
+ { " {" journal * "}%" * write$ }
+ { " {" journal * "\jbsy {" * year * "}}%" * write$ }
+ if$
+ }
+ { year empty$
+ { " {" journal * "}%" * write$ }
+ { " {" journal * " " * volume * " " * " \peryearformat {" year * "}}%" * * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { " {" juratitle * "}%" * write$ }
+ if$
+ }
+ { " {" shorttitle * "}%" * write$ }
+ if$
+ newline$
+ repeat-authors
+ { " {{1}" write$ }
+ { " {{0}" write$ }
+ if$
+ howcited empty$
+ { "{}" write$ }
+ { "{" howcited * "}" * write$ }
+ if$
+ type$ empty$
+ { "{}" write$ }
+ { "{" type$ * "}" * write$ }
+ if$
+ year empty$
+ { type$ "book" = dissyear empty$ not and
+ { "{" dissyear * write$
+ extra.label "" =
+ skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ "}" write$
+ }
+ { "{}" write$ }
+ if$
+ }
+ { "{" year * write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ "}" write$
+ }
+ if$
+ edition empty$
+ { "{}" write$ }
+ { "{" convert.edition.superscript extract.num * "}" * write$ }
+ if$
+ ssedition empty$
+ { "{}" write$ }
+ { "{" ssedition * "}" * write$ }
+ if$
+ language empty$
+ { "{}" write$ }
+ { "{" language * "}" * write$ }
+ if$
+ pages empty$
+ { "{}%" write$ }
+ { "{" write$ pages n.dashify write$ "}%" write$ }
+ if$
+}
+
+FUNCTION {output.bibitem.snd}
+{ newline$
+ publisher empty$
+ { address empty$
+ { year empty$
+ { " {" write$ }
+ { " {" write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { " {" write$ address write$ }
+ { " {" write$ address write$ "\bibbdsep {} " write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { address empty$
+ { year empty$
+ { " {" write$ publisher write$ }
+ { " {" write$ publisher write$ "\bibbdsep {} " write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ }
+ { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ "\bibbdsep {} " write$
+ year write$
+ extra.label "" =
+ 'skip$
+ { "\el {" write$ extra.label write$ "}" write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ "}}%" write$ newline$
+ " {" write$
+ title empty$
+ { "{}%" write$ newline$ }
+ { "{" title *
+ type$ "archival" =
+ { shortarchive empty$ not
+ { ", In: " shortarchive * * }
+ { archive empty$ not
+ { ", In: " archive * * }
+ 'skip$
+ if$
+ }
+ if$
+ shortsubarchive empty$
+ 'skip$
+ { ", " shortsubarchive * * }
+ if$
+ sig1 empty$
+ 'skip$
+ { ", " sig1 * *
+ sig2 empty$
+ 'skip$
+ { ". " sig2 * *
+ sig3 empty$
+ 'skip$
+ { ". " sig3 * *
+ sig4 empty$
+ 'skip$
+ { ". " sig4 * * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { " \jbArchPages {" pages n.dashify * "}" * * }
+ if$
+ }
+ 'skip$
+ if$
+ "}%" * write$ newline$ }
+ if$
+ gender empty$
+ { " {}" write$ }
+ { " {" gender * "}" * write$ }
+ if$
+ oyear empty$
+ { "{}" write$ }
+ { "{" oyear * "}" * write$ }
+ if$
+ author empty$
+ { editor empty$
+ { "{4}" write$ }% author and editor empty
+ { "{3}" write$ }% author empty, editor not
+ if$
+ }
+ { editor empty$
+ { "{2}" write$ }% editor empty, author not
+ { "{1}" write$ }% both author and editor given
+ if$
+ }
+ if$
+ "{}{}{}{}{}}%" write$ newline$
+ " ]{" write$
+ cite$ write$
+ "}" write$
+ url empty$
+ 'skip$
+ { newline$ " \jburldef {" write$ cite$ write$ "}{" write$ url write$ "}%" write$ }
+ if$
+ newline$
+ " \jbbibargs {" write$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.bibitem}
+{ output.bibitem.fst
+ output.bibitem.snd
+}
+
+FUNCTION {format.note}
+{ note empty$
+ 'skip$
+ { output.state before.all =
+ {" \jbnote {} {" * note * "} " * }
+ {" \jbnote {1} {" * note * "} " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.endnote}
+{ note empty$
+ { "" }
+ { " \jbendnote {" note * "}" * }
+ if$
+}
+
+
+FUNCTION {format.juradiss.book}
+{ dissyear empty$
+ { "" }
+ { type empty$
+ { school empty$
+ { "Dissyear but no school in " cite$ * warning$
+ " (\alsothesisname {} \jurthesisname" *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * }
+ 'skip$
+ if$
+ ")" *
+ }
+ { " (\alsothesisname {} \jurthesisname, " school *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * * }
+ 'skip$
+ if$
+ ")" *
+ }
+ if$
+ }
+ { school empty$
+ { "Dissyear but no school in " cite$ * warning$
+ " (\alsothesisname {} " type *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * }
+ 'skip$
+ if$
+ ")" *
+ }
+ { " (\alsothesisname {} " type *
+ ", " school * *
+ year empty$ not year missing$ not and
+ { "\bibbdsep {} " dissyear * * }
+ 'skip$
+ if$
+ ")" *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis}
+{ year empty$
+ { school empty$
+ { "No universtiy in " cite$ * warning$ }
+ { "There's a university, but no year in " cite$ * warning$ }
+ if$
+ ""
+ }
+ { type empty$
+ { school empty$
+ { "No university in " cite$ * warning$
+ type$ "mastersthesis" =
+ { "\apyformat {\mastersthesisname" * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * "}" * }
+ { type$ "jurthesis" =
+ { "\apyformat {\jurthesisname" * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * "}" * }
+ { "\apyformat {\phdthesisname" * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * "}" * }
+ if$
+ }
+ if$
+ }
+ { type$ "mastersthesis" =
+ { "\mastersthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * }
+ { type$ "jurthesis" =
+ { "\jurthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * }
+ { "\phdthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { school empty$
+ { "No university in " cite$ * warning$ type
+ address empty$ 'skip$ { " \apyformat {" address * } if$ "\bibbdsep {} " * * year * "}" * }
+ { type " \apyformat {" * school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {set.comma.pages.check}
+{ year empty$
+ 'skip$
+ { pages empty$
+ { url empty$
+ 'skip$
+ { ", " * }
+ if$
+ }
+ { ", " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {set.period.dash}
+{ output.state before.all =
+ 'skip$
+ { period.dash 'output.state := }
+ if$
+}
+
+FUNCTION {set.period.dash.check}
+{ empty$
+ 'skip$
+ 'set.period.dash
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {part.of.sentence}
+{ output.state before.all =
+ 'skip$
+ { mid.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+
+FUNCTION {get.final.nonrightbrace.char}
+{ { duplicate$
+ #-1 #1 substring$
+ duplicate$
+ "}" =
+ }
+ { pop$
+ #-2 global.max$ substring$
+ }
+ while$
+ swap$ pop$
+}
+
+
+FUNCTION {check.punct.instead.of.add.period}
+{ duplicate$
+ get.final.nonrightbrace.char
+ duplicate$ "." = swap$
+ duplicate$ "!" = swap$
+ "?" = or or
+ { "} " * }
+ { "}\bibatsep\ " * }
+ if$
+}
+
+FUNCTION {check.punct.instead.of.add.period.art}
+{ duplicate$
+ get.final.nonrightbrace.char
+ duplicate$ "." = swap$
+ duplicate$ "!" = swap$
+ "?" = or or
+ { "} " * }
+ { pages empty$ note empty$ url empty$ and and
+ { "} " * }
+ { volume empty$
+ { pages empty$
+ { "}\ajtsep\ " * }
+ { crossref missing$
+ { month empty$
+ { "}\ajtsep\ " * }
+ { "}\ajtsep " * }
+ if$
+ }
+ { "}\ajtsep " * }
+ if$
+ }
+ if$
+ }
+ { "}\ajtsep\ " * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibtfont {" swap$ check.punct.instead.of.add.period * }
+ if$
+}
+
+FUNCTION {journaltitlemarkup}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibJTsep \bibjtfont {" swap$ check.punct.instead.of.add.period.art * }
+ if$
+}
+
+FUNCTION {incollbooktitlemarkup}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibbtfont {" swap$ check.punct.instead.of.add.period * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION { lastnamemarkup }
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibnf {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION { editorlastnamemarkup }
+ { duplicate$ empty$
+ { pop$ "" }
+ { author empty$
+ { "\biblenf {" swap$ * "}" * } % lonely editor(s)!
+ { "\bibenf {" swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION { othermarkup }
+ { duplicate$ empty$
+ { pop$ " {}" }
+ { " {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {article.in.journal}
+{ duplicate$ empty$
+ { pop$ "" }
+ { author missing$
+ { title missing$
+ 'skip$
+ { journaltitlemarkup "" swap$ * }
+ if$
+ }
+ { journaltitlemarkup "" swap$ * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.names} % NEW v0.5
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t lastnamemarkup 't :=
+ s nameptr "{ff}" format.name$ othermarkup 'u :=
+ s nameptr "{f.}" format.name$ othermarkup 'v :=
+ s nameptr "{vv}" format.name$ othermarkup 'w :=
+ s nameptr "{jj}" format.name$ othermarkup 'x :=
+ t u * v * w * x * 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { numnames #3 >
+ { "" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * } % between (exactly) two authors
+ { "\Bibbfsasep " * t * } % between first and second author (if more than two)
+ if$
+ }
+ if$
+ }
+ { t "\bibnf {others} {} {} {} {}" =
+ t "\bibnf {others} {} {} {} {} \edfont {\editorsname}" = or
+ numnames #3 > or
+ { "\bibIMfont {\Bibetal}" * }
+ { numnames #3 <
+ { "\Bibbtasep " * t * } % between (exactly) two authors
+ { "\Bibbstasep " * t * } % between second and third author
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.editor.names} % NEW v0.5
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t editorlastnamemarkup 't :=
+ s nameptr "{ff}" format.name$ othermarkup 'u :=
+ s nameptr "{f.}" format.name$ othermarkup 'v :=
+ s nameptr "{vv}" format.name$ othermarkup 'w :=
+ s nameptr "{jj}" format.name$ othermarkup 'x :=
+ t u * v * w * x * 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { numnames #3 >
+ { "" * }
+ { numnames #3 <
+ { "\Bibbtesep " * t * } % between (exactly) two editors
+ { "\Bibbfsesep " * t * } % between first and second editor (if more than two)
+ if$
+ }
+ if$
+ }
+ { t "\bibenf {others} {} {} {} {}" =
+ t "\biblenf {others} {} {} {} {}" = or
+ t "\bibenf {others} {} {} {} {} \edfont {\editorsname}" = or
+ t "\biblenf {others} {} {} {} {} \edfont {\editorsname}" = or
+ numnames #3 > or
+ { "\bibIMfont {\Bibetal}" * }
+ { numnames #3 <
+ { "\Bibbtesep " * t * } % between (exactly) two editors
+ { "\Bibbstesep " * t * } % between second and third editor
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.name.sig}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff}{ vv}{ ll}{ jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { "" * t * }
+ { t "others" =
+ { " et al." * }
+ { "" * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {indexmarkup}
+{ duplicate$ empty$
+ { pop$ "{}" }
+ { "{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {format.names.for.index}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ll}" format.name$ 't := t indexmarkup 't :=
+ s nameptr "{ff}" format.name$ indexmarkup 'u :=
+ s nameptr "{f.}" format.name$ indexmarkup 'v :=
+ s nameptr "{vv}" format.name$ indexmarkup 'w :=
+ s nameptr "{jj}" format.name$ indexmarkup 'x :=
+ t u * v * w * x * 't :=
+ t "{others}{}{}{}{}" =
+ 'skip$
+ { nameptr #1 >
+ { namesleft #1 >
+ { "; " * t * }
+ {
+ t "others" =
+ 'skip$
+ { "; " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.founders}
+{ founder empty$
+ 'skip$
+ { author empty$
+ 'skip$
+ { " in: " * }
+ if$
+ founder format.names "\foundername" * *
+ editor empty$
+ 'skip$
+ { author empty$
+ { "\afterfoundersep {}" * }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { author empty$
+ { editor format.editor.names
+ editortype empty$
+ { editor num.names$ #1 >
+ { "\fsted {\editorsname}" * }
+ { "\fsted {\editorname}" * }
+ if$
+ }
+ { "\fsted {(" editortype * ")}" * * }
+ if$
+ }
+ { founder empty$
+ { "\bibfnfont {;} " * }
+ { type$ "commented" =
+ { "\afterfoundersep {}" * }
+ { "\bibfnfont {;} " * }
+ if$
+ }
+ if$
+ editor format.editor.names *
+ editortype empty$
+ { editor num.names$ #1 >
+ { " \edfont {\editorsname}" * }
+ { " \edfont {\editorname}" * }
+ if$
+ }
+ { " \edfont {(" editortype * ")}" * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.snd.editors}
+{ editor empty$
+ { "" * }
+ { author empty$
+ { editortype empty$
+ { editor num.names$ #1 >
+ { "\snded {\sndeditorsname}" * }
+ { "\snded {\sndeditorname}" * }
+ if$
+ }
+ { "\snded {(" editortype * ")}" * * }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION { format.howcited }
+{ "} {\bibhowcited}" format.endnote * }
+
+FUNCTION {fin.entry.endnote}
+{ " \jbdoitem {" *
+ author empty$
+ 'skip$
+ { author format.names.for.index * }
+ if$
+ "} {"
+ editor empty$
+ 'skip$
+ { editor format.names.for.index * }
+ if$
+ "} {" *
+ organization empty$
+ 'skip$
+ { "{" organization * "}{}{}{}{}" * * }
+ if$
+ "}" * * write$
+ annote missing$
+ { " \bibAnnoteFile {" cite$ * "}" * write$ newline$ }
+ { " \bibAnnote {" annote * "}" * write$ newline$ }
+ if$
+}
+
+FUNCTION {count.authors.or.editors}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { "" 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { "" * }
+ { "s" * } % more than one author/editor, append `s'
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION { set.after.author.sep }
+{ author missing$
+ { editor missing$
+ { organization missing$
+ { archive missing$
+ { "} {empty} {} {" }
+ { "} {" archive format.name.sig * "} {} {" * }
+ if$
+ }
+ { "} {" organization "} {org} {" * * }
+ if$
+ }
+ { "} {" editor format.name.sig * "} {ed" editor count.authors.or.editors "} {" * * * }
+ if$
+ }
+ { "} {" author format.name.sig * "} {au" author count.authors.or.editors "} {" * * * }
+ if$
+ author empty$
+ { format.snd.editors }
+ 'skip$
+ if$
+ "" *
+}
+
+
+FUNCTION {format.names.info}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff }{vv }{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { " " * t * }
+ { t "others" =
+ { " et al." * }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION { format.howcited.comment }
+{ edition empty$
+ { "} {\bibcommenthowcited}" format.endnote * }
+ { "} {\bibcommenthowcited}" format.endnote * *
+ author empty$ editor empty$ not and
+ { " \jbauthorinfo {" editor format.names.info " " title * * * "}{" cite$ "}" * * * }
+ { author empty$ shortauthor empty$ not and
+ { " \jbauthorinfo {" shortauthor format.names.info " " title * * * "}{" cite$ "}" * * * }
+ { " \jbauthorinfo {" author format.names.info " " title * * * "}{" cite$ "}" * * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION { format.howcited.artperiod }
+{ "} {\bibartperiodhowcited}" format.endnote * }
+
+FUNCTION {format.proceed.organization}
+{ organization empty$
+ { "" }
+ { organization " \organizationname {}" * }
+ if$
+}
+
+FUNCTION {format.titleaddon}
+{ title empty$
+ { "" }
+ { titleaddon empty$
+ { "" }
+ { titleaddon "\bibatsep\ " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "\bibtfont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.artperiodincoll.title}
+{ title empty$
+ { "" }
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.volumetitle}
+{ volumetitle empty$
+ { "" }
+ { volume empty$
+ { "There's a volumetitle but no volume in " cite$ * warning$ volumetitle ", " * }
+ { volumetitle ", " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.extra.label}
+{ extra.label "" =
+ 'skip$
+ { "\bibel {" extra.label * "}" * * }
+ if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "There's a month but no year in " cite$ * warning$ month }
+ if$
+ }
+ { month empty$
+ { edition empty$
+ 'skip$
+ { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * }
+ if$
+ year
+ add.extra.label
+ }
+ { month " " *
+ edition empty$
+ 'skip$
+ { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * }
+ if$
+ year *
+ add.extra.label
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.update}
+{ updated missing$ not
+ { "\updatesep {} \updatename {} " * updated * }
+ 'skip$
+ if$
+}
+
+FUNCTION {oaddress.opublisher.oyear.format}
+{ type$ "book" = type$ "inbook" = type$ "incollection" = or or
+ { oyear empty$
+ { opublisher empty$
+ { oaddress empty$
+ 'skip$
+ { oaddress "\osep {} " * * }
+ if$
+ }
+ { oaddress empty$
+ { opublisher "\osep {} " * * }
+ { oaddress "\bpubaddr {} " * opublisher "\osep {} " * * * }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { "oyear without year in " cite$ * warning$ }
+ 'skip$
+ if$
+ opublisher empty$
+ { oaddress empty$
+ { oyear * "\osep {} \reprintname {}, " * }
+ { oaddress "\bibbdsep {} " * oyear "\osep {} " * * * }
+ if$
+ }
+ { oaddress empty$
+ { opublisher * "\bibbdsep {} " * oyear "\osep {} " * * }
+ { oaddress "\bpubaddr {} " * opublisher "\bibbdsep {} " * * oyear "\osep {} " * * * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 'skip$
+ if$
+}
+
+FUNCTION {make.translators}
+{ before.all 'output.state :=
+ translator empty$
+ { flanguage empty$
+ { "" }
+ { "\translator {}{" flanguage "l" change.case$ * "}" *
+ type$ "incollection" = not
+ type$ "article" = not
+ and
+ { "{1} " * }
+ { type$ "incollection" =
+ { booktitle empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { type$ "article" =
+ { "{1}" * }
+ { series empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { "\translator {" translator * "}" *
+ flanguage empty$
+ { "{}" * }
+ { "{" * flanguage "l" change.case$ * "}" * }
+ if$
+ type$ "incollection" = not
+ type$ "article" = not
+ and
+ { "{1} " * }
+ {
+ type$ "incollection" =
+ { booktitle empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { type$ "article" =
+ { "{1} " * }
+ { series empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ before.all 'output.state :=
+}
+
+
+FUNCTION {checked.inst}
+{ institution empty$
+ { " \apyformat {" *
+ oaddress.opublisher.oyear.format
+ }
+ { address empty$ not
+ { " \apyformat {" * }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.address.publisher.year}
+{ publisher empty$
+ { address empty$
+ { year empty$
+ { "Neither address nor year in " cite$ * warning$ "" }
+ { "No address in " cite$ * warning$
+ institution empty$
+ { " \apyformat {" oaddress.opublisher.oyear.format format.date * "}" * }
+ { " \apyformat {" institution * "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ if$
+ }
+ { year empty$
+ { checked.inst address "}" * }
+ { checked.inst address "\bibbdsep {} " format.date * "}" * * }
+ if$
+ }
+ if$
+ }
+ { address empty$
+ { year empty$
+ { "There's only a publisher (no address, no year) in " cite$ * warning$ publisher }
+ { checked.inst publisher "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ { year empty$
+ { checked.inst address * "\bpubaddr {} " publisher "}" * * }%
+ { checked.inst address * "\bpubaddr {} " publisher "\bibbdsep {} " * format.date "}" * * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.howpublished.address.year}
+{ howpublished empty$
+ { address empty$
+ { year empty$
+ { "Neither address nor year in " cite$ * warning$ "" }
+ { "No address in " cite$ * warning$ format.date }
+ if$
+ }
+ { " \apyformat {" oaddress.opublisher.oyear.format address * "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ { address empty$
+ { year empty$
+ { "There's only a howpublished (no address, no year) in " cite$ * warning$ howpublished }
+ { " \apyformat {" oaddress.opublisher.oyear.format howpublished * "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ { year empty$
+ { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished "}" * * }
+ { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished * "\bibbdsep {} " * format.date "}" * * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #4 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {bibvol.tie.or.space.connect}
+{ duplicate$ text.length$ #4 <
+ { "~" }
+ { "{} " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {format.btitle}{ title emphasize format.titleaddon * }
+
+FUNCTION {format.btitle.vol}
+{ number empty$
+ { series empty$
+ { volume empty$
+ { title emphasize format.titleaddon * }
+ {
+ title emphasize format.titleaddon * " \volumeformat {" volume * "} " * *
+ }
+ if$
+ }
+ { volume empty$
+ { title emphasize format.titleaddon * }
+ {
+ title emphasize format.titleaddon * "\volumeformat {" volume * "} " * * series "\bibatsep\ " * *
+ }
+ if$
+ }
+ if$
+ }
+ { title emphasize format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.btitle.vol.inbook}
+{ number empty$
+ { series empty$
+ { volume empty$
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon *
+ " \volumeformat {" volume * "} " * *
+ }
+ if$
+ }
+ { volume empty$
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ { series emphasize
+ "\volumeformat {" volume * "} " * *
+ "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * * }
+ if$
+ }
+ if$
+ }
+ { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { author empty$ title empty$ and
+ 'skip$
+ { " " * }
+ if$
+ urldate empty$
+ {"\jburluse {" cite$ * "}" * }
+ {"\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.naked.url}
+{ url empty$
+ { "" }
+ { urldate empty$
+ { title empty$
+ 'skip$
+ { title emphasize * }
+ if$
+ "\jburluse {" cite$ * "}" *
+ }
+ { title empty$
+ 'skip$
+ { title emphasize * }
+ if$
+ "\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.series.number}
+{ volume empty$
+ { number empty$
+ { series empty$
+ { "" }
+ { " \numberandseries {}{" series * "}" * }
+ if$
+ }
+ { series empty$
+ { " \numberandseries {" number * "}{}" * "There's a number but no series in " cite$ * warning$ }
+ { " \numberandseries {" number * "}{" * series "}" * * }
+ if$
+ }
+ if$
+ }
+ { series empty$
+ { "" }
+ { type$ "proceedings" =
+ { " \numberandseries {}{" series * "}" * } % { " (" series * ")" * }
+ { "" }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {first.ed} { "\firstedname" }
+FUNCTION {second.ed}{ "\secondedname" }
+FUNCTION {third.ed} { "\thirdedname" }
+FUNCTION {fourth.ed}{ "\fourthedname" }
+FUNCTION {fifth.ed} { "\fifthedname" }
+FUNCTION {th.ed} { "\thedname" }
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { first.ed 't := }
+ { s "second" = s "2" = or
+ { second.ed 't := }
+ { s "third" = s "3" = or
+ { third.ed 't := }
+ { s "fourth" = s "4" = or
+ { fourth.ed 't := }
+ { s "fifth" = s "5" = or
+ { fifth.ed 't := }
+ { s #1 #1 substring$ is.num
+ { s th.ed * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { "\jbedition {" * convert.edition "~\editionname {}\jbaensep} " * }% dot or not ???????
+ if$
+}
+
+FUNCTION { format.isbn.issn }
+{ isbn empty$
+ { issn empty$
+ { "" }
+ { "\jbissn {" issn n.dashify * "}" * }
+ if$
+ }
+ { "\jbisbn {" isbn n.dashify * "}" * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { " \jbPages{" pages n.dashify * "}" * }
+ if$
+}
+
+FUNCTION {multi.pagerange.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "b" =
+ swap$ "/" = or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {check.missing.pages}
+{ pages empty$
+ { "Empty pages in " cite$ * warning$ }
+ { pages multi.pagerange.check
+ { "" * }
+ { type$ "article" = type$ "periodical" = or
+ { "There's only a starting page, no pagerange in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.book}
+{ pages empty$
+ { "" }
+ { " \jbpages {" pages " \bibtotalpagesname}" *}
+ if$
+}
+
+FUNCTION {format.totalpages}
+{ totalpages empty$
+ { "" }
+ {
+ ", " totalpages "~\bibtotalpagesname" * *
+ }
+ if$
+}
+
+FUNCTION {format.vol.year.num.pages}
+{ volume empty$
+ { "" }
+ { " \artvolumeformat {" volume * "}" *
+ year empty$
+ { "There's a volume but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ month empty$
+ 'skip$
+ { "\ " month * * }
+ if$
+ year empty$
+ 'skip$
+ { " \artyearformat {" year * add.extra.label "}" * * }
+ if$
+ number empty$
+ 'skip$
+ { "\artnumberformat {" number * "}" * * }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { "" format.pages * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.bracedyear.num.pages}
+{ volume empty$
+ { "" }
+ { " \pervolumeformat {" volume * "}" *
+ year empty$
+ { "There's a volume but no year in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ year empty$
+ 'skip$
+ { " \peryearformat {" year * add.extra.label "}" * * }
+ if$
+ month empty$
+ 'skip$
+ { ", " month * * }
+ if$
+ number empty$
+ 'skip$
+ { ", \pernumberformat {" number * "}" * * }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { "" format.pages * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\unskip.\,-- \bibchapterlongname" }
+ { "\unskip.\,-- " type * }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitleaddon}
+{ booktitle empty$
+ { "" }
+ { booktitleaddon empty$
+ { "" }
+ { booktitleaddon }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.incoll.editor.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { volume empty$
+ { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{" * volume * "}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ { volume empty$
+ { "\incolledformat {"
+ editor empty$
+ { "" }
+ { editor format.editor.names "}" * *
+ editortype empty$
+ { editor num.names$ #1 >
+ { "{\edfont {\editorsname}}{" * }
+ { "{\edfont {\editorname}}{" * }
+ if$
+ }
+ { "{\edfont {(" * editortype * ")}}{" * }
+ if$
+ }
+ if$
+ booktitle incollbooktitlemarkup * format.booktitleaddon * "}{}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ { "\incolledformat {" *
+ editor empty$
+ { "" }
+ { editor format.editor.names "}" * *
+ editortype empty$
+ { editor num.names$ #1 >
+ { "{\edfont {\editorsname}}{" * }
+ { "{\edfont {\editorname}}{" * }
+ if$
+ }
+ { "{\edfont {(" * editortype * ")}}{" * }
+ if$
+ }
+ if$
+ booktitle incollbooktitlemarkup * format.booktitleaddon * "}{" volume * "}" *
+ booktitleaddon empty$
+ { "{} " * }
+ { "{1} " * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number.jur}
+{ type empty$
+ { number empty$
+ { " -- \technicalreportname {} " }
+ { "~(" number * ").\,-- \technicalreportname {} " * }
+ if$
+ }
+ { number empty$
+ { " -- " type * }
+ { "~(" number * ").\,-- " type * " " * * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.article.crossref.bracedyear}
+{ key empty$
+ { journal empty$
+ { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" }
+ { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * }
+ if$
+ volume empty$
+ { "No volume in " cite$ * warning$ }
+ { " \pervolumeformat {" volume * "} " * }
+ if$
+ year empty$
+ { "No year in " cite$ * warning$ }
+ { "\peryearformat {" year * add.extra.label "}" * * }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { format.pages * }
+ if$
+ }
+ if$
+ }
+ { "" key * }
+ if$
+ "\ \protect\jbcrossrefchecked {" * crossref * "}\unskip" *
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" }
+ { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * }
+ if$
+ }
+ { "" key * }
+ if$
+ year empty$
+ 'skip$
+ { year * }
+ if$
+ " \protect\jbcrossrefchecked {" crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "Need editor, key, or series for " cite$ * " to crossref " * crossref * warning$ "" * }
+ { "" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { "" * }
+ if$
+ volume empty$
+ { "Empty volume in " cite$ * "'s crossref of " * crossref * warning$ ""
+ " \protect\jbcrossrefchecked {" * crossref * "}\unskip" * }
+ { " \protect\jbcrossrefchecked[" * volume * "]{" * crossref "}\unskip" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ " \protect\jbincollcrossref {" * crossref * "}" *
+ editor empty$
+ { "{}" * }
+ { "{1}" * }
+ if$
+ format.pages % *<== 0.5f removed too.
+}
+
+FUNCTION { format.editors.organization }
+{ organization empty$
+ 'skip$
+ { type$ "misc" =
+ { organization }
+ { author empty$
+ { editor empty$
+ { " " organization * " \organizationname {}" * }
+ { "; " organization * " \organizationname {}" * }
+ if$
+ }
+ { "; " organization * " \organizationname {}" * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.address.organization.manual}
+{ author empty$
+ { organization empty$
+ { address empty$
+ 'skip$
+ { address output part.of.sentence
+ year empty$ not { "\bibbdsep {}" *} 'skip$ if$
+ }
+ if$
+ }
+ 'skip$
+ if$
+ }
+ { address empty$
+ { organization empty$
+ 'skip$
+ { organization output part.of.sentence
+ year empty$ not { "\bibbdsep {}" *} 'skip$ if$
+ }
+ if$
+ }
+ { organization empty$
+ { address output part.of.sentence }
+ { address "\bpubaddr {} " * organization * output part.of.sentence }
+ if$
+ year empty$ not { "\bibbdsep {}" *} 'skip$ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ crossref missing$
+ { journal article.in.journal output.nonnull
+ new.sentence
+ format.vol.year.num.pages output
+ }
+ { format.article.crossref output.nonnull }
+ if$
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited.artperiod output
+ check.missing.pages
+ fin.entry.endnote
+}
+
+FUNCTION {commented}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { format.founders }
+ { format.founders format.editors "editor" output.check }
+ if$
+ }
+ { editor empty$
+ { format.authors format.founders output.nonnull }
+ { format.authors format.founders format.editors output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle.vol "title" output.check }
+ { format.btitle "title" output.check }
+ if$
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ format.update
+ new.sentence
+ crossref missing$
+ { format.series.number output }
+ { format.book.crossref output.nonnull }
+ if$
+ format.url output
+ format.pages output
+ format.note
+ format.howcited.comment output
+ fin.entry.endnote
+}
+
+FUNCTION {periodical}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ crossref missing$
+ { journal article.in.journal output.nonnull
+ new.sentence
+ format.vol.bracedyear.num.pages output
+ }
+ { new.sentence format.article.crossref.bracedyear output.nonnull }
+ if$
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited.artperiod output
+ fin.entry.endnote
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { "" "author and editor" output.check }
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { format.authors "\jbtiafed {" format.editors * "}" * output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle.vol "title" output.check }
+ { format.btitle "title" output.check }
+ if$
+ author empty$ not editor empty$ not and
+ { "\jbedafti {\edbyname {} " editor * "," * * "} " * }
+ 'skip$
+ if$
+ make.translators output
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.juradiss.book output
+ crossref missing$
+ { format.series.number output }
+ { format.book.crossref output.nonnull }
+ if$
+ format.url output
+ format.pages output
+ format.totalpages output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { editor empty$
+ { format.authors output.nonnull }
+ { format.authors format.editors output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ crossref missing$
+ { chapter empty$
+ { "There's no chapter in " cite$ * warning$ "" * }
+ { type empty$
+ { "\Bibchaptername{}" }
+ { type }
+ if$
+ chapter tie.or.space.connect " In " * *
+ }
+ if$
+ format.btitle.vol.inbook "title" output.check
+ make.translators output
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.series.number output
+ format.url output
+ format.pages "pages" output.check
+ format.note
+ format.isbn.issn output
+ }
+ { chapter empty$
+ { "There's no chapter in " cite$ * warning$ "" *
+ format.btitle.vol.inbook "title" output.check
+ }
+ { type empty$
+ { "\Bibchaptername{}" }
+ { type }
+ if$
+ chapter tie.or.space.connect "" * *
+ }
+ if$
+ format.volumetitle output
+ format.book.crossref output.nonnull
+ format.url output
+ format.pages "pages" output.check
+ format.note
+ }
+ if$
+ part.of.sentence
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ make.translators output
+ crossref missing$
+ { format.incoll.editor.booktitle "booktitle" output.check
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.series.number output
+ format.url output
+ format.isbn.issn output
+ part.of.sentence
+ format.chapter.pages output
+ format.note
+ }
+ { format.volumetitle output
+ format.incoll.inproc.crossref output.nonnull
+ format.url output
+ format.note
+ }
+ if$
+ format.howcited output
+ check.missing.pages
+ fin.entry.endnote
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.artperiodincoll.title "title" output.check
+ crossref missing$
+ { format.incoll.editor.booktitle "booktitle" output.check
+ address empty$
+ { organization new.sentence.checka
+ organization output
+ part.of.sentence
+ format.address.publisher.year output
+ }
+ { format.address.publisher.year "publisher" output.check }
+ if$
+ new.sentence
+ series empty$
+ 'skip$
+ { format.series.number output }
+ if$
+ format.url output
+ format.note
+ format.isbn.issn output
+ part.of.sentence
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.url output
+ format.note
+ }
+ if$
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {conference}{inproceedings}
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { "\bibnf{" organization * "} {} {} {} {}" * output.nonnull }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.edition output
+ format.address.organization.manual
+ format.date output
+ pages set.period.dash.check
+ format.pages.book output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.thesis output
+ set.comma.pages.check
+ pages new.sentence.checka
+ format.pages output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.thesis output
+ set.comma.pages.check
+ pages new.sentence.checka
+ format.pages output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {jurthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.btitle "title" output.check
+ format.thesis output
+ set.comma.pages.check
+ pages new.sentence.checka
+ format.pages output
+ format.url output
+ format.note
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title "title" output.check
+ format.howpublished.address.year output
+ format.note
+ format.url output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.title output
+ format.howpublished.address.year output
+ format.note
+ format.url output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization empty$
+ 'skip$
+ { "\biblnfont {" organization * " \organizationname}" * output }
+ if$
+ }
+ { format.editors output.nonnull }
+ if$
+ set.after.author.sep output
+ format.btitle "title" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { format.proceed.organization output }
+ if$
+ new.sentence
+ format.series.number output.nonnull
+ volume empty$
+ { "" output.nonnull }
+ { "\volumeformat {" volume * "} " * "volume" output.check }
+ if$
+ format.address.publisher.year "publisher" output.check
+ pages set.period.dash.check
+ format.pages.book output
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { editor empty$
+ { format.authors output.nonnull }
+ { format.authors format.editors output.nonnull }
+ if$
+ }
+ if$
+ set.after.author.sep output
+ format.title "title" output.check
+ institution new.sentence.checka
+ format.address.publisher.year output
+ number new.sentence.checka
+ format.tr.number.jur "number" output.check
+ pages set.period.dash.check
+ format.pages.book output
+ format.url output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {www}
+{ output.bibitem
+ format.authors "author" output.check
+ set.after.author.sep output
+ format.naked.url output
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {lexicon}
+{ output.bibitem
+ set.after.author.sep output
+ crossref missing$
+ { format.btitle.vol "title" output.check }
+ { format.btitle "title" output.check }
+ if$
+ author empty$
+ { editor empty$
+ 'skip$
+ { "\edbyname{} " * editor format.editor.names "," * * }
+ if$
+ }
+ { "\byname{} " author format.names * "," * * }
+ if$
+ make.translators output
+ format.volumetitle output
+ format.edition output
+ format.address.publisher.year "publisher" output.check
+ new.sentence
+ format.juradiss.book output
+ crossref missing$
+ { format.series.number output }
+ { format.book.crossref output.nonnull }
+ if$
+ format.url output
+ format.pages output
+ format.totalpages output
+ format.note
+ format.isbn.issn output
+ format.howcited output
+ fin.entry.endnote
+}
+
+STRINGS { last.archive last.subarchive }
+
+FUNCTION {init.last.archive }
+{ "" 'last.archive :=
+ "" 'last.subarchive := }
+
+FUNCTION {archival}
+{ output.bibitem
+ archive empty$
+ { "" 'last.archive := }
+ { archive last.archive =
+ { "} {" archive format.name.sig * "} {} {\jbsamearch{} " * * }
+ { "\bibanfont{" archive * "archive" output.check
+ shortarchive empty$
+ 'skip$
+ { " \jbshortarchformat{" shortarchive * "}" * * }
+ if$
+ "}" *
+ "} {" archive format.name.sig * "} {} {\jbnotsamearch{} " * *
+ }
+ if$
+ archive 'last.archive :=
+ }
+ if$
+ subarchive empty$
+ { "" 'last.subarchive := }
+ { subarchive last.subarchive =
+ 'skip$
+ { subarchive output
+ shortsubarchive empty$
+ 'skip$
+ { " \jbshortsubarchformat{" shortsubarchive * "}" * * }
+ if$
+ "\jbsubarchsep{} " *
+ }
+ if$
+ subarchive 'last.subarchive :=
+ }
+ if$
+ sig1 empty$
+ 'skip$
+ { "\jbarchsig {" *
+ subarchive empty$
+ 'skip$
+ { "\jbsamesubarchindent{} " * }
+ if$
+ sig1 *
+ sig2 empty$
+ 'skip$
+ { ". " sig2 * *
+ sig3 empty$
+ 'skip$
+ { ". " sig3 * *
+ sig4 empty$
+ 'skip$
+ { ". " sig4 * * }
+ if$
+ }
+ if$
+ }
+ if$
+ "} {" *
+ }
+ if$
+ archname missing$
+ { "}" * }
+ { archname "}" * output }
+ if$
+ format.howcited output
+ fin.entry.endnote
+}
+
+FUNCTION {unpublished}{misc}
+
+FUNCTION {default.type}{misc}
+
+MACRO {jan} {"\janname\ "}
+MACRO {feb} {"\febname\ "}
+MACRO {mar} {"\marname\ "}
+MACRO {apr} {"\aprname\ "}
+MACRO {may} {"\mayname\ "}
+MACRO {jun} {"\junname\ "}
+MACRO {jul} {"\julname\ "}
+MACRO {aug} {"\augname\ "}
+MACRO {sep} {"\sepname\ "}
+MACRO {oct} {"\octname\ "}
+MACRO {nov} {"\novname\ "}
+MACRO {dec} {"\decname\ "}
+
+READ
+
+FUNCTION {sortify}{ purify$ "l" change.case$ }
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's := % for two: (Jones/de~Bruijn)
+ s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
+ s num.names$ duplicate$ % for more: (Jones et\,al.)
+ #2 <
+ 'pop$ % for just one person
+ { duplicate$ duplicate$
+ #3 >
+ swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ or
+ { pop$ "\Bibetal" * } % for 4 or more, or last is `others'
+ { #2 =
+ { "\jbbtasep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
+ { "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ * % for three
+ "\jbbstasep " * s #3 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ year missing$
+ 'skip$
+ { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
+ if$
+}
+
+FUNCTION {format.editor.lab.names}
+{ 's := % for two: (Jones/de~Bruijn)
+ s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
+ s num.names$ duplicate$ % for more: (Jones et\,al.)
+ #2 <
+ 'pop$ % for just one person
+ { duplicate$ duplicate$
+ #3 >
+ swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ or
+ { pop$ "\Bibetal" * } % for 4 or more, or last is `others'
+ { #2 =
+ { "\jbbtesep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
+ { "\jbbfsesep " * s #2 "{vv~}{ll}" format.name$ * % for three
+ "\jbbstesep " * s #3 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ year missing$
+ 'skip$
+ { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.editor.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.editor.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or type$ "lexicon" = or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'label :=
+}
+
+FUNCTION {calc.dummy.label}
+{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'dummy.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "\bibnf {others} {} {} {} {}" = and
+ { "\Bibetal" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "Der " #4
+ "Die " #4
+ "Das " #4
+ "Ein " #4
+ "Eine " #5
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ {
+%% "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ {
+%% "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {archival.sort}
+{ archive empty$
+ { shortarchive empty$
+ { "to sort, need archive or shortarchive in " cite$ * warning$ "" }
+ { shortarchive sortify }
+ if$
+ }
+ { archive sortify }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ calc.dummy.label
+}
+
+ITERATE {presort}
+
+%% FUNCTION {before.sort} { "BEFORE SORT:" top$ }
+%% EXECUTE {before.sort}
+%% FUNCTION {print.sort.keys} {sort.key$ top$}
+%% ITERATE {print.sort.keys}
+
+
+%% FUNCTION {after.sort} {"AFTER SORT:" top$}
+%% EXECUTE {after.sort}
+%% ITERATE {print.sort.keys}
+
+
+INTEGERS { last.extra.num number.label extra.extra.num }
+
+FUNCTION {make.extra.label}
+{ last.extra.num #122 <
+ { last.extra.num #1 + }
+ { extra.extra.num #0 =
+ { "a" chr.to.int$ }
+ { extra.extra.num #1 + }
+ if$
+ 'extra.extra.num :=
+ "a" chr.to.int$ }
+ if$
+ 'last.extra.num :=
+ extra.extra.num #0 =
+ { last.extra.num int.to.chr$ }
+ { extra.extra.num int.to.chr$ 'extra.label :=
+ extra.label last.extra.num int.to.chr$ * }
+ if$
+}
+
+FUNCTION {forward.pass}
+{ w dummy.label =
+ { make.extra.label 'extra.label := }
+ { "a" chr.to.int$ 'last.extra.num :=
+ #0 'extra.extra.num :=
+ "" 'extra.label :=
+ dummy.label 'w :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ x "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'x :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * }
+ if$
+ 'extra.label :=
+ dummy.label extra.label * 'dummy.label :=
+}
+
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order} { sort.label 'sort.key$ := }
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {set.current.authors}
+{ author empty$
+ { editor empty$
+ { organization empty$
+ { cite$ 'current-authors := }
+ { organization 'current-authors := }
+ if$
+ }
+ { editor format.names #1 entry.max$ substring$ 'current-authors := }
+%% ^^^^^^^^^^^^ NOT format.editor.names, otherwise \jb@@arg is always = 0!!!
+ if$
+ }
+ { author format.names #1 entry.max$ substring$ 'current-authors := }
+ if$
+}
+
+STRINGS { previous-authors }
+
+FUNCTION {initialize.previous.authors} { "" 'previous-authors := }
+
+FUNCTION {mark.repeat.authors}
+{ current-authors previous-authors =
+ { #1 'repeat-authors := }
+ 'skip$
+ if$
+ current-authors 'previous-authors :=
+}
+
+ITERATE {set.current.authors}
+
+EXECUTE {initialize.previous.authors}
+
+ITERATE {mark.repeat.authors}
+
+EXECUTE {initialize.previous.authors}
+
+REVERSE {mark.repeat.authors}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "%" write$ newline$
+ "% This bibliography was produced by using jurabib.bst" write$ newline$
+ "%" write$ newline$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `jurunsrt.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/kluwer/klunamed.bst b/Master/texmf-dist/bibtex/bst/kluwer/klunamed.bst
new file mode 100644
index 00000000000..81e9bd52201
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/kluwer/klunamed.bst
@@ -0,0 +1,1181 @@
+% This style produces citations in the `author-year' format.
+% It supports two forms of citation: the \cite command produces: (Author, year)
+% in the text; the \cite* command only: (year) .
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence
+ after.block after.colon }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.colon :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.colon =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull.extra}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.colon =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.extra}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull.extra
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.extra}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.extra
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ ": " year * extra.label *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.ed.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := }
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.extra}
+{ editor empty$
+ { "" }
+ { editor format.ed.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "`" title "'" * * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {first.page.number}
+{ 't :=
+ ""
+ { t "" =
+ { #0 }
+ { t #1 #1 substring$ "-" = not }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "No." }
+ { "No." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.page}
+{ pages empty$
+ { "" }
+ { "p.~" pages first.page.number * }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ volume empty$
+ 'skip$
+ { boldface }
+ if$
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.page}
+{ volume field.or.null
+ volume empty$
+ 'skip$
+ { boldface }
+ if$
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages first.page.number * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "Chapt." }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In: " booktitle emphasize * }
+ { "In: " format.editors.extra * ": " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.booktitle.or.series}
+{ booktitle empty$
+ { series empty$
+ { "" }
+ { "In: " series emphasize * }
+ if$
+ }
+ { editor empty$
+ { "In: " booktitle emphasize * }
+ { "In: " format.editors.extra * ": " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check.extra
+ format.vol.num.pages output.extra
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ 'skip$
+ { address ": " * output
+ after.colon 'output.state :=
+ }
+ if$
+ publisher "publisher" output.check.extra
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.check
+ format.btitle "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ new.block
+ address empty$
+ 'skip$
+ { address ": " * output
+ after.colon 'output.state :=
+ }
+ if$
+ publisher "publisher" output.check.extra
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ 'skip$
+ { address ": " * output
+ after.colon 'output.state :=
+ }
+ if$
+ publisher "publisher" output.check.extra
+ format.edition output
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.booktitle.or.series "booktitle or series" output.check
+ format.bvolume output
+ new.sentence
+ address output
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ publisher output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.check
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ "Ph.D. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ output.year.check
+ format.title "title" output.check
+ format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ 'skip$
+ { address ": " * output
+ after.colon 'output.state :=
+ }
+ if$
+ organization output.extra
+ publisher output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr,"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ "\protect\citeauthoryear{" swap$ * "}{"
+ *
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
diff --git a/Master/texmf-dist/bibtex/bst/kluwer/klunum.bst b/Master/texmf-dist/bibtex/bst/kluwer/klunum.bst
new file mode 100644
index 00000000000..3b931cbae1f
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/kluwer/klunum.bst
@@ -0,0 +1,1159 @@
+% This style produces citations in the `author-year' format.
+% It supports two forms of citation: the \cite command produces: (Author, year)
+% in the text; the \cite* command only: (year) .
+
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull.extra}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.extra}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull.extra
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.extra}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.extra
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ ": " year * extra.label *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.ed.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := }
+ { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't := }
+ if$
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.extra}
+{ editor empty$
+ { "" }
+ { editor format.ed.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "`" title "'" * * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {first.page.number}
+{ 't :=
+ ""
+ { t "" =
+ { #0 }
+ { t #1 #1 substring$ "-" = not }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "No." }
+ { "No." }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp." pages n.dashify tie.or.space.connect }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.page}
+{ pages empty$
+ { "" }
+ { "p.~" pages first.page.number * }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ volume empty$
+ 'skip$
+ { boldface }
+ if$
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.page}
+{ volume field.or.null
+ volume empty$
+ 'skip$
+ { boldface }
+ if$
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages first.page.number * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "Chapt." }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In: " booktitle emphasize * }
+ { "In: " format.editors.extra * ": " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.booktitle.or.series}
+{ booktitle empty$
+ { series empty$
+ { "" }
+ { "In: " series emphasize * }
+ if$
+ }
+ { editor empty$
+ { "In: " booktitle emphasize * }
+ { "In: " format.editors.extra * ": " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "in"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "in"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check.extra
+ format.vol.num.pages output.extra
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ 'skip$
+ { address ":" * output }
+ if$
+ publisher "publisher" output.check.extra
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.check
+ format.btitle "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ new.block
+ address empty$
+ 'skip$
+ { address ":" * output }
+ if$
+ publisher "publisher" output.check.extra
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ 'skip$
+ { address ":" * output }
+ if$
+ publisher "publisher" output.check.extra
+ format.edition output
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.booktitle.or.series "booktitle or series" output.check
+ format.bvolume output
+ new.sentence
+ address output
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ output.year.check
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ "Ph.D. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ output.year.check
+ format.title "title" output.check
+ format.bvolume output
+ format.number.series output
+ new.block
+ address empty$
+ 'skip$
+ { address ":" * output }
+ if$
+ organization output.extra
+ publisher output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ output.year.check
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr,"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ "" swap$ * "}{"
+ *
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{00}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/minitoc/frplain1.bst b/Master/texmf-dist/bibtex/bst/minitoc/frplain1.bst
new file mode 100644
index 00000000000..8b98fd409b4
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/minitoc/frplain1.bst
@@ -0,0 +1,1129 @@
+% J'ai modifie' le style pour qu'il soit plus international.
+% En plus les titres sont laisse's tels quels, avec majuscules/minuscules.
+%
+% Ronan Keryell@cri.ensmp.fr.
+%
+% 01/02/1995 : utilisation des macros de frbib.sty pour avoir des noms
+% francise's pour les << editeur >>, << et >>, etc.
+%
+% 26/04/1994 : les noms passent en petites capitales.
+% modification de la cle' dans format.lab.names
+% et rajout des fonctions output.guillemet et
+% output.check.guillemet.
+% ??/02/2005 : (Jean-Pierre F. Drucbert) suppression d'une
+% virgule avant et dans une liste.
+
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.guillemet}
+{ duplicate$ empty$
+ 'pop$
+ { "<<~" swap$ * "~>>" * output.nonnull }
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.guillemet}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ { "<<~" swap$ * "~>>" * output.nonnull }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}\bgroup\scshape {ll}\egroup{{}}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+% { "," * }
+ { " " * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " \andname{} " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", \editornames{}" * }
+ { ", \editorname{}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ %{ title "t" change.case$ } On laisse le titre tel quel.
+ { title }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "\volumename{}" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " \ofname{} " * series emphasize * }
+ if$
+ "\volumename{} \andname{} \numbername{}" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "\numbername{}" }
+ { "\Numbername{}" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " \inname{} " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " \editionname{}" * }
+ { edition "t" change.case$ " \editionname{}" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "\pagesname{}" pages n.dashify tie.or.space.connect }
+ { "\pagename{}" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { "{\froff:}" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "\chaptername{}" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "\Inname{} " booktitle emphasize * }
+ { "\Inname{} " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "\technicalreportname{}" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "\Inname{} {\em " journal * "\/}" * }
+ if$
+ }
+ { "\Inname{} " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " \andname{} " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "\Inname{} "
+ }
+ { "\Volumename{}" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "\Inname{} {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "\Inname{} " key * }
+ if$
+ }
+ { "\Inname{} " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check.guillemet
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check.guillemet
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check.guillemet
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check.guillemet
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check.guillemet
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output.guillemet
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check.guillemet
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check.guillemet
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check.guillemet
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"\janname{}"}
+
+MACRO {feb} {"\febname{}"}
+
+MACRO {mar} {"\marname{}"}
+
+MACRO {apr} {"\aprname{}"}
+
+MACRO {may} {"\mayname{}"}
+
+MACRO {jun} {"\junname{}"}
+
+MACRO {jul} {"\julname{}"}
+
+MACRO {aug} {"\augname{}"}
+
+MACRO {sep} {"\sepname{}"}
+
+MACRO {oct} {"\octname{}"}
+
+MACRO {nov} {"\novname{}"}
+
+MACRO {dec} {"\decname{}"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/mslapa/mslapa.bst b/Master/texmf-dist/bibtex/bst/mslapa/mslapa.bst
new file mode 100644
index 00000000000..a44b59cc125
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/mslapa/mslapa.bst
@@ -0,0 +1,1604 @@
+%$$$ mslapa.bst $$$
+%
+% Slightly modified version by Michael Landy - 7/29/94
+% This file should be used with style `mslapa.sty'
+%
+% This pair of files automates most (although not all) of the bibliographic
+% and citation formatting of APA (American Psychological Association) style.
+% The various citations formats that you want are things like:
+% 1 `in the work of Landy (1985, 1989a,b)'
+% 2 `in the work of Landy, Dosher and Sperling (1989)'
+% 3 `in the work of Landy and colleagues (1989)'
+% 4 `it has been shown (Landy, 1989) that ...'
+% 5 `it has been shown (Landy, 1989a, 1990; Sperling, 1991) that ...'
+% 6 `it has been shown (Landy, Dosher & Sperling, 1989a) that ...'
+% 7 `it has been shown (Landy et al., 1989a) that ...'
+% 8 `it has been shown (e.g., Landy et al., 1989a) that ...'
+% 9 `it has been shown (see, e.g., Landy et al., 1989a, for discussion) ...'
+%
+% These are achieved by a number of citation macros:
+%
+% \cite(PRENOTE)[NOTE]{KEY1,KEY2} - for cases 4, 5 and 6
+% \shortcite(PRENOTE)[NOTE]{KEY1,KEY2} - for case 7, 8 and 9
+% \citeyear(PRENOTE)[NOTE]{KEY1,KEY2} - for cases 1, 2 and 3
+%
+% Note that PRENOTE will be put in the parentheses preceding the citations
+% (and followed by a blank), and NOTE will follow the citations (preceded by
+% a comma). Both PRENOTE and NOTE are (independently) optional arguments.
+% Thus, number 8 above was produced by
+%
+% \shortcite(e.g.,){LANDYETAL89A},
+%
+% and number 9 was produced by
+%
+% \shortcite(see, e.g.,)[for discussion]{LANDYETAL89A}.
+%
+% \shortcite will use `et al.' for all citations of 3 or more authors. If
+% you have a string of citations with more than one citation of 3 or more
+% authors, and you want some of those to have et al. and others to be spelled
+% out, then you will have to use \nocite{KEY1,KEY2} and format the citation
+% yourself by hand:
+%
+% `it has been shown (Landy, Dosher & Sperling, 1989a; Sperling et al.,
+% 1990\nocite{LANDETAL89A,SPERETAL90}) that ...'
+%
+% There are also macros which insert only the author text without the year
+% (\fullciteA and \shortciteA), although it's not clear to me where one would
+% want to use that. If you want to format things in any other way, you are
+% stuck formatting the citation yourself, e.g.:
+%
+% In 1989, Landy and colleagues\nocite{LANDETAL89} discovered...
+%
+% The style macros for cite/shortcite/citeyear will lay things out as
+% described above, so that if two citations in a row have the same authors,
+% the authors are listed once, and if the same year as well, only the letter
+% names are added (as in 1989a,b). The algorithm recognizes that the form
+% `Landy et al.' can refer to any articles with 3 or more authors beginning
+% with Landy, and hence all such cited articles require letters after the year
+% (just in case you happen to cite them using `et al.'). The letters are
+% added in such a way that the citation letters for a given shortauthor/year
+% combination appear in order in the references section. Also, in the reference
+% section, and author such as `von Helmholtz' will be alphabetized under H
+% and printed as `von Helmholtz, H. (1866). ...'. If you prefer to
+% alphabetize this under V you can either put the name in braces {von Helmholtz}
+% in your bibliography file (to make it look like a last name), or you can
+% alter the function `sort.format.names' below as indicated in the comment to
+% be found there.
+%
+% Things this style won't do for you:
+%
+% Citations come out in the order you put them in the argument
+% to cite/shortcite/citeyear. So, if you want them sorted a
+% particular way (alphabetically within year or vice versa), you have
+% to do that yourself.
+%
+% APA specifies that full author order should be used the first time
+% a reference is cited, and et al. (for 3 or more authors) thereafter.
+% You have to do this yourself by using \cite or \citeyear the first
+% time and \shortcite thereafter.
+%
+%
+% BibTeX `mslapa' style file for BibTeX version 0.99c, LaTeX version 2.09
+% Place it in a file called mslapa.bst in the BibTeX search path.
+% (Placing it in the same directory as the LaTeX document should also work.)
+% Support for named citations is provided by mslapa.sty
+
+% This version was made by modifying the master file made by
+% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX
+% style of Peter F. Patel-Schneider.
+
+% Copyright (C) 1985, all rights reserved.
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name, or
+% (2) if you do make changes, you name it something other than 'newapa.bst'.
+% There are undoubtably bugs in this style. If you make bug fixes,
+% improvements, etc. please let me know. My e-mail address is:
+% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com
+%
+% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst',
+% with lots of tweaking to make it look like APA style, along with tips
+% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'.
+%
+% Reference list ordering: alphabetical by author or whatever passes
+% for author in the absence of one.
+%
+% The LaTeX style has to have the following (these are far simplified from
+% what's in mslapa.sty):
+%
+% \let\@internalcite\cite
+% \def\fullcite{\def\citeauthoryear##1##2##3##4{##1, ##3##4}\@internalcite}
+% \def\fullciteA{\def\citeauthoryear##1##2##3##4{##1}\@internalcite}
+% \def\shortcite{\def\citeauthoryear##1##2##3##4{##2, ##3##4}\@internalcite}
+% \def\shortciteA{\def\citeauthoryear##1##2##3##4{##2}\@internalcite}
+% \def\citeyear{\def\citeauthoryear##1##2##3##4{##3##4}\@internalcite}
+%
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label1 label2 extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t u }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {special.output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { ": " write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { ": " * write$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull.colon}
+{ 's :=
+ output.state mid.sentence =
+ { ": " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull.space}
+{ 's :=
+ output.state mid.sentence =
+ { "\ " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {special.output}
+{ duplicate$ empty$
+ 'pop$
+ 'special.output.nonnull
+ if$
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.colon}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.colon
+ if$
+}
+
+FUNCTION {output.check.space}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.space
+ if$
+}
+
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[\protect\citeauthoryear{" write$
+ label1 write$
+ "}{" write$
+ label2 write$
+ "}]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {underline}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\underline{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {emphasize.space}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { % numnames #2 >
+ % { "," * }
+ % 'skip$
+ % if$
+ t "others" =
+ { " et~al." * }
+% { " and " * t * }
+% { ", \& " * t * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {format.names.fml}
+{ 's :=
+ #1 'nameptr := % nameptr = 1;
+ s num.names$ 'numnames := % numnames = num.name$(s);
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { % numnames #2 >
+ % { "," * }
+ % 'skip$
+ % if$
+ t "others" =
+ { " et~al." * }
+% { " and " * t * }
+ { " \& " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr := % nameptr += 1;
+ namesleft #1 - 'namesleft := % namesleft =- 1;
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors.fml}
+{ editor empty$
+ { "" }
+ { editor format.names.fml
+ editor num.names$ #1 >
+ { " (Eds.)" * }
+ { " (Ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (Eds.)" * }
+ { " (Ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.dot}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (Eds.)." * }
+ { " (Ed.)." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+% Note that the APA style requres case changes
+% in article titles. The following does not
+% change cases. If you perfer it, uncomment the
+% following and comment out the above.
+
+%FUNCTION {format.title}
+%{ title empty$
+% { "" }
+% { title }
+% if$
+%}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ edition empty$
+ { title emphasize }
+ { title empty$
+ { title emphasize }
+ { "{\em " title * "\/} (" * edition * " Ed.)" * }
+% msl 9/94 - deleted `.' after `Ed.)'
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.emphasize.booktitle}
+{ edition empty$
+ { booktitle emphasize }
+ { booktitle empty$
+ { booktitle emphasize }
+ { "{\em " booktitle * "\/} (" * edition * " Ed.)" * }
+% msl 9/94 - deleted `.' after `Ed.)'
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "Volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+% { "pages" pages n.dashify tie.or.space.connect }
+% { "page" pages tie.or.space.connect }
+ { " (pp.\" pages n.dashify tie.or.space.connect }
+ { " (p.\" pages tie.or.space.connect }
+% msl 10/94 - added blank before `('s
+% msl 9/94 - changed `pp.' to `p.' for single page references
+ if$
+ ")" *
+% msl 9/94 - deleted `.' after `)'
+ }
+ if$
+}
+
+% By Young (and Spencer)
+FUNCTION {format.vol.num.pages}
+{ number empty$
+ { volume empty$
+ { "" }
+ { "{\em " volume * "}" * }
+ if$
+ }
+ { volume empty$
+ {"there's a number but no volume in " cite$ * warning$
+ "{\em (" number * ")}" * }
+ { "{\em " volume * "(" * number * ")}" * }
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " format.emphasize.booktitle * }
+ { "In " format.editors * ", " * format.emphasize.booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle.incoll}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " format.emphasize.booktitle * }
+ { "In " format.editors.fml * ", " * format.emphasize.booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In"
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In"
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ number empty$ volume empty$ and
+ { format.pages * }
+ { format.vol.num.pages output }
+ if$
+% msl 10/94 - if pages with no volume, get rid of extra `,' before `(pp. 1-5)'
+ }
+ { format.article.crossref output.nonnull
+ format.pages *
+% msl 10/94 - use `*' instead of `output' so `(pp. 1-5)' isn't preceded by
+% a comma
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors.dot
+ "author and editor" output.check }
+ { format.authors
+ output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+% format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors.dot
+ "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { format.bvolume output
+ chapter empty$
+ {format.pages *}
+ {format.chapter.pages output}
+ if$
+ chapter empty$ pages empty$ and
+ {"empty chapter and pages in " cite$ * warning$}
+ 'skip$
+ if$
+% msl 10/94 - changed above so don't get extra `,' before `(pp. 1-5)'
+ new.block
+ format.number.series output
+ new.sentence
+ address output
+ publisher
+ "publisher" output.check.colon
+ }
+ { chapter empty$
+ {format.pages *}
+ {format.chapter.pages output}
+ if$
+ chapter empty$ pages empty$ and
+ {"empty chapter and pages in " cite$ * warning$}
+ 'skip$
+ if$
+% msl 10/94 - changed above so don't get extra `,' before `(pp. 1-5)'
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+% format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle.incoll
+ "booktitle" output.check.colon
+ format.bvolume output
+ format.number.series output
+% format.chapter.pages special.output
+ chapter empty$
+ {format.pages *}
+ {format.chapter.pages special.output}
+ if$
+ chapter empty$ pages empty$ and
+ {"empty chapter and pages in " cite$ * warning$}
+ 'skip$
+ if$
+% msl 10/94 - changed above so don't get extra `,' before `(pp. 1-5)'
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+ }
+ { format.incoll.inproc.crossref
+ output.nonnull
+ chapter empty$
+ {format.pages *}
+ {format.chapter.pages output}
+ if$
+ chapter empty$ pages empty$ and
+ {"empty chapter and pages in " cite$ * warning$}
+ 'skip$
+ if$
+% msl 10/94 - changed above so don't get extra `,' before `(pp. 1-5)'
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle
+ "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages *
+% msl 10/94 - use `*' instead of `output' so `(pp. 1-5)' isn't preceded by
+% a comma
+% address output
+% new.sentence
+% organization output
+% publisher output
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+% msl 10/94 - changed to APA standard
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages *
+% msl 10/94 - use `*' instead of `output' so `(pp. 1-5)' isn't preceded by
+% a comma
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ organization address new.block.checkb
+% Reversed the order of "address" and "organization", added the ":".
+ address output
+ organization "organization" output.check.colon
+% address output
+% ":" output
+% organization output
+% format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % added
+ output.year.check % added
+ title howpublished new.block.checkb
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors.dot output.nonnull }
+ if$
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.btitle
+ "title" output.check
+ format.bvolume output
+ format.number.series output
+ organization output
+ new.sentence
+ address output
+ publisher "publisher" output.check.colon
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution
+ "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors
+ "author" output.check
+ author format.key output % added
+ output.year.check % added
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {ai} {"Artificial Intelligence"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { fullptr numfull fullsleft }
+
+STRINGS { u1 u2 }
+
+FUNCTION {my.full.label}
+{
+% Initialize 'u1','u2','s'.
+ "" 'u1 :=
+ "" 'u2 :=
+ 's :=
+
+% Initialize 'fullptr','numfull','fullsleft'.
+ #1 'fullptr :=
+ s num.names$ 'numfull :=
+ numfull 'fullsleft :=
+
+% enter the while loop which generates the first-citation information.
+% while we have names left,
+% format the next name
+% if this is the next-to-last name, tack the ampersand on the end
+% else if this isn't the last name, tack the comma on the end.
+% concatenate the next name onto the first-citation string.
+% update the counters.
+
+ { fullsleft #0 > }
+ { s fullptr "{vv~}{ll}" format.name$ 'u1 :=
+ fullsleft #2 =
+ { u1 " \& " * 'u1 := }
+ { fullsleft #2 >
+ { u1 ", " * 'u1 := }
+ 'skip$
+ if$
+ }
+ if$
+ u2 u1 * 'u2 :=
+ fullptr #1 + 'fullptr :=
+ fullsleft #1 - 'fullsleft :=
+ }
+ while$
+
+% push 'u2' onto the stack -- our first-citation information.
+ u2
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "et~al. " * }
+% { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {grab.author.editor.key}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor }
+ if$
+ }
+ { author }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ duplicate$
+
+% msl 10/94 - sort on author or editor if there is no author
+ grab.author.editor.key my.full.label % generate the first-citation info
+
+ 'label1 :=
+ "}{" *
+% year field.or.null purify$ #-1 #4 substring$ *
+% msl 12/94 - allow year specifications for translations like `1906/1966'
+ year field.or.null *
+ 'label2 :=
+% msl 12/94 - allow year specifications for translations like `1906/1966'
+% year field.or.null purify$ #-1 #4 substring$ *
+ year field.or.null *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{ll{ }}{vv{ } }{ f{ }}{ jj{ }}" format.name$ 't :=
+% use next line instead of previous to let
+% `von Helmholtz' be alphabetized under V rather than H
+% s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+% Michael Landy - reworked this to use the short citation format
+% (e.g. `Name et al.') as the major sort key, and then the same order as
+% used in the final output within that
+ sort.label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by sort.label, full author list, title --- for final label calculation
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+% Michael Landy - modified to use sort.label for the matching
+FUNCTION {forward.pass}
+{ last.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label2 "}{" * extra.label * 'label2 :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Michael Landy - changed to use long authors as major sort key instead of label
+FUNCTION {bib.sort.order}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by long authors, year, title --- giving final bib. order.
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/Master/texmf-dist/bibtex/bst/multibib/mbplain.bst b/Master/texmf-dist/bibtex/bst/multibib/mbplain.bst
new file mode 100644
index 00000000000..7fddc45dba2
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/multibib/mbplain.bst
@@ -0,0 +1,1107 @@
+%
+% This is file `mbplain.bst', modified from file `plain.bst'
+% to be used with package multibib.
+%
+% 1999/12/28 Thorsten Hansen, hansen@neuro.informatik.uni-ulm.de
+%
+% Changes:
+% . Function longest.label.pass modified to count the labels.
+%
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ label width$ longest.label.width = %% added to count the labels
+ or %% added to count the labels
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/natbib/abbrvnat.bst b/Master/texmf-dist/bibtex/bst/natbib/abbrvnat.bst
new file mode 100644
index 00000000000..2068b0f1c27
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/natbib/abbrvnat.bst
@@ -0,0 +1,1432 @@
+%% File: `abbrvnat.bst'
+%% A modification of `abbrv.bst' for use with natbib package
+%%
+%% Copyright 1993-2005 Patrick W Daly
+%% Max-Planck-Institut f\"ur Sonnensystemforschung
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@mps.mpg.de
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+ % Version and source file information:
+ % \ProvidesFile{natbst.mbs}[2005/01/07 1.8 (PWD)]
+ %
+ % BibTeX `plainnat' family
+ % version 0.99b for BibTeX versions 0.99a or later,
+ % for LaTeX versions 2.09 and 2e.
+ %
+ % For use with the `natbib.sty' package; emulates the corresponding
+ % member of the `plain' family, but with author-year citations.
+ %
+ % With version 6.0 of `natbib.sty', it may also be used for numerical
+ % citations, while retaining the commands \citeauthor, \citefullauthor,
+ % and \citeyear to print the corresponding information.
+ %
+ % For version 7.0 of `natbib.sty', the KEY field replaces missing
+ % authors/editors, and the date is left blank in \bibitem.
+ %
+ % Includes field EID for the sequence/citation number of electronic journals
+ % which is used instead of page numbers.
+ %
+ % Includes fields ISBN and ISSN.
+ %
+ % Includes field URL for Internet addresses.
+ %
+ % Includes field DOI for Digital Object Idenfifiers.
+ %
+ % Works best with the url.sty package of Donald Arseneau.
+ %
+ % Works with identical authors and year are further sorted by
+ % citation key, to preserve any natural sequence.
+ %
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ eid
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { new.block "ISBN " isbn * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { new.block "ISSN " issn * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { new.block "URL \url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { new.block "\doi{" doi * "}" * }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.full}
+{ author empty$
+ { editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.full}
+{ author empty$
+ { "" }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.full}
+{ editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.full
+ { type$ "proceedings" =
+ 'editor.full
+ 'author.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * warning$
+ pop$ "" }
+ 'skip$
+ if$
+ month empty$
+ 'skip$
+ { month
+ " " * swap$ *
+ }
+ if$
+ extra.label *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eid}
+{ eid empty$
+ { "" }
+ { "art." eid tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":\penalty0 " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.eid}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ eid empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.eid }
+ { ":\penalty0 " * eid * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In \emph{" journal * "}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \citep{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\emph{" * series * "}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ 'skip$
+ if$
+ ", \citet{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In \emph{" booktitle * "}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " }
+ if$
+ " \citet{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ eid empty$
+ { format.vol.num.pages output }
+ { format.vol.num.eid output }
+ if$
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ eid empty$
+ { format.pages output }
+ { format.eid output }
+ if$
+ }
+ if$
+ format.issn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ format.date output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.issn output
+ format.url output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ format.url output
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { numnames #2 > nameptr #2 = and
+ { "zz" * year field.or.null * " " * }
+ 'skip$
+ if$
+ t sortify *
+ }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num number.label }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\providecommand{\url}[1]{\texttt{#1}}"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi: #1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/natbib/plainnat.bst b/Master/texmf-dist/bibtex/bst/natbib/plainnat.bst
new file mode 100644
index 00000000000..8b07c3cb60c
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/natbib/plainnat.bst
@@ -0,0 +1,1432 @@
+%% File: `plainnat.bst'
+%% A modification of `plain.bst' for use with natbib package
+%%
+%% Copyright 1993-2005 Patrick W Daly
+%% Max-Planck-Institut f\"ur Sonnensystemforschung
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@mps.mpg.de
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+ % Version and source file information:
+ % \ProvidesFile{natbst.mbs}[2005/01/07 1.8 (PWD)]
+ %
+ % BibTeX `plainnat' family
+ % version 0.99b for BibTeX versions 0.99a or later,
+ % for LaTeX versions 2.09 and 2e.
+ %
+ % For use with the `natbib.sty' package; emulates the corresponding
+ % member of the `plain' family, but with author-year citations.
+ %
+ % With version 6.0 of `natbib.sty', it may also be used for numerical
+ % citations, while retaining the commands \citeauthor, \citefullauthor,
+ % and \citeyear to print the corresponding information.
+ %
+ % For version 7.0 of `natbib.sty', the KEY field replaces missing
+ % authors/editors, and the date is left blank in \bibitem.
+ %
+ % Includes field EID for the sequence/citation number of electronic journals
+ % which is used instead of page numbers.
+ %
+ % Includes fields ISBN and ISSN.
+ %
+ % Includes field URL for Internet addresses.
+ %
+ % Includes field DOI for Digital Object Idenfifiers.
+ %
+ % Works best with the url.sty package of Donald Arseneau.
+ %
+ % Works with identical authors and year are further sorted by
+ % citation key, to preserve any natural sequence.
+ %
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ eid
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { new.block "ISBN " isbn * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { new.block "ISSN " issn * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { new.block "URL \url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { new.block "\doi{" doi * "}" * }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.full}
+{ author empty$
+ { editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.full}
+{ author empty$
+ { "" }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.full}
+{ editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.full
+ { type$ "proceedings" =
+ 'editor.full
+ 'author.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * warning$
+ pop$ "" }
+ 'skip$
+ if$
+ month empty$
+ 'skip$
+ { month
+ " " * swap$ *
+ }
+ if$
+ extra.label *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eid}
+{ eid empty$
+ { "" }
+ { "art." eid tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":\penalty0 " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.eid}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ eid empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.eid }
+ { ":\penalty0 " * eid * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In \emph{" journal * "}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \citep{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\emph{" * series * "}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ 'skip$
+ if$
+ ", \citet{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In \emph{" booktitle * "}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " }
+ if$
+ " \citet{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ eid empty$
+ { format.vol.num.pages output }
+ { format.vol.num.eid output }
+ if$
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ eid empty$
+ { format.pages output }
+ { format.eid output }
+ if$
+ }
+ if$
+ format.issn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ format.date output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.issn output
+ format.url output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ format.url output
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { numnames #2 > nameptr #2 = and
+ { "zz" * year field.or.null * " " * }
+ 'skip$
+ if$
+ t sortify *
+ }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num number.label }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\providecommand{\url}[1]{\texttt{#1}}"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi: #1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/natbib/unsrtnat.bst b/Master/texmf-dist/bibtex/bst/natbib/unsrtnat.bst
new file mode 100644
index 00000000000..63ba4b72aa2
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/natbib/unsrtnat.bst
@@ -0,0 +1,1322 @@
+%% File: `unsrtnat.bst'
+%% A modification of `unsrt.bst' for use with natbib package
+%%
+%% Copyright 1993-2005 Patrick W Daly
+%% Max-Planck-Institut f\"ur Sonnensystemforschung
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@mps.mpg.de
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+ % Version and source file information:
+ % \ProvidesFile{natbst.mbs}[2005/01/07 1.8 (PWD)]
+ %
+ % BibTeX `plainnat' family
+ % version 0.99b for BibTeX versions 0.99a or later,
+ % for LaTeX versions 2.09 and 2e.
+ %
+ % For use with the `natbib.sty' package; emulates the corresponding
+ % member of the `plain' family, but with author-year citations.
+ %
+ % With version 6.0 of `natbib.sty', it may also be used for numerical
+ % citations, while retaining the commands \citeauthor, \citefullauthor,
+ % and \citeyear to print the corresponding information.
+ %
+ % For version 7.0 of `natbib.sty', the KEY field replaces missing
+ % authors/editors, and the date is left blank in \bibitem.
+ %
+ % Includes field EID for the sequence/citation number of electronic journals
+ % which is used instead of page numbers.
+ %
+ % Includes fields ISBN and ISSN.
+ %
+ % Includes field URL for Internet addresses.
+ %
+ % Includes field DOI for Digital Object Idenfifiers.
+ %
+ % Works best with the url.sty package of Donald Arseneau.
+ %
+ % Works with identical authors and year are further sorted by
+ % title text, as in the standard plain.bst etc.
+ %
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ eid
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { new.block "ISBN " isbn * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { new.block "ISSN " issn * }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { new.block "URL \url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { new.block "\doi{" doi * "}" * }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.full}
+{ author empty$
+ { editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.full}
+{ author empty$
+ { "" }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.full}
+{ editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.full
+ { type$ "proceedings" =
+ 'editor.full
+ 'author.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * warning$
+ pop$ "" }
+ 'skip$
+ if$
+ month empty$
+ 'skip$
+ { month
+ " " * swap$ *
+ }
+ if$
+ extra.label *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eid}
+{ eid empty$
+ { "" }
+ { "art." eid tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":\penalty0 " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.eid}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "\penalty0 (" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ eid empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.eid }
+ { ":\penalty0 " * eid * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In \emph{" journal * "}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \citep{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "\emph{" * series * "}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ 'skip$
+ if$
+ ", \citet{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In \emph{" booktitle * "}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " }
+ if$
+ " \citet{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ eid empty$
+ { format.vol.num.pages output }
+ { format.vol.num.eid output }
+ if$
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ eid empty$
+ { format.pages output }
+ { format.eid output }
+ if$
+ }
+ if$
+ format.issn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ format.date output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.issn output
+ format.url output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ format.isbn output
+ format.doi output
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ format.url output
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+INTEGERS { seq.num }
+
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+
+EXECUTE {init.seq}
+
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+ #-1 #10 substring$
+}
+
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ seq.num #1 + 'seq.num :=
+ seq.num int.to.fix
+ 'sort.label :=
+ sort.label *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num number.label }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\providecommand{\url}[1]{\texttt{#1}}"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi: #1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/nature/naturemag.bst b/Master/texmf-dist/bibtex/bst/nature/naturemag.bst
new file mode 100644
index 00000000000..81ae25c4362
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/nature/naturemag.bst
@@ -0,0 +1,1524 @@
+%%
+%% This is file `naturemag.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,seq-no,nm-rev,ed-rev,jnrlst,nmlm,x5,m1,yr-par,xmth,vol-bf,vnum-x,volp-com,num-xser,jnm-x,bkpg-x,pub-date,edparxc,ppx,ed,abr,xedn,jabr,amper,and-xcom,etal-it,eprint,url,url-blk,bibinfo,nfss,{}')
+%% physjour.mbs (with options: `seq-no,nm-rev,ed-rev,jnrlst,nmlm,x5,m1,yr-par,xmth,vol-bf,vnum-x,volp-com,num-xser,jnm-x,bkpg-x,pub-date,edparxc,ppx,ed,abr,xedn,jabr,amper,and-xcom,etal-it,eprint,url,url-blk,bibinfo,nfss,{}')
+%% geojour.mbs (with options: `seq-no,nm-rev,ed-rev,jnrlst,nmlm,x5,m1,yr-par,xmth,vol-bf,vnum-x,volp-com,num-xser,jnm-x,bkpg-x,pub-date,edparxc,ppx,ed,abr,xedn,jabr,amper,and-xcom,etal-it,eprint,url,url-blk,bibinfo,nfss,{}')
+%% photjour.mbs (with options: `seq-no,nm-rev,ed-rev,jnrlst,nmlm,x5,m1,yr-par,xmth,vol-bf,vnum-x,volp-com,num-xser,jnm-x,bkpg-x,pub-date,edparxc,ppx,ed,abr,xedn,jabr,amper,and-xcom,etal-it,eprint,url,url-blk,bibinfo,nfss,{}')
+%% merlin.mbs (with options: `tail,seq-no,nm-rev,ed-rev,jnrlst,nmlm,x5,m1,yr-par,xmth,vol-bf,vnum-x,volp-com,num-xser,jnm-x,bkpg-x,pub-date,edparxc,ppx,ed,abr,xedn,jabr,amper,and-xcom,etal-it,eprint,url,url-blk,bibinfo,nfss,{}')
+%% ----------------------------------------
+%% *** Style for the journal Nature (created by Peter Czoschke) ***
+%%
+%% Copyright 1994-2002 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2002/10/21 4.05 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is a numerical citation style, and as such is standard LaTeX.
+ % It requires no extra package to interface to the main text.
+ % The form of the \bibitem entries is
+ % \bibitem{key}...
+ % Usage of \cite is as follows:
+ % \cite{key} ==>> [#]
+ % \cite[chap. 2]{key} ==>> [#, chap. 2]
+ % where # is a number determined by the ordering in the reference list.
+ % The order in the reference list is that by which the works were originally
+ % cited in the text, or that in the database.
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ archive
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ eprint
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ new.block
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edn." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "" }
+
+FUNCTION {bbl.page}
+{ "" }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)]
+MACRO {aa}{"Astron. \& Astrophys."}
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+MACRO {aj} {"Astron. J."}
+MACRO {aph} {"Acta Phys."}
+MACRO {advp} {"Adv. Phys."}
+MACRO {ajp} {"Amer. J. Phys."}
+MACRO {ajm} {"Amer. J. Math."}
+MACRO {amsci} {"Amer. Sci."}
+MACRO {anofd} {"Ann. Fluid Dyn."}
+MACRO {am} {"Ann. Math."}
+MACRO {ap} {"Ann. Phys. (NY)"}
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+MACRO {ao} {"Appl. Opt."}
+MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {app} {"Astroparticle Phys."}
+MACRO {apj} {"Astrophys. J."}
+MACRO {apjsup} {"Astrophys. J. Suppl."}
+MACRO {apss} {"Astrophys. Space Sci."}
+MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
+MACRO {baas} {"Bull. Amer. Astron. Soc."}
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+MACRO {cmp} {"Comm. Math. Phys."}
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+MACRO {cpc} {"Comp. Phys. Comm."}
+MACRO {cqg} {"Class. Quant. Grav."}
+MACRO {cra} {"C. R. Acad. Sci. A"}
+MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {ft} {"Fusion Tech."}
+MACRO {grg} {"Gen. Relativ. Gravit."}
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {ip} {"Infrared Phys."}
+MACRO {irp} {"Infrared Phys."}
+MACRO {jap} {"J. Appl. Phys."}
+MACRO {jasa} {"J. Acoust. Soc. America"}
+MACRO {jcp} {"J. Comp. Phys."}
+MACRO {jetp} {"Sov. Phys.--JETP"}
+MACRO {jfe} {"J. Fusion Energy"}
+MACRO {jfm} {"J. Fluid Mech."}
+MACRO {jmp} {"J. Math. Phys."}
+MACRO {jne} {"J. Nucl. Energy"}
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+MACRO {jnm} {"J. Nucl. Mat."}
+MACRO {jpc} {"J. Phys. Chem."}
+MACRO {jpp} {"J. Plasma Phys."}
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+MACRO {jsi} {"J. Sci. Instrum."}
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+MACRO {nf} {"Nucl. Fusion"}
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+MACRO {np} {"Nucl. Phys."}
+MACRO {npb} {"Nucl. Phys. B"}
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {inc} {"Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {pf} {"Phys. Fluids"}
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys. Lett."}
+MACRO {pla} {"Phys. Lett. A"}
+MACRO {plb} {"Phys. Lett. B"}
+MACRO {prep} {"Phys. Rep."}
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+MACRO {pp} {"Phys. Plasmas"}
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+MACRO {prl} {"Phys. Rev. Lett."}
+MACRO {pr} {"Phys. Rev."}
+MACRO {physrev} {"Phys. Rev."}
+MACRO {pra} {"Phys. Rev. A"}
+MACRO {prb} {"Phys. Rev. B"}
+MACRO {prc} {"Phys. Rev. C"}
+MACRO {prd} {"Phys. Rev. D"}
+MACRO {pre} {"Phys. Rev. E"}
+MACRO {ps} {"Phys. Scripta"}
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+MACRO {rmp} {"Rev. Mod. Phys."}
+MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {science} {"Science"}
+MACRO {sciam} {"Sci. Am."}
+MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+MACRO {spd} {"Sov. Phys.--Doklady"}
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+MACRO {st} {"Sky and Telesc."}
+ % End module: physjour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos. Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agr. Res."}
+MACRO {aumet} {"Aust. Meteorol. Mag."}
+MACRO {blmet} {"Bound.-Lay. Meteorol."}
+MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Clim. Dynam."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sens."}
+MACRO {jam} {"J. Appl. Meteorol."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Meteorol. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Weather Rev."}
+MACRO {nwd} {"Natl. Weather Dig."}
+MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteorol."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteorol."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather Forecast."}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteorol."}
+ % End module: geojour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
+
+MACRO {appopt} {"Appl. Opt."}
+MACRO {bell} {"Bell Syst. Tech. J."}
+MACRO {ell} {"Electron. Lett."}
+MACRO {jasp} {"J. Appl. Spectr."}
+MACRO {jqe} {"IEEE J. Quantum Electron."}
+MACRO {jlwt} {"J. Lightwave Technol."}
+MACRO {jmo} {"J. Mod. Opt."}
+MACRO {josa} {"J. Opt. Soc. America"}
+MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
+MACRO {josab} {"J. Opt. Soc. Amer.~B"}
+MACRO {jdp} {"J. Phys. (Paris)"}
+MACRO {oc} {"Opt. Commun."}
+MACRO {ol} {"Opt. Lett."}
+MACRO {phtl} {"IEEE Photon. Technol. Lett."}
+MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {sse} {"Solid-State Electron."}
+MACRO {sjot} {"Sov. J. Opt. Technol."}
+MACRO {sjqe} {"Sov. J. Quantum Electron."}
+MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
+MACRO {stph} {"Sov. Phys.--Techn. Phys."}
+MACRO {stphl} {"Sov. Techn. Phys. Lett."}
+MACRO {vr} {"Vision Res."}
+MACRO {zph} {"Z. f. Physik"}
+MACRO {zphb} {"Z. f. Physik~B"}
+MACRO {zphd} {"Z. f. Physik~D"}
+
+MACRO {CLEO} {"CLEO"}
+MACRO {ASSL} {"Adv. Sol.-State Lasers"}
+MACRO {OSA} {"OSA"}
+ % End module: photjour.mbs
+%% Copyright 1994-2002 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ "\bibinfo{" swap$ * "}{" * swap$ * "}" *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ "\bibinfo{" swap$ * "}{" * swap$ * "}" *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.eprint}
+{ eprint duplicate$ empty$
+ 'skip$
+ { "\eprint"
+ archive empty$
+ 'skip$
+ { "[" * archive * "]" * }
+ if$
+ "{" * swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\urlprefix\url{" url * "}" * }
+ if$
+}
+
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{, f.}{, jj}"
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #5
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ "\&"
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ format.names
+}
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " *
+ get.bbl.editor
+ "(" swap$ * ")" *
+ *
+ }
+ if$
+}
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ " " * }
+
+FUNCTION {format.date}
+{
+ ""
+ duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$ 'skip$
+ { "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { swap$ 'skip$
+ {
+ swap$
+ " " * swap$
+ }
+ if$
+ *
+ }
+ if$
+ duplicate$ empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+ }
+ if$
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ n.dashify
+ }
+ {
+ }
+ if$
+ "pages" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ bolden
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ " " *
+ get.bbl.editor
+ "(" swap$ * ") " *
+ * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ key duplicate$ empty$
+ { pop$
+ journal duplicate$ empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
+ { "journal" bibinfo.check emphasize word.in swap$ * }
+ if$
+ }
+ { word.in swap$ * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ "editor" bibinfo.check
+ editor num.names$ duplicate$
+ #2 >
+ { pop$
+ "editor" bibinfo.check
+ " " * bbl.etal
+ emphasize
+ *
+ }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ "editor" bibinfo.check
+ " " * bbl.etal
+ emphasize
+ *
+ }
+ {
+ " \& "
+ * editor #2 "{vv~}{ll}" format.name$
+ "editor" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ capitalize
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { format.booktitle duplicate$ empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ }
+ { word.in swap$ * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ 'skip$
+ if$
+ address empty$ t empty$ and
+ year empty$ and
+ 'skip$
+ {
+ add.blank "(" *
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ year empty$
+ 'skip$
+ { t empty$ address empty$ and
+ 'skip$
+ { ", " * }
+ if$
+ year "year" bibinfo.check
+ *
+ }
+ if$
+ ")" *
+ }
+ if$
+}
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ add.blank
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ add.blank
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ format.edition output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.date output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ format.edition output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ format.publisher.address output
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization "organization" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { output
+ address "address" bibinfo.check output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address new.block.checka
+ address "address" bibinfo.check output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization address new.block.checkb
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle
+ "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished "howpublished" bibinfo.check output
+ format.date output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+ empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle
+ "title" output.check
+ new.block
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization "organization" bibinfo.check output
+ }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ editor empty$
+ { publisher empty$
+ 'skip$
+ {
+ new.sentence
+ format.publisher.address output
+ }
+ if$
+ }
+ { publisher empty$
+ {
+ new.sentence
+ format.organization.address output }
+ {
+ new.sentence
+ organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ new.block
+ format.url output
+ new.block
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ format.date output
+ new.block
+ format.url output
+ new.block
+ format.note "note" output.check
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname url\endcsname\relax"
+ write$ newline$
+ " \def\url#1{\texttt{#1}}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
+ write$ newline$
+ "\providecommand{\bibinfo}[2]{#2}"
+ write$ newline$
+ "\providecommand{\eprint}[2][]{\url{#2}}"
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `nature.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/opcit/opcit.bst b/Master/texmf-dist/bibtex/bst/opcit/opcit.bst
new file mode 100644
index 00000000000..3135c3faa1a
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/opcit/opcit.bst
@@ -0,0 +1,789 @@
+%%
+%% This is file `opcit.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% opcit.dtx (with options: `bst')
+%% Part of the `opcit' project: bibliographical references as footnotes.
+%%
+%% Copyright 2002 Federico Garcia
+%%
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ hereafter
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block quoted.state }
+
+STRINGS { s t last.authors }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #0 'quoted.state :=
+ "" 'last.authors :=
+}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { "\bibpunctuation" *
+ quoted.state #1 =
+ { #2 'quoted.state := }
+ { quoted.state #2 =
+ { "''" * #0 'quoted.state := }
+ 'skip$
+ if$
+ }
+ if$
+ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { "\bibpunctuation" * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ "\opcitend%" * write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { ""
+ "" 'last.authors :=
+ }
+ { author last.authors =
+ { "\sameauthors" }
+ { author format.names }
+ if$
+ author 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names }
+ if$
+}
+
+FUNCTION {format.editors.ed}
+{ editor empty$
+ { "" }
+ { editor format.names " (ed.)" * }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series empty$
+ { "" }
+ { ", series " * series * "" }
+ if$ }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.date.pages}
+{ volume empty$
+ 'skip$
+ { volume }
+ if$
+ number empty$
+ 'skip$
+ { "/" number * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ " (" * format.date * ")" *
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ": " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { "\bibIn \ " booktitle emphasize *
+ editor empty$
+ 'skip$
+ { ", ed.~" * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+FUNCTION{get.lastnames}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {make.address.publisher.year}
+{ "\unskip\bibparenthesis{"
+ address empty$
+ 'skip$
+ { address * ": " * }
+ if$
+ publisher empty$
+ 'skip$
+ { publisher * ", " * }
+ if$
+ format.date * "}" *
+}
+
+FUNCTION{format.title.quoted}
+{ title empty$
+ { "" }
+ { "``" title * }
+ if$
+ #1 'quoted.state :=
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ "}" * write$
+ ""
+ newline$
+ "\biblastnames{" write$
+ author empty$
+ { editor get.lastnames }
+ { author get.lastnames }
+ if$
+ "}" * write$
+ hereafter empty$
+ 'skip$
+ { "\bibhereafter{" write$ hereafter "}" * write$ }
+ if$
+ newline$
+ "\opcitstart " write$
+ before.all 'output.state :=
+ #0 'quoted.state :=
+}
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title.quoted "title" output.check
+ new.block
+ journal emphasize "journal" output.check
+ format.vol.num.date.pages "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors.ed "author and editor" output.check }
+ { format.authors output.nonnull
+ "author and editor" editor either.or.check
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ edition new.block.checka
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ make.address.publisher.year output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title.quoted "title" output.check
+ new.block
+ format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ make.address.publisher.year output
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+ITERATE {presort}
+
+SORT
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/oxford/oxford_en.bst b/Master/texmf-dist/bibtex/bst/oxford/oxford_en.bst
new file mode 100644
index 00000000000..b586d121e82
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/oxford/oxford_en.bst
@@ -0,0 +1,1889 @@
+%%
+%% This is file `oxford_se.bst', version 0.4
+%% It was first generated with the docstrip utility in custom-bib
+%% and then heavily hacked by Peter Antman.
+%%
+%% This file must still bee considered beta.
+%%
+%% This version is for swedish citation, to get other languages to work
+%% rename it and insert the right bbl.xxx funcions and MACROS from
+%% the right mbd-file, availible with custom-bib. There are two new such
+%% commands, bbl.lq (leftquote) and bbl.rq (rightquote). Here you give
+%% your languages way of quoting titles.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,exlang,ay,har,harnm,vonx,nm-revf,ed-rev,dt-end,yr-col,note-yr,tit-qq,atit-u,vnum-nr,volp-com,jwdvol,add-pub,pub-date,pre-edn,edpar,blk-com,svenska,pp,ed,abr,amper,and-xcom,etal-it,{}')
+%% svenska.mbs (with options: `exlang,ay,har,harnm,vonx,nm-revf,ed-rev,dt-end,yr-col,note-yr,tit-qq,atit-u,vnum-nr,volp-com,jwdvol,add-pub,pub-date,pre-edn,edpar,blk-com,svenska,pp,ed,abr,amper,and-xcom,etal-it,{}')
+%% merlin.mbs (with options: `tail,exlang,ay,har,harnm,vonx,nm-revf,ed-rev,dt-end,yr-col,note-yr,tit-qq,atit-u,vnum-nr,volp-com,jwdvol,add-pub,pub-date,pre-edn,edpar,blk-com,svenska,pp,ed,abr,amper,and-xcom,etal-it,{}')
+%% ----------------------------------------
+%% *** ***
+%%
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{merlin.mbs}[1996/12/16 3.82 (PWD)]
+ %
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ % Copyright (C) 1994, 1995, 1996 Patrick W. Daly
+ % Copyright (C) 1997 Peter Antman, peter.antman@abc.se
+ %-------------------------------------------------------------------
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ %
+ % This is an Oxford style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is oxford.sty by Peter Antman
+ %
+ % The form of the bibitem entries is
+ % \harvarditem[Jones, New thesis]{Howard Jones, FULL ENTRY}{1990}{key}
+ % Jones, Howard, FULL ENTRY
+ %
+ % The style gives the full reference att the first citation and then a
+ % abrevated one.
+ %
+ % The file suports an additional entry in the bib-file, stitle. It is
+ % for all but the first citation, when only lastname, and if there are
+ % more lastnames that are the same, title (and if there is a stitle that
+ % instead).
+ %
+ % oxford.sty also inserts an ibid. if the current citation is the same
+ % as the last one.
+ %---------------------------------------------------------------------
+ %
+ % Hacked by Peter Antman to provide Oxford citation style.
+ % FIX: Year cite not correct everywhere ???
+ % changes version 0.2:
+ % moved note in article
+ % editor and key right in short.ref
+ % changes version 0.3:
+ % fixed editors in cite, now orde Firstname Lastname
+ % removed ( and ) around ed.
+ % removed comma before nr. if volume empty
+ % removed comma before year in article, misc and unpub
+ % changes version 0.4
+ % fixed ", " error produced in ouput.bibitem (thanks to
+ % Oren Patashnik for telling me how to do it)
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ stitle
+ title
+ type
+ URL
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% BY Peter Antman, special function to get rid of comma before
+% year in article, misc and unpub, se also output.check.special
+FUNCTION {output.nonnull.special}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.special}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.special
+ if$
+}
+
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{english.mbs}[1995/05/04 1.1 (PWD)]
+ % Copyright (C) 1994, 1995 Patrick W. Dal
+ %-------------------------------------------------------------------
+
+ % The language selected here is ENGLISH
+
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edn." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis"}
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+% BY Peter Antman, new functions bbl.lq bbl.rq
+FUNCTION {bbl.lq}
+{ "'" }
+
+FUNCTION {bbl.rq}
+{ "'" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+ % End of language definition file
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+FUNCTION {write.url}
+{ URL empty$
+ { skip$ }
+ { "\newline\harvardurl{" URL * "}" * write$ newline$ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ format.names }
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ {
+ author format.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ {
+ editor format.names
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ bbl.lq swap$ * % BY Peter Antman, uses bbl.lq
+ non.stop
+ { bbl.rq * ", " * } % BY Peter Antman, uses bbl.rq
+ { bbl.rq * " " * } % PROBLEM: comma after title in book
+ if$
+ }
+ if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+ 'skip$
+ { before.all 'output.state := }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+% BY Peter Antman, function to format long cite
+FUNCTION {format.firstname}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff }{jj }{vv }{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% BY Peter Antman, function to format lastname
+FUNCTION {format.lastname}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll}{}{}{}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% By Peter Antman, to format eds as Firstname Lastname
+FUNCTION {format.r.editors}
+{ editor empty$
+ { "" }
+ {
+ editor format.firstname
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+% BY Peter Antman, editors in Firstname Lastname
+FUNCTION {format.in.r.editors}
+{ editor empty$
+ { "" }
+ { editor format.firstname
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.au}
+{ author empty$
+ { "" }
+ {
+ author format.firstname
+ }
+ if$
+}
+FUNCTION {format.auth}
+{ author empty$
+ { editor empty$
+ {author format.key}
+ {editor format.lastname}
+ if$
+ }
+ {
+ author format.lastname
+ }
+ if$
+}
+
+% BY Peter Antman, the repeated
+% should contain name if no other name of the same
+% if more names of the same, then stitle
+% if no stitle, then title
+FUNCTION {short.ref}
+{
+% format.auth
+% ", " *
+% extra.label write$
+ extra.label "" =
+ {
+% format.auth
+ short.list % PANIC this is a bad bypas of not having solved ed.
+ "" * extra.label
+ }
+ { stitle empty$
+ {
+ format.auth
+ ", " * title
+ }
+ {
+ format.auth
+ ", " * stitle
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\harvarditem[" write$
+% short.ref duplicate$ label =
+ "" short.ref * "]" * write$
+ pop$ ""
+ "{" write$
+% pop$ % ERROR, does the right thing but produces error
+ before.all 'output.state :=
+}
+
+FUNCTION {end.bibitem}
+{ "}{" * write$
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ extra.label * "}{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+% extra.label * % BY Peter Antman, removed, not needed in Oxford
+ " (" swap$ * ")" *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s bbl.th * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+% BY Peter Antman, removed comma before bbl.nr if volume empty
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ volume empty$
+ 'skip$
+ { bbl.volume "~" * swap$ * }
+ if$
+ number empty$
+ 'skip$
+ {
+% " " bbl.nr * number tie.or.space.connect *
+ volume empty$
+ { " " bbl.nr * number tie.or.space.connect * }
+ { ", " bbl.nr * number tie.or.space.connect * }
+ if$
+ }
+ if$
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+% By Peter Antman, editors in Firstname Lastname order
+FUNCTION {format.in.r.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in format.in.r.editors * ", " *
+ booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in format.in.editors * ", " *
+ booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.publisher}
+{ publisher empty$
+ % "empty publisher in " cite$ * warning$ %dont like this warning
+ 'skip$
+ 'skip$
+ if$
+ ""
+ add.blank "(" *
+ address empty$
+ 'skip$
+ { address * }
+ if$
+ publisher empty$
+ 'skip$
+ { address empty$
+ 'skip$
+ { ": " * }
+ if$
+ publisher *
+ }
+ if$
+ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+ publisher empty$ address empty$ and
+ { * }
+ { ", " swap$ * * }
+ if$
+ ")" *
+ output
+}
+
+% BY Peter Antman, all types includes full ref
+FUNCTION {article}
+{ output.bibitem
+% pop$ % to get rid of ,
+ format.au "author" output.check % output instead of output check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.date "year" output.check.special
+ note output
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.date "year" output.check.special
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.r.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.au output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ end.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+% note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.au output
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ howpublished output
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors output
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ howpublished output
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.r.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.au output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ end.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+% note output %note moved
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.r.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ note output
+ format.publisher
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ note output
+ format.publisher
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+% note output %note moved
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.r.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ note output
+ publisher empty$
+ { organization output
+% address output
+% format.date "year" output.check
+ format.publisher
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ note output
+ publisher empty$
+ { organization output
+% address output
+% format.date "year" output.check
+ format.publisher
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+% note output % note moved
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.au output
+ author format.key output
+ format.btitle "title" output.check
+ organization output
+% address output
+ format.edition output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors output
+ author format.key output
+ format.btitle "title" output.check
+ organization output
+% address output
+ format.edition output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.au output
+ author format.key output
+ format.title output
+ end.quote.title
+ howpublished output
+ note output
+ format.date "year" output.check.special
+ end.bibitem
+ format.authors output
+ author format.key output
+ format.title output
+ end.quote.title
+ howpublished output
+ note output
+ format.date "year" output.check.special
+ fin.entry
+ write.url
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.r.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+% address output
+ organization output
+% publisher output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+% address output
+ organization output
+% publisher output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ note "note" output.check
+ format.date "year" output.check.special
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ note "note" output.check
+ format.date "year" output.check.special
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " " * "et~al." emphasize * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ ", "
+ *
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {calc.short.label}
+{ calc.short.authors short.list
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ ff{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "aaaaa" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {not.uniq.forw}
+{ last.label short.list =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ short.list 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+% label write$
+}
+
+FUNCTION {not.uniq.rew}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * "" * }
+ if$
+ 'extra.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+% label write$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * "" * }
+ if$
+ 'extra.label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+%ITERATE {forward.pass}
+
+ITERATE {not.uniq.forw}
+
+REVERSE {not.uniq.rew}
+
+%REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+ calc.short.label
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+% "\newcommand{\enquote}[1]{``#1''}"
+% write$ newline$
+% "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+% write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `svenska.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/oxford/oxford_in.bst b/Master/texmf-dist/bibtex/bst/oxford/oxford_in.bst
new file mode 100644
index 00000000000..b586d121e82
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/oxford/oxford_in.bst
@@ -0,0 +1,1889 @@
+%%
+%% This is file `oxford_se.bst', version 0.4
+%% It was first generated with the docstrip utility in custom-bib
+%% and then heavily hacked by Peter Antman.
+%%
+%% This file must still bee considered beta.
+%%
+%% This version is for swedish citation, to get other languages to work
+%% rename it and insert the right bbl.xxx funcions and MACROS from
+%% the right mbd-file, availible with custom-bib. There are two new such
+%% commands, bbl.lq (leftquote) and bbl.rq (rightquote). Here you give
+%% your languages way of quoting titles.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,exlang,ay,har,harnm,vonx,nm-revf,ed-rev,dt-end,yr-col,note-yr,tit-qq,atit-u,vnum-nr,volp-com,jwdvol,add-pub,pub-date,pre-edn,edpar,blk-com,svenska,pp,ed,abr,amper,and-xcom,etal-it,{}')
+%% svenska.mbs (with options: `exlang,ay,har,harnm,vonx,nm-revf,ed-rev,dt-end,yr-col,note-yr,tit-qq,atit-u,vnum-nr,volp-com,jwdvol,add-pub,pub-date,pre-edn,edpar,blk-com,svenska,pp,ed,abr,amper,and-xcom,etal-it,{}')
+%% merlin.mbs (with options: `tail,exlang,ay,har,harnm,vonx,nm-revf,ed-rev,dt-end,yr-col,note-yr,tit-qq,atit-u,vnum-nr,volp-com,jwdvol,add-pub,pub-date,pre-edn,edpar,blk-com,svenska,pp,ed,abr,amper,and-xcom,etal-it,{}')
+%% ----------------------------------------
+%% *** ***
+%%
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{merlin.mbs}[1996/12/16 3.82 (PWD)]
+ %
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ % Copyright (C) 1994, 1995, 1996 Patrick W. Daly
+ % Copyright (C) 1997 Peter Antman, peter.antman@abc.se
+ %-------------------------------------------------------------------
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ %
+ % This is an Oxford style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is oxford.sty by Peter Antman
+ %
+ % The form of the bibitem entries is
+ % \harvarditem[Jones, New thesis]{Howard Jones, FULL ENTRY}{1990}{key}
+ % Jones, Howard, FULL ENTRY
+ %
+ % The style gives the full reference att the first citation and then a
+ % abrevated one.
+ %
+ % The file suports an additional entry in the bib-file, stitle. It is
+ % for all but the first citation, when only lastname, and if there are
+ % more lastnames that are the same, title (and if there is a stitle that
+ % instead).
+ %
+ % oxford.sty also inserts an ibid. if the current citation is the same
+ % as the last one.
+ %---------------------------------------------------------------------
+ %
+ % Hacked by Peter Antman to provide Oxford citation style.
+ % FIX: Year cite not correct everywhere ???
+ % changes version 0.2:
+ % moved note in article
+ % editor and key right in short.ref
+ % changes version 0.3:
+ % fixed editors in cite, now orde Firstname Lastname
+ % removed ( and ) around ed.
+ % removed comma before nr. if volume empty
+ % removed comma before year in article, misc and unpub
+ % changes version 0.4
+ % fixed ", " error produced in ouput.bibitem (thanks to
+ % Oren Patashnik for telling me how to do it)
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ stitle
+ title
+ type
+ URL
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% BY Peter Antman, special function to get rid of comma before
+% year in article, misc and unpub, se also output.check.special
+FUNCTION {output.nonnull.special}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.special}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.special
+ if$
+}
+
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{english.mbs}[1995/05/04 1.1 (PWD)]
+ % Copyright (C) 1994, 1995 Patrick W. Dal
+ %-------------------------------------------------------------------
+
+ % The language selected here is ENGLISH
+
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edn." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis"}
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+% BY Peter Antman, new functions bbl.lq bbl.rq
+FUNCTION {bbl.lq}
+{ "'" }
+
+FUNCTION {bbl.rq}
+{ "'" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+ % End of language definition file
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+FUNCTION {write.url}
+{ URL empty$
+ { skip$ }
+ { "\newline\harvardurl{" URL * "}" * write$ newline$ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ format.names }
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ {
+ author format.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ {
+ editor format.names
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ bbl.lq swap$ * % BY Peter Antman, uses bbl.lq
+ non.stop
+ { bbl.rq * ", " * } % BY Peter Antman, uses bbl.rq
+ { bbl.rq * " " * } % PROBLEM: comma after title in book
+ if$
+ }
+ if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+ 'skip$
+ { before.all 'output.state := }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+% BY Peter Antman, function to format long cite
+FUNCTION {format.firstname}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff }{jj }{vv }{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% BY Peter Antman, function to format lastname
+FUNCTION {format.lastname}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll}{}{}{}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% By Peter Antman, to format eds as Firstname Lastname
+FUNCTION {format.r.editors}
+{ editor empty$
+ { "" }
+ {
+ editor format.firstname
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+% BY Peter Antman, editors in Firstname Lastname
+FUNCTION {format.in.r.editors}
+{ editor empty$
+ { "" }
+ { editor format.firstname
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.au}
+{ author empty$
+ { "" }
+ {
+ author format.firstname
+ }
+ if$
+}
+FUNCTION {format.auth}
+{ author empty$
+ { editor empty$
+ {author format.key}
+ {editor format.lastname}
+ if$
+ }
+ {
+ author format.lastname
+ }
+ if$
+}
+
+% BY Peter Antman, the repeated
+% should contain name if no other name of the same
+% if more names of the same, then stitle
+% if no stitle, then title
+FUNCTION {short.ref}
+{
+% format.auth
+% ", " *
+% extra.label write$
+ extra.label "" =
+ {
+% format.auth
+ short.list % PANIC this is a bad bypas of not having solved ed.
+ "" * extra.label
+ }
+ { stitle empty$
+ {
+ format.auth
+ ", " * title
+ }
+ {
+ format.auth
+ ", " * stitle
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\harvarditem[" write$
+% short.ref duplicate$ label =
+ "" short.ref * "]" * write$
+ pop$ ""
+ "{" write$
+% pop$ % ERROR, does the right thing but produces error
+ before.all 'output.state :=
+}
+
+FUNCTION {end.bibitem}
+{ "}{" * write$
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ extra.label * "}{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+% extra.label * % BY Peter Antman, removed, not needed in Oxford
+ " (" swap$ * ")" *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s bbl.th * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+% BY Peter Antman, removed comma before bbl.nr if volume empty
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ volume empty$
+ 'skip$
+ { bbl.volume "~" * swap$ * }
+ if$
+ number empty$
+ 'skip$
+ {
+% " " bbl.nr * number tie.or.space.connect *
+ volume empty$
+ { " " bbl.nr * number tie.or.space.connect * }
+ { ", " bbl.nr * number tie.or.space.connect * }
+ if$
+ }
+ if$
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+% By Peter Antman, editors in Firstname Lastname order
+FUNCTION {format.in.r.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in format.in.r.editors * ", " *
+ booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in format.in.editors * ", " *
+ booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.publisher}
+{ publisher empty$
+ % "empty publisher in " cite$ * warning$ %dont like this warning
+ 'skip$
+ 'skip$
+ if$
+ ""
+ add.blank "(" *
+ address empty$
+ 'skip$
+ { address * }
+ if$
+ publisher empty$
+ 'skip$
+ { address empty$
+ 'skip$
+ { ": " * }
+ if$
+ publisher *
+ }
+ if$
+ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+ publisher empty$ address empty$ and
+ { * }
+ { ", " swap$ * * }
+ if$
+ ")" *
+ output
+}
+
+% BY Peter Antman, all types includes full ref
+FUNCTION {article}
+{ output.bibitem
+% pop$ % to get rid of ,
+ format.au "author" output.check % output instead of output check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.date "year" output.check.special
+ note output
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.date "year" output.check.special
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.r.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.au output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ end.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+% note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.au output
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ howpublished output
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors output
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ howpublished output
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.r.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.au output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ end.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+% note output %note moved
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.r.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ note output
+ format.publisher
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ note output
+ format.publisher
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+% note output %note moved
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.r.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ note output
+ publisher empty$
+ { organization output
+% address output
+% format.date "year" output.check
+ format.publisher
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ note output
+ publisher empty$
+ { organization output
+% address output
+% format.date "year" output.check
+ format.publisher
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+% note output % note moved
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.au output
+ author format.key output
+ format.btitle "title" output.check
+ organization output
+% address output
+ format.edition output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors output
+ author format.key output
+ format.btitle "title" output.check
+ organization output
+% address output
+ format.edition output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.au output
+ author format.key output
+ format.title output
+ end.quote.title
+ howpublished output
+ note output
+ format.date "year" output.check.special
+ end.bibitem
+ format.authors output
+ author format.key output
+ format.title output
+ end.quote.title
+ howpublished output
+ note output
+ format.date "year" output.check.special
+ fin.entry
+ write.url
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.r.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+% address output
+ organization output
+% publisher output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+% address output
+ organization output
+% publisher output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ note "note" output.check
+ format.date "year" output.check.special
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ note "note" output.check
+ format.date "year" output.check.special
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " " * "et~al." emphasize * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ ", "
+ *
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {calc.short.label}
+{ calc.short.authors short.list
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ ff{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "aaaaa" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {not.uniq.forw}
+{ last.label short.list =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ short.list 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+% label write$
+}
+
+FUNCTION {not.uniq.rew}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * "" * }
+ if$
+ 'extra.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+% label write$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * "" * }
+ if$
+ 'extra.label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+%ITERATE {forward.pass}
+
+ITERATE {not.uniq.forw}
+
+REVERSE {not.uniq.rew}
+
+%REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+ calc.short.label
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+% "\newcommand{\enquote}[1]{``#1''}"
+% write$ newline$
+% "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+% write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `svenska.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/oxford/oxford_se.bst b/Master/texmf-dist/bibtex/bst/oxford/oxford_se.bst
new file mode 100644
index 00000000000..fcb3d408bc1
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/oxford/oxford_se.bst
@@ -0,0 +1,1890 @@
+%%
+%% This is file `oxford_se.bst', version 0.4
+%% It was first generated with the docstrip utility in custom-bib
+%% and then heavily hacked by Peter Antman.
+%%
+%% This file must still bee considered beta.
+%%
+%% This version is for swedish citation, to get other languages to work
+%% rename it and insert the right bbl.xxx funcions and MACROS from
+%% the right mbd-file, availible with custom-bib. There are two new such
+%% commands, bbl.lq (leftquote) and bbl.rq (rightquote). Here you give
+%% your languages way of quoting titles.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,exlang,ay,har,harnm,vonx,nm-revf,ed-rev,dt-end,yr-col,note-yr,tit-qq,atit-u,vnum-nr,volp-com,jwdvol,add-pub,pub-date,pre-edn,edpar,blk-com,svenska,pp,ed,abr,amper,and-xcom,etal-it,{}')
+%% svenska.mbs (with options: `exlang,ay,har,harnm,vonx,nm-revf,ed-rev,dt-end,yr-col,note-yr,tit-qq,atit-u,vnum-nr,volp-com,jwdvol,add-pub,pub-date,pre-edn,edpar,blk-com,svenska,pp,ed,abr,amper,and-xcom,etal-it,{}')
+%% merlin.mbs (with options: `tail,exlang,ay,har,harnm,vonx,nm-revf,ed-rev,dt-end,yr-col,note-yr,tit-qq,atit-u,vnum-nr,volp-com,jwdvol,add-pub,pub-date,pre-edn,edpar,blk-com,svenska,pp,ed,abr,amper,and-xcom,etal-it,{}')
+%% ----------------------------------------
+%% *** ***
+%%
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{merlin.mbs}[1996/12/16 3.82 (PWD)]
+ %
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ % Copyright (C) 1994, 1995, 1996 Patrick W. Daly
+ % Copyright (C) 1997 Peter Antman, peter.antman@abc.se
+ %-------------------------------------------------------------------
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ %
+ % This is an Oxford style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is oxford.sty by Peter Antman
+ %
+ % The form of the bibitem entries is
+ % \harvarditem[Jones, New thesis]{Howard Jones, FULL ENTRY}{1990}{key}
+ % Jones, Howard, FULL ENTRY
+ %
+ % The style gives the full reference att the first citation and then a
+ % abrevated one.
+ %
+ % The file suports an additional entry in the bib-file, stitle. It is
+ % for all but the first citation, when only lastname, and if there are
+ % more lastnames that are the same, title (and if there is a stitle that
+ % instead).
+ %
+ % oxford.sty also inserts an ibid. if the current citation is the same
+ % as the last one.
+ %---------------------------------------------------------------------
+ %
+ % Hacked by Peter Antman to provide Oxford citation style.
+ % FIX: Year cite not correct everywhere ???
+ % changes version 0.2:
+ % moved note in article
+ % editor and key right in short.ref
+ % changes version 0.3:
+ % fixed editors in cite, now orde Firstname Lastname
+ % removed ( and ) around ed.
+ % removed comma before nr. if volume empty
+ % removed comma before year in article, misc and unpub
+ % changes version 0.4
+ % fixed ", " error produced in ouput.bibitem (thanks to
+ % Oren Patashnik for telling me how to do it)
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ stitle
+ title
+ type
+ URL
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% BY Peter Antman, special function to get rid of comma before
+% year in article, misc and unpub, se also output.check.special
+FUNCTION {output.nonnull.special}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check.special}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull.special
+ if$
+}
+
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{svenska.mbs}[1995/08/07 1.0 (RL/PWD)]
+ % Copyright (C) 1997, Peter Antman
+ %-------------------------------------------------------------------
+
+ % The language selected here is SVENSKA
+
+FUNCTION {bbl.and}
+{ "och"}
+
+FUNCTION {bbl.editors}
+{ "red." }
+
+FUNCTION {bbl.editor}
+{ "red." }
+
+FUNCTION {bbl.edby}
+{ "redigerad av" }
+
+FUNCTION {bbl.edition}
+{ "uppl." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "av" }
+
+FUNCTION {bbl.number}
+{ "nr." }
+
+FUNCTION {bbl.nr}
+{ "nr." }
+
+FUNCTION {bbl.in}
+{ "i" }
+
+FUNCTION {bbl.pages}
+{ "ss." }
+
+FUNCTION {bbl.page}
+{ "s." }
+
+FUNCTION {bbl.chapter}
+{ "kap." }
+
+FUNCTION {bbl.techrep}
+{ "Tekn. rap." }
+
+FUNCTION {bbl.mthesis}
+{ "Licenciatavgandling" }
+
+FUNCTION {bbl.phdthesis}
+{ "Doktorgradsavhandling" }
+
+FUNCTION {bbl.first}
+{ "F^^f6rsta" }
+
+FUNCTION {bbl.second}
+{ "Andra" }
+
+FUNCTION {bbl.third}
+{ "Tredje" }
+
+FUNCTION {bbl.fourth}
+{ "Fj^^e4rde" }
+
+FUNCTION {bbl.fifth}
+{ "Femte" }
+
+FUNCTION {bbl.th}
+{ "." }
+
+% BY Peter Antman, new functions bbl.lq bbl.rq
+FUNCTION {bbl.lq}
+{ "''" }
+
+FUNCTION {bbl.rq}
+{ "''" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"Maj"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+ % End of language definition file
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+FUNCTION {write.url}
+{ URL empty$
+ { skip$ }
+ { "\newline\harvardurl{" URL * "}" * write$ newline$ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ format.names }
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ {
+ author format.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ {
+ editor format.names
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ bbl.lq swap$ * % BY Peter Antman, uses bbl.lq
+ non.stop
+ { bbl.rq * ", " * } % BY Peter Antman, uses bbl.rq
+ { bbl.rq * " " * } % PROBLEM: comma after title in book
+ if$
+ }
+ if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+ 'skip$
+ { before.all 'output.state := }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+% BY Peter Antman, function to format long cite
+FUNCTION {format.firstname}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff }{jj }{vv }{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% BY Peter Antman, function to format lastname
+FUNCTION {format.lastname}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll}{}{}{}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% By Peter Antman, to format eds as Firstname Lastname
+FUNCTION {format.r.editors}
+{ editor empty$
+ { "" }
+ {
+ editor format.firstname
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+% BY Peter Antman, editors in Firstname Lastname
+FUNCTION {format.in.r.editors}
+{ editor empty$
+ { "" }
+ { editor format.firstname
+ editor num.names$ #1 >
+ { " " * bbl.editors * "" * }
+ { " " * bbl.editor * "" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.au}
+{ author empty$
+ { "" }
+ {
+ author format.firstname
+ }
+ if$
+}
+FUNCTION {format.auth}
+{ author empty$
+ { editor empty$
+ {author format.key}
+ {editor format.lastname}
+ if$
+ }
+ {
+ author format.lastname
+ }
+ if$
+}
+
+% BY Peter Antman, the repeated
+% should contain name if no other name of the same
+% if more names of the same, then stitle
+% if no stitle, then title
+FUNCTION {short.ref}
+{
+% format.auth
+% ", " *
+% extra.label write$
+ extra.label "" =
+ {
+% format.auth
+ short.list % PANIC this is a bad bypas of not having solved ed.
+ "" * extra.label
+ }
+ { stitle empty$
+ {
+ format.auth
+ ", " * title
+ }
+ {
+ format.auth
+ ", " * stitle
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\harvarditem[" write$
+% short.ref duplicate$ label =
+ "" short.ref * "]" * write$
+ pop$ ""
+ "{" write$
+% pop$ % ERROR, does the right thing but produces error
+ before.all 'output.state :=
+}
+
+FUNCTION {end.bibitem}
+{ "}{" * write$
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ extra.label * "}{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+% extra.label * % BY Peter Antman, removed, not needed in Oxford
+ " (" swap$ * ")" *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s bbl.th * 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+% BY Peter Antman, removed comma before bbl.nr if volume empty
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ volume empty$
+ 'skip$
+ { bbl.volume "~" * swap$ * }
+ if$
+ number empty$
+ 'skip$
+ {
+% " " bbl.nr * number tie.or.space.connect *
+ volume empty$
+ { " " bbl.nr * number tie.or.space.connect * }
+ { ", " bbl.nr * number tie.or.space.connect * }
+ if$
+ }
+ if$
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+% By Peter Antman, editors in Firstname Lastname order
+FUNCTION {format.in.r.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in format.in.r.editors * ", " *
+ booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in format.in.editors * ", " *
+ booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.publisher}
+{ publisher empty$
+ % "empty publisher in " cite$ * warning$ %dont like this warning
+ 'skip$
+ 'skip$
+ if$
+ ""
+ add.blank "(" *
+ address empty$
+ 'skip$
+ { address * }
+ if$
+ publisher empty$
+ 'skip$
+ { address empty$
+ 'skip$
+ { ": " * }
+ if$
+ publisher *
+ }
+ if$
+ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+ publisher empty$ address empty$ and
+ { * }
+ { ", " swap$ * * }
+ if$
+ ")" *
+ output
+}
+
+% BY Peter Antman, all types includes full ref
+FUNCTION {article}
+{ output.bibitem
+% pop$ % to get rid of ,
+ format.au "author" output.check % output instead of output check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.date "year" output.check.special
+ note output
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.date "year" output.check.special
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.r.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.au output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ end.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+% note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.au output
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ howpublished output
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors output
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ howpublished output
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.r.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.au output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ end.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ note output
+ format.publisher
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+% note output %note moved
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.r.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ note output
+ format.publisher
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ note output
+ format.publisher
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+% note output %note moved
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.r.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ note output
+ publisher empty$
+ { organization output
+% address output
+% format.date "year" output.check
+ format.publisher
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ note output
+ publisher empty$
+ { organization output
+% address output
+% format.date "year" output.check
+ format.publisher
+ }
+ { organization output
+ format.publisher
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+% note output % note moved
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.au output
+ author format.key output
+ format.btitle "title" output.check
+ organization output
+% address output
+ format.edition output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors output
+ author format.key output
+ format.btitle "title" output.check
+ organization output
+% address output
+ format.edition output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.au output
+ author format.key output
+ format.title output
+ end.quote.title
+ howpublished output
+ note output
+ format.date "year" output.check.special
+ end.bibitem
+ format.authors output
+ author format.key output
+ format.title output
+ end.quote.title
+ howpublished output
+ note output
+ format.date "year" output.check.special
+ fin.entry
+ write.url
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.r.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+% address output
+ organization output
+% publisher output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+% address output
+ organization output
+% publisher output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" output.check
+% address output
+ note output
+% format.date "year" output.check
+ format.publisher
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.au "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ note "note" output.check
+ format.date "year" output.check.special
+ end.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ end.quote.title
+ note "note" output.check
+ format.date "year" output.check.special
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " " * "et~al." emphasize * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " * "et~al." emphasize * }
+ { " \harvardand\ " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ ", "
+ *
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {calc.short.label}
+{ calc.short.authors short.list
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ ff{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "aaaaa" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {not.uniq.forw}
+{ last.label short.list =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ short.list 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+% label write$
+}
+
+FUNCTION {not.uniq.rew}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * "" * }
+ if$
+ 'extra.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+% label write$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" swap$ * "" * }
+ if$
+ 'extra.label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+%ITERATE {forward.pass}
+
+ITERATE {not.uniq.forw}
+
+REVERSE {not.uniq.rew}
+
+%REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+ calc.short.label
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+% "\newcommand{\enquote}[1]{``#1''}"
+% write$ newline$
+% "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+% write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `svenska.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/perception/perception.bst b/Master/texmf-dist/bibtex/bst/perception/perception.bst
new file mode 100644
index 00000000000..3a752891473
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/perception/perception.bst
@@ -0,0 +1,1584 @@
+%%
+%% This is file `perception.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `,ay,nat,nm-rv,keyxyr,dt-beg,yr-com,yrp-x,note-yr,tit-qq,qx,bt-qq,vol-bf,vnum-x,volp-blk,pp-last,jnm-x,add-pub,pub-par,pre-edn,url,url-nl,blk-com,com-blank,fin-bare,pp,ed,ord,amper,xand')
+%% ----------------------------------------
+%% *** for the Pion journal Perception ***
+%%
+%% Copyright 1994-1999 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[1999/05/28 3.89 (PWD)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ duplicate$ empty$
+ 'pop$
+ 'write$
+ if$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ add.blank
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edition" }
+
+FUNCTION {bbl.volume}
+{ "volume" }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "number" }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chapter" }
+
+FUNCTION {bbl.techrep}
+{ "Technical Report" }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+FUNCTION {write.url}
+{ url empty$
+ { skip$ }
+ { "\newline\urlprefix\url{" url * "}" * write$ newline$ }
+ if$
+}
+
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{ jj}{ f{~}}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f{~}~}{vv~}{ll}{ jj}"
+ format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ ", " *
+ editor num.names$ #1 >
+ 'bbl.editors
+ 'bbl.editor
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ editor num.names$ #1 >
+ { ", " * bbl.editors * }
+ { ", " * bbl.editor * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ "\enquote{" swap$ *
+ "} " *
+ }
+ if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+ 'skip$
+ { before.all 'output.state := }
+ if$
+}
+
+FUNCTION {end.quote.btitle}
+{ booktitle empty$
+ 'skip$
+ { before.all 'output.state := }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ "\&"
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ ", " swap$ *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ {
+ " " *
+ pages n.dashify *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ bolden
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ { "" }
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ }
+ if$
+}
+
+FUNCTION {bt.enquote}
+{ "\enquote{" swap$ *
+ "}, " *
+}
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle bt.enquote * }
+ { word.in format.in.editors * ", " *
+ booktitle bt.enquote * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ add.blank "(" *
+ address empty$
+ 'skip$
+ { address * }
+ if$
+ t empty$
+ 'skip$
+ { address empty$
+ 'skip$
+ { ": " * }
+ if$
+ t *
+ }
+ if$
+ ")" *
+ }
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$
+ ""
+ }
+ { publisher }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { organization }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ add.blank
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.journal.pages
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ howpublished output
+ address output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.pages "pages" output.check
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ end.quote.btitle
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ format.publisher.address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ end.quote.btitle
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization output
+ address output
+ format.edition output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ end.quote.title
+ howpublished output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ format.note "note" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ }
+ { " \& " * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "????" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\newcommand{\enquote}[1]{``#1''}"
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname url\endcsname\relax"
+ write$ newline$
+ " \def\url#1{{\tt #1}}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `perception.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/revtex/apsrev.bst b/Master/texmf-dist/bibtex/bst/revtex/apsrev.bst
new file mode 100644
index 00000000000..0d887568901
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/revtex/apsrev.bst
@@ -0,0 +1,2380 @@
+%%
+%% This is file `apsrev.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% physjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% geojour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% photjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% merlin.mbs (with options: `tail,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible apsrev.bst 1702 ***
+%%
+%% Copyright 1994-2000 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2000/05/04 4.01 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ archive
+ author
+ booktitle
+ chapter
+ collaboration
+ edition
+ editor
+ eid
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ numpages
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bib.name.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibnamefont{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bib.fname.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibfnamefont{" swap$ * "}" * }
+ if$
+}
+FUNCTION {cite.name.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\citenamefont{" swap$ * "}" * }
+ if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "ed." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.eidpp}
+{ "pages" }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %-------------------------------------------------------------------
+
+ % Begin module:
+
+
+ % \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (PWD)]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MACRO {aa}{"Astron. \& Astrophys."}
+
+
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+
+
+MACRO {aj} {"Astron. J."}
+
+
+MACRO {aph} {"Acta Phys."}
+
+MACRO {advp} {"Adv. Phys."}
+
+MACRO {ajp} {"Amer. J. Phys."}
+
+MACRO {ajm} {"Amer. J. Math."}
+
+MACRO {amsci} {"Amer. Sci."}
+
+MACRO {anofd} {"Ann. Fluid Dyn."}
+
+MACRO {am} {"Ann. Math."}
+
+MACRO {ap} {"Ann. Phys. (NY)"}
+
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+
+MACRO {ao} {"Appl. Opt."}
+
+MACRO {apl} {"Appl. Phys. Lett."}
+
+MACRO {app} {"Astroparticle Phys."}
+
+MACRO {apj} {"Astrophys. J."}
+
+
+MACRO {apjsup} {"Astrophys. J. Suppl."}
+
+
+MACRO {apss} {"Astrophys. Space Sci."}
+
+
+MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
+
+
+MACRO {baas} {"Bull. Amer. Astron. Soc."}
+
+
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+
+MACRO {cmp} {"Comm. Math. Phys."}
+
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+
+MACRO {cpc} {"Comp. Phys. Comm."}
+
+MACRO {cqg} {"Class. Quant. Grav."}
+
+MACRO {cra} {"C. R. Acad. Sci. A"}
+
+MACRO {fed} {"Fusion Eng. \& Design"}
+
+MACRO {ft} {"Fusion Tech."}
+
+MACRO {grg} {"Gen. Relativ. Gravit."}
+
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+
+MACRO {ip} {"Infrared Phys."}
+
+MACRO {irp} {"Infrared Phys."}
+
+MACRO {jap} {"J. Appl. Phys."}
+
+MACRO {jasa} {"J. Acoust. Soc. America"}
+
+MACRO {jcp} {"J. Comp. Phys."}
+
+MACRO {jetp} {"Sov. Phys.--JETP"}
+
+MACRO {jfe} {"J. Fusion Energy"}
+
+MACRO {jfm} {"J. Fluid Mech."}
+
+MACRO {jmp} {"J. Math. Phys."}
+
+MACRO {jne} {"J. Nucl. Energy"}
+
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+
+MACRO {jnm} {"J. Nucl. Mat."}
+
+MACRO {jpc} {"J. Phys. Chem."}
+
+MACRO {jpp} {"J. Plasma Phys."}
+
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+
+MACRO {jsi} {"J. Sci. Instrum."}
+
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+
+MACRO {nat} {"Nature"}
+
+MACRO {nature} {"Nature"}
+
+
+
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+
+MACRO {nf} {"Nucl. Fusion"}
+
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+
+MACRO {np} {"Nucl. Phys."}
+
+MACRO {npb} {"Nucl. Phys. B"}
+
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+
+MACRO {inc} {"Nuovo Cimento"}
+
+MACRO {nc} {"Nuovo Cimento"}
+
+MACRO {pf} {"Phys. Fluids"}
+
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+
+MACRO {pl} {"Phys. Lett."}
+
+MACRO {pla} {"Phys. Lett. A"}
+
+MACRO {plb} {"Phys. Lett. B"}
+
+MACRO {prep} {"Phys. Rep."}
+
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+
+MACRO {pp} {"Phys. Plasmas"}
+
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+
+MACRO {prl} {"Phys. Rev. Lett."}
+
+MACRO {pr} {"Phys. Rev."}
+
+MACRO {physrev} {"Phys. Rev."}
+
+MACRO {pra} {"Phys. Rev. A"}
+
+MACRO {prb} {"Phys. Rev. B"}
+
+MACRO {prc} {"Phys. Rev. C"}
+
+MACRO {prd} {"Phys. Rev. D"}
+
+MACRO {pre} {"Phys. Rev. E"}
+
+MACRO {ps} {"Phys. Scripta"}
+
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+
+MACRO {rmp} {"Rev. Mod. Phys."}
+
+MACRO {rsi} {"Rev. Sci. Inst."}
+
+MACRO {science} {"Science"}
+
+
+MACRO {sciam} {"Sci. Am."}
+
+MACRO {sam} {"Stud. Appl. Math."}
+
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+
+MACRO {spd} {"Sov. Phys.--Doklady"}
+
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+
+MACRO {st} {"Sky and Telesc."}
+
+
+
+
+
+ % End module: physjour.mbs
+
+
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[1999/11/16 2.0g (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos. Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agr. Res."}
+MACRO {aumet} {"Aust. Meteorol. Mag."}
+MACRO {blmet} {"Bound.-Lay. Meteorol."}
+MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Clim. Dynam."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sens."}
+MACRO {jam} {"J. Appl. Meteorol."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Meteorol. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Weather Rev."}
+MACRO {nwd} {"Natl. Weather Dig."}
+MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteorol."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteorol."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather Forecast."}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteorol."}
+ % End module: geojour.mbs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %-------------------------------------------------------------------
+
+ % Begin module:
+
+
+ % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MACRO {appopt} {"Appl. Opt."}
+
+MACRO {bell} {"Bell Syst. Tech. J."}
+
+MACRO {ell} {"Electron. Lett."}
+
+MACRO {jasp} {"J. Appl. Spectr."}
+
+MACRO {jqe} {"IEEE J. Quantum Electron."}
+
+MACRO {jlwt} {"J. Lightwave Technol."}
+
+MACRO {jmo} {"J. Mod. Opt."}
+
+MACRO {josa} {"J. Opt. Soc. America"}
+
+MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
+
+MACRO {josab} {"J. Opt. Soc. Amer.~B"}
+
+MACRO {jdp} {"J. Phys. (Paris)"}
+
+MACRO {oc} {"Opt. Commun."}
+
+MACRO {ol} {"Opt. Lett."}
+
+MACRO {phtl} {"IEEE Photon. Technol. Lett."}
+
+MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+
+MACRO {sse} {"Solid-State Electron."}
+
+MACRO {sjot} {"Sov. J. Opt. Technol."}
+
+MACRO {sjqe} {"Sov. J. Quantum Electron."}
+
+MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
+
+MACRO {stph} {"Sov. Phys.--Techn. Phys."}
+
+MACRO {stphl} {"Sov. Techn. Phys. Lett."}
+
+MACRO {vr} {"Vision Res."}
+
+MACRO {zph} {"Z. f. Physik"}
+
+MACRO {zphb} {"Z. f. Physik~B"}
+
+MACRO {zphd} {"Z. f. Physik~D"}
+
+MACRO {CLEO} {"CLEO"}
+
+MACRO {ASSL} {"Adv. Sol.-State Lasers"}
+
+MACRO {OSA} {"OSA"}
+
+
+
+
+ % End module: photjour.mbs
+
+
+
+%% Copyright 1994-2000 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ "\bibinfo{" swap$ * "}{" * swap$ * "}" *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ "\bibinfo{" swap$ * "}{" * swap$ * "}" *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.eprint}
+{ eprint duplicate$ empty$
+ 'skip$
+ { "\eprint"
+ archive empty$
+ 'skip$
+ { "[" * archive * "]" * }
+ if$
+ "{" * swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\urlprefix\url{" url * "}" * }
+ if$
+}
+
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.}" format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font *
+ s nameptr
+ "{jj}" format.name$ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ *
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #0
+ #10 +
+ #1 + =
+ numnames #0
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal bib.name.font *
+ }
+ {
+ bbl.and
+ bib.name.font
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ format.names
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+ duplicate$ empty$ 'skip$
+ { collaboration "collaboration" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " (" swap$ * ")" * }
+ if$
+ *
+ }
+ if$
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ *
+ }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$
+ { skip$ }
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #0
+ #10 +
+ #1 + =
+ numnames #0
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????"
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+}
+FUNCTION {format.date.misc}
+{
+ year empty$ 'skip$ {
+ format.date "year" output.check
+ } if$
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ convert.edition
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ first.page
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$
+ numpages empty$ 'skip$
+ { bbl.eidpp numpages tie.or.space.prefix
+ "numpages" bibinfo.check * *
+ " (" swap$ * ")" * *
+ }
+ if$
+ }
+ if$ *
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ bolden
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ add.blank "(" *
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ { "year" bibinfo.check extra.label * }
+ if$
+ t empty$ address empty$ and
+ { * }
+ { ", " swap$ * * }
+ if$
+ ")" *
+}
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ crossref missing$
+ {
+ ""
+ journal
+ duplicate$ empty$
+ { pop$ pop$ } {
+ "journal" bibinfo.check
+ * "journal" output.check
+ add.blank
+ } if$
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ format.edition output
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title "title" output.check
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.publisher.address output
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ format.edition output
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.publisher.address output
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.edition output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.btitle "title" output.check
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title output
+ howpublished "howpublished" bibinfo.check output
+ format.date.misc
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date.misc
+ format.note "note" output.check
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #0
+ #10 +
+ #1 + =
+ numnames #0
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+INTEGERS { seq.num }
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+EXECUTE {init.seq}
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+ #-1 #10 substring$
+}
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ seq.num #1 + 'seq.num :=
+ seq.num int.to.fix
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname bibnamefont\endcsname\relax"
+ write$ newline$
+ " \def\bibnamefont#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname bibfnamefont\endcsname\relax"
+ write$ newline$
+ " \def\bibfnamefont#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname citenamefont\endcsname\relax"
+ write$ newline$
+ " \def\citenamefont#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname url\endcsname\relax"
+ write$ newline$
+ " \def\url#1{\texttt{#1}}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
+ write$ newline$
+ "\providecommand{\bibinfo}[2]{#2}"
+ write$ newline$
+ "\providecommand{\eprint}[2][]{\url{#2}}"
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `apsrev.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/revtex/apsrmp.bst b/Master/texmf-dist/bibtex/bst/revtex/apsrmp.bst
new file mode 100644
index 00000000000..b603eadcb50
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/revtex/apsrmp.bst
@@ -0,0 +1,2359 @@
+%%
+%% This is file `apsrmp.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%% physjour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%% geojour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%% photjour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%% merlin.mbs (with options: `tail,ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible apsrmp.bst 1702 ***
+%%
+%% Copyright 1994-2000 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2000/05/04 4.01 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ archive
+ author
+ booktitle
+ chapter
+ collaboration
+ edition
+ editor
+ eid
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ numpages
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bib.name.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibnamefont{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bib.fname.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibfnamefont{" swap$ * "}" * }
+ if$
+}
+FUNCTION {cite.name.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\citenamefont{" swap$ * "}" * }
+ if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edition" }
+
+FUNCTION {bbl.volume}
+{ "volume" }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "number" }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.eidpp}
+{ "pages" }
+
+FUNCTION {bbl.chapter}
+{ "chapter" }
+
+FUNCTION {bbl.techrep}
+{ "Technical Report" }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %-------------------------------------------------------------------
+
+ % Begin module:
+
+
+ % \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (PWD)]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MACRO {aa}{"Astron. \& Astrophys."}
+
+
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+
+
+MACRO {aj} {"Astron. J."}
+
+
+MACRO {aph} {"Acta Phys."}
+
+MACRO {advp} {"Adv. Phys."}
+
+MACRO {ajp} {"Amer. J. Phys."}
+
+MACRO {ajm} {"Amer. J. Math."}
+
+MACRO {amsci} {"Amer. Sci."}
+
+MACRO {anofd} {"Ann. Fluid Dyn."}
+
+MACRO {am} {"Ann. Math."}
+
+MACRO {ap} {"Ann. Phys. (NY)"}
+
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+
+MACRO {ao} {"Appl. Opt."}
+
+MACRO {apl} {"Appl. Phys. Lett."}
+
+MACRO {app} {"Astroparticle Phys."}
+
+MACRO {apj} {"Astrophys. J."}
+
+
+MACRO {apjsup} {"Astrophys. J. Suppl."}
+
+
+MACRO {apss} {"Astrophys. Space Sci."}
+
+
+MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
+
+
+MACRO {baas} {"Bull. Amer. Astron. Soc."}
+
+
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+
+MACRO {cmp} {"Comm. Math. Phys."}
+
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+
+MACRO {cpc} {"Comp. Phys. Comm."}
+
+MACRO {cqg} {"Class. Quant. Grav."}
+
+MACRO {cra} {"C. R. Acad. Sci. A"}
+
+MACRO {fed} {"Fusion Eng. \& Design"}
+
+MACRO {ft} {"Fusion Tech."}
+
+MACRO {grg} {"Gen. Relativ. Gravit."}
+
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+
+MACRO {ip} {"Infrared Phys."}
+
+MACRO {irp} {"Infrared Phys."}
+
+MACRO {jap} {"J. Appl. Phys."}
+
+MACRO {jasa} {"J. Acoust. Soc. America"}
+
+MACRO {jcp} {"J. Comp. Phys."}
+
+MACRO {jetp} {"Sov. Phys.--JETP"}
+
+MACRO {jfe} {"J. Fusion Energy"}
+
+MACRO {jfm} {"J. Fluid Mech."}
+
+MACRO {jmp} {"J. Math. Phys."}
+
+MACRO {jne} {"J. Nucl. Energy"}
+
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+
+MACRO {jnm} {"J. Nucl. Mat."}
+
+MACRO {jpc} {"J. Phys. Chem."}
+
+MACRO {jpp} {"J. Plasma Phys."}
+
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+
+MACRO {jsi} {"J. Sci. Instrum."}
+
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+
+MACRO {nat} {"Nature"}
+
+MACRO {nature} {"Nature"}
+
+
+
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+
+MACRO {nf} {"Nucl. Fusion"}
+
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+
+MACRO {np} {"Nucl. Phys."}
+
+MACRO {npb} {"Nucl. Phys. B"}
+
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+
+MACRO {inc} {"Nuovo Cimento"}
+
+MACRO {nc} {"Nuovo Cimento"}
+
+MACRO {pf} {"Phys. Fluids"}
+
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+
+MACRO {pl} {"Phys. Lett."}
+
+MACRO {pla} {"Phys. Lett. A"}
+
+MACRO {plb} {"Phys. Lett. B"}
+
+MACRO {prep} {"Phys. Rep."}
+
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+
+MACRO {pp} {"Phys. Plasmas"}
+
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+
+MACRO {prl} {"Phys. Rev. Lett."}
+
+MACRO {pr} {"Phys. Rev."}
+
+MACRO {physrev} {"Phys. Rev."}
+
+MACRO {pra} {"Phys. Rev. A"}
+
+MACRO {prb} {"Phys. Rev. B"}
+
+MACRO {prc} {"Phys. Rev. C"}
+
+MACRO {prd} {"Phys. Rev. D"}
+
+MACRO {pre} {"Phys. Rev. E"}
+
+MACRO {ps} {"Phys. Scripta"}
+
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+
+MACRO {rmp} {"Rev. Mod. Phys."}
+
+MACRO {rsi} {"Rev. Sci. Inst."}
+
+MACRO {science} {"Science"}
+
+
+MACRO {sciam} {"Sci. Am."}
+
+MACRO {sam} {"Stud. Appl. Math."}
+
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+
+MACRO {spd} {"Sov. Phys.--Doklady"}
+
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+
+MACRO {st} {"Sky and Telesc."}
+
+
+
+
+
+ % End module: physjour.mbs
+
+
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[1999/11/16 2.0g (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos. Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agr. Res."}
+MACRO {aumet} {"Aust. Meteorol. Mag."}
+MACRO {blmet} {"Bound.-Lay. Meteorol."}
+MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Clim. Dynam."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sens."}
+MACRO {jam} {"J. Appl. Meteorol."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Meteorol. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Weather Rev."}
+MACRO {nwd} {"Natl. Weather Dig."}
+MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteorol."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteorol."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather Forecast."}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteorol."}
+ % End module: geojour.mbs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %-------------------------------------------------------------------
+
+ % Begin module:
+
+
+ % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MACRO {appopt} {"Appl. Opt."}
+
+MACRO {bell} {"Bell Syst. Tech. J."}
+
+MACRO {ell} {"Electron. Lett."}
+
+MACRO {jasp} {"J. Appl. Spectr."}
+
+MACRO {jqe} {"IEEE J. Quantum Electron."}
+
+MACRO {jlwt} {"J. Lightwave Technol."}
+
+MACRO {jmo} {"J. Mod. Opt."}
+
+MACRO {josa} {"J. Opt. Soc. America"}
+
+MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
+
+MACRO {josab} {"J. Opt. Soc. Amer.~B"}
+
+MACRO {jdp} {"J. Phys. (Paris)"}
+
+MACRO {oc} {"Opt. Commun."}
+
+MACRO {ol} {"Opt. Lett."}
+
+MACRO {phtl} {"IEEE Photon. Technol. Lett."}
+
+MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+
+MACRO {sse} {"Solid-State Electron."}
+
+MACRO {sjot} {"Sov. J. Opt. Technol."}
+
+MACRO {sjqe} {"Sov. J. Quantum Electron."}
+
+MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
+
+MACRO {stph} {"Sov. Phys.--Techn. Phys."}
+
+MACRO {stphl} {"Sov. Techn. Phys. Lett."}
+
+MACRO {vr} {"Vision Res."}
+
+MACRO {zph} {"Z. f. Physik"}
+
+MACRO {zphb} {"Z. f. Physik~B"}
+
+MACRO {zphd} {"Z. f. Physik~D"}
+
+MACRO {CLEO} {"CLEO"}
+
+MACRO {ASSL} {"Adv. Sol.-State Lasers"}
+
+MACRO {OSA} {"OSA"}
+
+
+
+
+ % End module: photjour.mbs
+
+
+
+%% Copyright 1994-2000 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ "\bibinfo{" swap$ * "}{" * swap$ * "}" *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ "\bibinfo{" swap$ * "}{" * swap$ * "}" *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.eprint}
+{ eprint duplicate$ empty$
+ 'skip$
+ { "\eprint"
+ archive empty$
+ 'skip$
+ { "[" * archive * "]" * }
+ if$
+ "{" * swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\urlprefix\url{" url * "}" * }
+ if$
+}
+
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ nameptr #1 >
+ { "{f.}" format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font *
+ s nameptr
+ "{jj}" format.name$ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ }
+ { "{vv~}{ll}" format.name$ bib.name.font
+ s nameptr
+ "{f.}{, jj}"
+ format.name$ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ }
+ if$
+ *
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #2
+ #10 +
+ #1 + =
+ numnames #2
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.}" format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font *
+ s nameptr
+ "{jj}" format.name$ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ *
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+ duplicate$ empty$ 'skip$
+ { collaboration "collaboration" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " (" swap$ * ")" * }
+ if$
+ *
+ }
+ if$
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " *
+ get.bbl.editor
+ "(" swap$ * ")" *
+ *
+ }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$
+ { skip$ }
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #2
+ #10 +
+ #1 + =
+ numnames #2
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ cite.name.font
+ " " * bbl.etal emphasize *
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????"
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ ", " swap$ *
+}
+FUNCTION {format.date.misc}
+{
+ format.date "year" output.check
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ first.page
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$
+ numpages empty$ 'skip$
+ { bbl.eidpp numpages tie.or.space.prefix
+ "numpages" bibinfo.check * *
+ " (" swap$ * ")" * *
+ }
+ if$
+ }
+ if$ *
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ bolden
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "(" swap$ * ")" *
+ }
+ if$ *
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ { "" }
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ add.blank "(" *
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ ")" *
+ }
+ if$
+}
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ crossref missing$
+ {
+ ""
+ journal
+ duplicate$ empty$
+ { pop$ pop$ } {
+ "journal" bibinfo.check
+ * "journal" output.check
+ add.blank
+ } if$
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ }
+ if$
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+ format.issn output
+ format.note output
+ journal empty$ volume empty$ or {
+ format.eprint output
+ } {} if$
+ format.url output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.publisher.address output
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ format.pages "pages" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.publisher.address output
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.edition output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date.misc
+ date.block
+ format.title output
+ howpublished "howpublished" bibinfo.check output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ format.note "note" output.check
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ cite.name.font
+ " " * bbl.etal emphasize *
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal emphasize *
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #2
+ #10 +
+ #1 + =
+ numnames #2
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname bibnamefont\endcsname\relax"
+ write$ newline$
+ " \def\bibnamefont#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname bibfnamefont\endcsname\relax"
+ write$ newline$
+ " \def\bibfnamefont#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname citenamefont\endcsname\relax"
+ write$ newline$
+ " \def\citenamefont#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname url\endcsname\relax"
+ write$ newline$
+ " \def\url#1{\texttt{#1}}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
+ write$ newline$
+ "\providecommand{\bibinfo}[2]{#2}"
+ write$ newline$
+ "\providecommand{\eprint}[2][]{\url{#2}}"
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `apsrmp.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/savetrees/savetrees.bst b/Master/texmf-dist/bibtex/bst/savetrees/savetrees.bst
new file mode 100644
index 00000000000..fe015c5b38e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/savetrees/savetrees.bst
@@ -0,0 +1,1420 @@
+%%
+%% This is file `savetrees.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% savetrees.dtx (with options: `bibstyle')
+%%
+%% The original, *original* source files were:
+%%
+%% merlin.mbs (with options: `,lang,nm-init,ed-au,nmdash,nmlm,x2,m2,isbn,issn,pp,ed,abr,ednx,xedn,jabr,nfss')
+%%
+%% In addition, Scott Pakin <scott+st@pakin.org> slightly modified this
+%% file by hand.
+%% ----------------------------------------
+%% *** Extremely abbreviated BibTeX style ***
+%%
+%% Copyright 1994-1999 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[1999/05/28 3.89 (PWD)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is a numerical citation style, and as such is standard LaTeX.
+ % It requires no extra package to interface to the main text.
+ % The form of the \bibitem entries is
+ % \bibitem{key}...
+ % Usage of \cite is as follows:
+ % \cite{key} ==>> [#]
+ % \cite[chap. 2]{key} ==>> [#, chap. 2]
+ % where # is a number determined by the ordering in the reference list.
+ % The order in the reference list is alphabetical by authors.
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ new.block
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "ed." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #2
+ #1 + =
+ numnames #2
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ format.names }
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ ", " *
+ editor num.names$ #1 >
+ 'bbl.editors
+ 'bbl.editor
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ editor num.names$ #1 >
+ { ", " * bbl.editors * }
+ { ", " * bbl.editor * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ {
+ new.block
+ "ISBN " isbn * }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ {
+ new.block
+ "ISSN " issn * }
+ if$
+}
+
+FUNCTION {select.language}
+{ duplicate$ empty$
+ 'pop$
+ { language empty$
+ 'skip$
+ { "{\selectlanguage{" language * "}" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { "\savetreesbibnote{"
+ note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ *
+ "}" * *
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$
+ select.language
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ " " * }
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+ select.language
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " " * bbl.edition * }
+ { edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ {
+ ":" *
+ pages n.dashify *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ {
+ "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ format.journal.pages
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in format.in.editors * ", " *
+ booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { word.in journal emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume capitalize
+ volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { word.in booktitle emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address empty$
+ 'skip$
+ { address * }
+ if$
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher empty$
+ { "empty publisher in " cite$ * warning$
+ ""
+ }
+ { publisher }
+ if$
+ format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { organization }
+ if$
+ format.org.or.pub
+}
+
+STRINGS {oldname}
+
+FUNCTION {name.or.dash}
+{ 's :=
+ oldname empty$
+ { s 'oldname := s }
+ { s oldname =
+ { "---" }
+ { s 'oldname := s }
+ if$
+ }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ name.or.dash
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ name.or.dash
+ }
+ { format.authors output.nonnull
+ name.or.dash
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ name.or.dash
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ format.date output
+ format.isbn output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ name.or.dash
+ }
+ { format.authors output.nonnull
+ name.or.dash
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ name.or.dash
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ format.publisher.address output
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ name.or.dash
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization output
+ format.publisher.address output
+ }
+ if$
+ format.date "year" output.check
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ name.or.dash
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ name.or.dash
+ new.block
+ format.btitle "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ name.or.dash
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ format.note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ name.or.dash
+ new.block
+ format.btitle "title" output.check
+ new.block
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ name.or.dash
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ editor empty$
+ { publisher empty$
+ 'skip$
+ {
+ new.sentence
+ format.publisher.address output
+ }
+ if$
+ }
+ { publisher empty$
+ {
+ new.sentence
+ format.organization.address output }
+ {
+ new.sentence
+ organization output
+ format.publisher.address output
+ }
+ if$
+ }
+ if$
+ format.date "year" output.check
+ format.isbn output
+ format.issn output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ name.or.dash
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ name.or.dash
+ new.block
+ format.title "title" output.check
+ format.date output
+ new.block
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #2
+ #1 + =
+ numnames #2
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname selectlanguage\endcsname\relax"
+ write$ newline$
+ " \def\selectlanguage#1{\relax}\fi"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `savetrees.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/smflatex/smfalpha.bst b/Master/texmf-dist/bibtex/bst/smflatex/smfalpha.bst
new file mode 100644
index 00000000000..390575b3b56
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/smflatex/smfalpha.bst
@@ -0,0 +1,1279 @@
+%%
+%% This is file `smfalpha.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% smfbib.dtx (with options: `alpha')
+%%
+%%% ==================================================================== %%%
+%%% FORMATS BibTeX SMF
+%%% Styles BibTeX pour la SMF
+%%% (c) A. Chambert-Loir et SMF, 1996-98
+%%% ==================================================================== %%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+%% @BibTeX-style-file{"smfplain.bst"
+%% date="1998/06/15",
+%% version="v0.1"}
+%% Types of entries currently allowed in a BibTeX file:
+%% ARTICLE -- An article from a journal or magazine.
+%% BOOK -- A book with an explicit publisher.
+%% BOOKLET -- A work that is printed and bound,
+%% but without a named publisher or sponsoring institution.
+%% CONFERENCE -- The same as INPROCEEDINGS,
+%% included for Scribe compatibility.
+%% INBOOK -- A part of a book,
+%% which may be a chapter (or section or whatever) and/or a range of pages.
+%% INCOLLECTION -- A part of a book having its own title.
+%% INPROCEEDINGS -- An article in a conference proceedings.
+%% MANUAL -- Technical documentation.
+%% MASTERSTHESIS -- A Master's thesis.
+%% MISC -- Use this type when nothing else fits.
+%% PHDTHESIS -- A PhD thesis.
+%% PROCEEDINGS -- The proceedings of a conference.
+%% TECHREPORT -- A report published by a school or other institution,
+%% usually numbered within a series.
+%% UNPUBLISHED -- A document having an author and title, but not formally
+%% published.
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label extra.same.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.name }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'after.name :=
+ #2 'mid.sentence :=
+}
+
+
+STRINGS { s t }
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {guillemetize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\og " swap$ * "\fg}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\scshape " swap$ * "}" * }
+ if$
+}
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+{ "-" *
+ t #2 global.max$ substring$ 't :=
+}
+ while$
+ }
+ if$
+}
+{ t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+}
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {add.space.if.necessary}
+{ duplicate$ "" =
+ 'skip$
+ { " " * }
+ if$
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state after.name =
+ { extra.same.label "\bysame" =
+ { ", " * write$ }
+ { " -- " * write$ }
+ if$
+ mid.sentence 'output.state := }
+ { output.state mid.sentence =
+ { ", " * write$ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ after.name 'output.state := }
+ if$ }
+ if$
+ s
+}
+
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+
+FUNCTION {missing.warning}
+{ "missing " swap$ * " in " * cite$ * warning$ }
+
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ t missing.warning }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+
+FUNCTION {format.language}
+{ language empty$
+ { "" }
+ { " (" language * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+{ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+{ "" * }
+'skip$
+ if$
+ t "others" =
+{ " {\normalfont et~al.}" * }
+{ " {\normalfont \smfandname} " * t * }
+ if$
+ }
+ if$
+}
+'t
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { extra.same.label "\bysame" =
+ { "\bysame " }
+ { author format.names scapify }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { extra.same.label "\bysame" =
+ { "\bysame " }
+ { editor format.names scapify }
+ if$
+ editor num.names$ #1 >
+ { " (\smfedsname)" * }
+ { " (\smfedname)" * }
+ if$
+ "\nomorebysame" 'extra.same.label :=
+ }
+ if$
+}
+
+FUNCTION {format.nonauthor.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+{ ", \smfedsname" * }
+{ ", \smfedname" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ guillemetize }
+ if$
+}
+
+FUNCTION {format.journal.vol.year}
+{ journal empty$
+ { "journal name" missing.warning ""}
+ { journal emphasize }
+ if$
+ volume empty$
+ 'skip$
+ { " \textbf{" * volume * "}" * }
+ if$
+ year empty$
+ { "year" missing.warning }
+ { " (" * year * ")" * }
+ if$
+}
+
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "no.~" number * }
+ if$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+{ "" }
+{ "there's a month but no year in " cite$ * warning$
+ month
+}
+ if$
+ }
+ { month empty$
+'year
+{ month " " * year * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.bookvolume.series.number}
+{ volume empty$
+ { "" % Push the empty string as a placeholder in case everything else
+ % is empty too.
+ series empty$
+ 'skip$
+ { pop$ series } % if series is not empty put in stack
+ if$
+ number empty$
+ 'skip$
+ { duplicate$ empty$ % if no preceding material,
+ 'skip$ % do nothing, otherwise
+ { ", " * } % add a comma and space to separate.
+ if$
+ "no." number tie.or.space.connect * % add the number information
+ }
+ if$
+ }
+%% If the volume is NOT EMPTY:
+ { "vol." volume tie.or.space.connect % vol. XX
+ number empty$
+ { series empty$
+ 'skip$
+ { series ", " * swap$ *} % Series Name, vol. XX
+ if$
+ }
+ { series empty$
+ { "can't use both volume and number if series info is missing"
+ warning$
+ "in BibTeX entry type `" type$ * "'" * top$
+ }
+ { ", " * series * ", no." * number tie.or.space.connect }
+ if$
+ }
+ if$
+ }
+ if$
+
+} % end of format.bookvolume.series.number
+
+%% format.inproc.title.where.editors is used by inproceedings entry types
+
+FUNCTION {format.inproc.title.address.editors}
+{ booktitle empty$
+ { "" }
+%% Emphasizing the title. We want initial caps, roman.
+ { booktitle emphasize }
+ if$
+%% We add parentheses around the address (place where conference
+%% was held).
+ address empty$
+ 'skip$
+ { add.space.if.necessary "(" * address * ")" * }
+ if$
+%% Likewise we add parentheses around the editors' names.
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+}
+
+%% format.incoll.title.editors is similar to format.inproc... but
+%% omits the address. For collections that are not proceedings volumes.
+
+FUNCTION {format.incoll.title.editors}
+{ booktitle empty$
+ { "" }
+%% No case changing or emphasizing for the title. We want initial
+%% caps, roman.
+ { booktitle }
+ if$
+%% We add parentheses around the editors' names.
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ series empty$
+ { number empty$
+ { "" }
+ { "there's a number but no series in " cite$ * warning$ }
+ if$
+ }
+ { series
+ number empty$
+ 'skip$
+ { "\ \textbf{" * number * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+{ edition "l" change.case$ " \smfedname" * }
+{ edition "t" change.case$ " \smfedname" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { "p.~" pages n.dashify * }
+ if$
+}
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+{ "p.~" pages n.dashify * }
+{ "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+{ "ch.~" }
+{ type "l" change.case$ " " * }
+ if$
+ chapter *
+ pages empty$
+'skip$
+{ ", " * format.book.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+}
+{ "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " \smfandname\ " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol." volume tie.or.space.connect
+ " de " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+{ series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+}
+{ key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ key empty$
+ { booktitle empty$
+ { editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { "need editor, key, or booktitle for " cite$ * "to crossref " *
+ crossref * warning$ "" }
+ { "in " format.crossref.editor * }
+ if$ }
+ { "in \emph{" booktitle * "}" * }
+ if$ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.journal.vol.year output
+ format.number output
+ format.pages "pages" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+ if$
+ }
+ if$
+ format.booktitle "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.booktitle "title" output.check
+ howpublished output
+ address output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+ if$
+ }
+ if$
+ format.title "title" output.check
+ crossref missing$
+ { format.bookvolume.series.number output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.incoll.title.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.inproc.title.address.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+'skip$
+{ organization output.nonnull
+ address output
+}
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.booktitle "title" output.check
+ author empty$
+ { organization empty$
+{ address output }
+'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.booktitle "title" output.check
+ "\smfmastersthesisname" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "\smfphdthesisname" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.booktitle "title" output.check
+ format.bookvolume.series.number output
+ address empty$
+ { editor empty$
+ 'skip$
+{ organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ editor empty$
+'skip$
+{ organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished output
+ format.date output
+ note output
+ format.book.pages output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+FUNCTION {default.type} { misc }
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+{ " " * }
+'skip$
+ if$
+%% s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ s nameptr "{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+{ "et~al" * }
+{ t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+{ "to sort, need author or key in " cite$ * warning$
+ ""
+}
+{ key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+{ key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+}
+{ editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+{ key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+}
+{ "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+{ key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+}
+{ "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+'editor.organization.sort
+{ type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+}
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+STRINGS { longest.label last.sort.label next.extra this.author prev.author }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+ "abcxyz" 'prev.author :=
+ "" 'this.author :=
+}
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+
+ author empty$
+ { editor empty$
+ { "" }
+ 'editor
+ if$
+ }
+ 'author
+ if$
+ 'this.author :=
+ this.author prev.author =
+ { "\bysame" 'extra.same.label := }
+ { "" 'extra.same.label :=
+ this.author "" =
+ { "abcxyz" }
+ 'this.author
+ if$
+ 'prev.author :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+FUNCTION {begin.bib}
+{
+ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\providecommand{\bysame}{\leavevmode ---\ }" write$ newline$
+ "\providecommand{\og}{``}" write$ newline$
+ "\providecommand{\fg}{''}" write$ newline$
+ "\providecommand{\smfandname}{et}" write$ newline$
+ "\providecommand{\smfedsname}{\'eds.}" write$ newline$
+ "\providecommand{\smfedname}{\'ed.}" write$ newline$
+ "\providecommand{\smfmastersthesisname}{M\'emoire}" write$ newline$
+ "\providecommand{\smfphdthesisname}{Th\`ese}" write$ newline$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%% End of file `smfalpha.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/smflatex/smfplain.bst b/Master/texmf-dist/bibtex/bst/smflatex/smfplain.bst
new file mode 100644
index 00000000000..06dad0ea62e
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/smflatex/smfplain.bst
@@ -0,0 +1,1118 @@
+%%
+%% This is file `smfplain.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% smfbib.dtx (with options: `plain')
+%%
+%%% ==================================================================== %%%
+%%% FORMATS BibTeX SMF
+%%% Styles BibTeX pour la SMF
+%%% (c) A. Chambert-Loir et SMF, 1996-98
+%%% ==================================================================== %%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+%% @BibTeX-style-file{"smfplain.bst"
+%% date="1998/06/15",
+%% version="v0.1"}
+%% Types of entries currently allowed in a BibTeX file:
+%% ARTICLE -- An article from a journal or magazine.
+%% BOOK -- A book with an explicit publisher.
+%% BOOKLET -- A work that is printed and bound,
+%% but without a named publisher or sponsoring institution.
+%% CONFERENCE -- The same as INPROCEEDINGS,
+%% included for Scribe compatibility.
+%% INBOOK -- A part of a book,
+%% which may be a chapter (or section or whatever) and/or a range of pages.
+%% INCOLLECTION -- A part of a book having its own title.
+%% INPROCEEDINGS -- An article in a conference proceedings.
+%% MANUAL -- Technical documentation.
+%% MASTERSTHESIS -- A Master's thesis.
+%% MISC -- Use this type when nothing else fits.
+%% PHDTHESIS -- A PhD thesis.
+%% PROCEEDINGS -- The proceedings of a conference.
+%% TECHREPORT -- A report published by a school or other institution,
+%% usually numbered within a series.
+%% UNPUBLISHED -- A document having an author and title, but not formally
+%% published.
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label }
+
+INTEGERS { output.state before.all mid.sentence after.name }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'after.name :=
+ #2 'mid.sentence :=
+}
+
+
+STRINGS { s t }
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {guillemetize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\og " swap$ * "\fg}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\scshape " swap$ * "}" * }
+ if$
+}
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+{ "-" *
+ t #2 global.max$ substring$ 't :=
+}
+ while$
+ }
+ if$
+}
+{ t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+}
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {add.space.if.necessary}
+{ duplicate$ "" =
+ 'skip$
+ { " " * }
+ if$
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state after.name =
+ { extra.label "\bysame" =
+ { ", " * write$ }
+ { " -- " * write$ }
+ if$
+ mid.sentence 'output.state := }
+ { output.state mid.sentence =
+ { ", " * write$ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ after.name 'output.state := }
+ if$ }
+ if$
+ s
+}
+
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+
+FUNCTION {missing.warning}
+{ "missing " swap$ * " in " * cite$ * warning$ }
+
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ t missing.warning }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+
+FUNCTION {format.language}
+{ language empty$
+ { "" }
+ { " (" language * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+{ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+{ "" * }
+'skip$
+ if$
+ t "others" =
+{ " {\normalfont et~al.}" * }
+{ " {\normalfont \smfandname} " * t * }
+ if$
+ }
+ if$
+}
+'t
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { extra.label "\bysame" =
+ { "\bysame " }
+ { author format.names scapify }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { extra.label "\bysame" =
+ { "\bysame " }
+ { editor format.names scapify }
+ if$
+ editor num.names$ #1 >
+ { " (\smfedsname)" * }
+ { " (\smfedname)" * }
+ if$
+ "\nomorebysame" 'extra.label :=
+ }
+ if$
+}
+
+FUNCTION {format.nonauthor.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+{ ", \smfedsname" * }
+{ ", \smfedname" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ guillemetize }
+ if$
+}
+
+FUNCTION {format.journal.vol.year}
+{ journal empty$
+ { "journal name" missing.warning ""}
+ { journal emphasize }
+ if$
+ volume empty$
+ 'skip$
+ { " \textbf{" * volume * "}" * }
+ if$
+ year empty$
+ { "year" missing.warning }
+ { " (" * year * ")" * }
+ if$
+}
+
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "no.~" number * }
+ if$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+{ "" }
+{ "there's a month but no year in " cite$ * warning$
+ month
+}
+ if$
+ }
+ { month empty$
+'year
+{ month " " * year * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.bookvolume.series.number}
+{ volume empty$
+ { "" % Push the empty string as a placeholder in case everything else
+ % is empty too.
+ series empty$
+ 'skip$
+ { pop$ series } % if series is not empty put in stack
+ if$
+ number empty$
+ 'skip$
+ { duplicate$ empty$ % if no preceding material,
+ 'skip$ % do nothing, otherwise
+ { ", " * } % add a comma and space to separate.
+ if$
+ "no." number tie.or.space.connect * % add the number information
+ }
+ if$
+ }
+%% If the volume is NOT EMPTY:
+ { "vol." volume tie.or.space.connect % vol. XX
+ number empty$
+ { series empty$
+ 'skip$
+ { series ", " * swap$ *} % Series Name, vol. XX
+ if$
+ }
+ { series empty$
+ { "can't use both volume and number if series info is missing"
+ warning$
+ "in BibTeX entry type `" type$ * "'" * top$
+ }
+ { ", " * series * ", no." * number tie.or.space.connect }
+ if$
+ }
+ if$
+ }
+ if$
+
+} % end of format.bookvolume.series.number
+
+%% format.inproc.title.where.editors is used by inproceedings entry types
+
+FUNCTION {format.inproc.title.address.editors}
+{ booktitle empty$
+ { "" }
+%% Emphasizing the title. We want initial caps, roman.
+ { booktitle emphasize }
+ if$
+%% We add parentheses around the address (place where conference
+%% was held).
+ address empty$
+ 'skip$
+ { add.space.if.necessary "(" * address * ")" * }
+ if$
+%% Likewise we add parentheses around the editors' names.
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+}
+
+%% format.incoll.title.editors is similar to format.inproc... but
+%% omits the address. For collections that are not proceedings volumes.
+
+FUNCTION {format.incoll.title.editors}
+{ booktitle empty$
+ { "" }
+%% No case changing or emphasizing for the title. We want initial
+%% caps, roman.
+ { booktitle }
+ if$
+%% We add parentheses around the editors' names.
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ series empty$
+ { number empty$
+ { "" }
+ { "there's a number but no series in " cite$ * warning$ }
+ if$
+ }
+ { series
+ number empty$
+ 'skip$
+ { "\ \textbf{" * number * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+{ edition "l" change.case$ " \smfedname" * }
+{ edition "t" change.case$ " \smfedname" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { "p.~" pages n.dashify * }
+ if$
+}
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+{ "p.~" pages n.dashify * }
+{ "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+{ "ch.~" }
+{ type "l" change.case$ " " * }
+ if$
+ chapter *
+ pages empty$
+'skip$
+{ ", " * format.book.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+}
+{ "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " \smfandname\ " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol." volume tie.or.space.connect
+ " de " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+{ series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+}
+{ key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ key empty$
+ { booktitle empty$
+ { editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { "need editor, key, or booktitle for " cite$ * "to crossref " *
+ crossref * warning$ "" }
+ { "in " format.crossref.editor * }
+ if$ }
+ { "in \emph{" booktitle * "}" * }
+ if$ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.journal.vol.year output
+ format.number output
+ format.pages "pages" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+ if$
+ }
+ if$
+ format.booktitle "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.booktitle "title" output.check
+ howpublished output
+ address output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+ if$
+ }
+ if$
+ format.title "title" output.check
+ crossref missing$
+ { format.bookvolume.series.number output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.incoll.title.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.inproc.title.address.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+'skip$
+{ organization output.nonnull
+ address output
+}
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.booktitle "title" output.check
+ author empty$
+ { organization empty$
+{ address output }
+'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.booktitle "title" output.check
+ "\smfmastersthesisname" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "\smfphdthesisname" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.booktitle "title" output.check
+ format.bookvolume.series.number output
+ address empty$
+ { editor empty$
+ 'skip$
+{ organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ editor empty$
+'skip$
+{ organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished output
+ format.date output
+ note output
+ format.book.pages output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+FUNCTION {default.type} { misc }
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+{ " " * }
+'skip$
+ if$
+%% s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ s nameptr "{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+{ "et~al" * }
+{ t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+{ "to sort, need author or key in " cite$ * warning$
+ ""
+}
+{ key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+{ key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+}
+{ editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+{ key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+}
+{ "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+{ key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+}
+{ "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+'editor.organization.sort
+{ type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+}
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+STRINGS { longest.label prev.author this.author }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+ "abcxyz" 'prev.author :=
+ "" 'this.author :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ author empty$
+ { editor empty$
+ { "" }
+ 'editor
+ if$
+ }
+ 'author
+ if$
+ 'this.author :=
+ this.author prev.author =
+ { "\bysame" 'extra.label := }
+ { "" 'extra.label :=
+ this.author "" =
+ { "abcxyz" }
+ 'this.author
+ if$
+ 'prev.author :=
+ }
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\providecommand{\bysame}{\leavevmode ---\ }" write$ newline$
+ "\providecommand{\og}{``}" write$ newline$
+ "\providecommand{\fg}{''}" write$ newline$
+ "\providecommand{\smfandname}{et}" write$ newline$
+ "\providecommand{\smfedsname}{\'eds.}" write$ newline$
+ "\providecommand{\smfedname}{\'ed.}" write$ newline$
+ "\providecommand{\smfmastersthesisname}{M\'emoire}" write$ newline$
+ "\providecommand{\smfphdthesisname}{Th\`ese}" write$ newline$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%% End of file `smfplain.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/spie/spiebib.bst b/Master/texmf-dist/bibtex/bst/spie/spiebib.bst
new file mode 100644
index 00000000000..82a753f597a
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/spie/spiebib.bst
@@ -0,0 +1,1050 @@
+
+% spiebib.bst - Version 2.6
+% for Proc. SPIE, remove comma between journal name and vol.
+% BibTeX bibliography style file for MaxEnt95
+% Essentially same as ieeetr.sty,
+% but with bold journal volume number,
+% no parentheses around editors,
+% and publisher/address fields reversed.
+% July 3, 1995 (kmh) Ken Hanson
+% In "inproceedings" allow 'journal' and avoid complaint
+% if 'booktitle' missing.
+% Dec. 10, 1997 (kmh) Ken Hanson
+% In "inproceedings", 'series' produces the same output as previous 'journal'
+% May 14, 2001 (hto) Hwa-Tung Ong
+% Put 'volume' in bold after 'series' in "collection", "incollection",
+% and "inproceedings".
+% Aug. 29, 2001 (kmh) Ken Hanson
+%
+% IEEE Transactions bibliography style (29-Jan-88 version)
+% numeric labels, order-of-reference, IEEE abbreviations,
+% quotes around article titles, commas separate all fields
+% except after book titles and before "notes". Otherwise,
+% much like the "plain" family, from which this is adapted.
+%
+% History
+% 9/30/85 (HWT) Original version, by Howard Trickey.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `ieeetr' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.quote after.sentence
+ after.quoted.block after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.quote :=
+ #3 'after.sentence :=
+ #4 'after.quoted.block :=
+ #5 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.quote =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.quoted.block =
+ { write$
+ newline$
+ "\newblock " write$
+ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {blank.sep}
+{ after.quote 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ output.state after.quoted.block =
+ 'skip$
+ 'add.period$
+ if$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { output.state after.quote =
+ { after.quoted.block 'output.state := }
+ { after.block 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {bold} %% kmh - new function like emphasize
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " {\em et~al.}" * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "``" title "t" change.case$ * ",''" * }
+ if$
+}
+
+FUNCTION {format.title.p}
+{ title empty$
+ { "" }
+ { "``" title "t" change.case$ * ".''" * }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "no.~" }
+ { "No.~" }
+ if$
+ number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition "l" change.case$ "~ed." * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "(" number * ")" *} %% put number in paren
+%% { "no.~" number * } %% ieeetr
+ if$
+}
+
+FUNCTION {format.journal.volume.number}
+{ journal empty$
+ { "empty " t * " in " * cite$ * warning$ ""}
+ { journal emphasize }
+ if$
+ volume empty$ %% kmh - warning if no volume
+ { "empty volume in " cite$ * warning$ " " *}
+ { " " * volume bold *} %% kmh - make volume bold
+%% { "vol.~" volume * }
+ if$
+ month empty$
+ { format.number *}
+ 'skip$
+ if$
+}
+
+FUNCTION {format.series.volume.number} %% hto01 - similar to format.journal.volume.number
+{ series empty$
+%% { "empty " t * " in " * cite$ * warning$ ""}
+ { "" } %% hto01 - no warning of empty title
+ { series emphasize }
+ if$
+ volume empty$
+ { "" *} %% kmh - no warning if no volume
+ { " " * volume bold *} %% kmh - make volume bold
+%% { "vol.~" volume * }
+ if$
+ month empty$
+ { format.number *}
+ 'skip$
+ if$
+}
+
+% following not used
+FUNCTION {format.volume}
+{ volume empty$
+ { "" }
+ { volume bold } %% kmh - make volume bold
+%% { "vol.~" volume * }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { " in " * booktitle emphasize * ", " *
+ format.editors %% editors without paren.
+% editor empty$ %% ieeetr adds paren.
+% 'skip$
+% { " (" * format.editors * ")" * }
+% if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ output.state after.block =
+ { type "t" change.case$ }
+ { type "l" change.case$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "l" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.addr.pub} %% kmh - not used now
+{ publisher empty$
+ { "" }
+ { address empty$
+ { "" }
+ { address ": " * }
+ if$
+ publisher *
+ }
+ if$
+}
+
+FUNCTION {format.paddress}
+{ address empty$
+ { "" }
+ { "(" address * ")" * }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { " in {\em " journal * "\/}" * }
+ if$
+ }
+ { " in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " {\em et~al.}" * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " {\em et~al.}" * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { " in {\em " booktitle * "\/}" * }
+%% kmh - add space before 'in'
+ if$
+ }
+ { " in " key * } %% kmh - add space before 'in'
+ if$
+ }
+ { " in " format.crossref.editor * }
+%% kmh - add space before 'in'
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { format.journal.volume.number output
+ format.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+%% new.block %% ieeetr, kmh - remove period
+ format.number.series output
+%% format.addr.pub "publisher" output.check %% ieeetr
+ publisher "publisher" output.check %% kmh
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ title empty$
+ { "empty title in " cite$ * warning$
+ howpublished new.sentence.checka
+ }
+ { howpublished empty$ not
+ address empty$ month empty$ year empty$ and and
+ or
+ { format.title.p output.nonnull }
+ { format.title output.nonnull }
+ if$
+ blank.sep
+ }
+ if$
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+%% format.addr.pub "publisher" output.check %% ieeetr
+ publisher "publisher" output.check %% kmh
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { format.in.ed.booktitle "booktitle or editor" output.check
+%% format.bvolume output
+%% format.number.series output
+ format.series.volume.number output %% kmh01
+ format.chapter.pages output
+%% format.addr.pub "publisher" output.check %% ieeetr
+ publisher "publisher" output.check %% kmh
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { format.in.ed.booktitle output %remove check for booktitle
+%% { format.in.ed.booktitle "booktitle" output.check %% unsrt
+ journal empty$
+%% {format.bvolume output %% this is standard unsrt
+%% format.number.series output
+ {format.series.volume.number output %% hto01
+%% moved below format.paddress output
+ format.pages output
+ }
+ {format.journal.volume.number output
+
+%% add jour., vol.,and number
+ format.pages output
+ }
+ if$
+ organization output
+ publisher output
+ format.paddress output %% publ. address moved to here
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title empty$
+ { howpublished new.sentence.checka }
+ { howpublished empty$ not
+ month empty$ year empty$ and
+ or
+ { format.title.p output.nonnull }
+ { format.title output.nonnull }
+ if$
+ blank.sep
+ }
+ if$
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+%% format.bvolume output
+%% format.number.series output
+ format.series.volume.number output %%kmh01
+ format.paddress output
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ blank.sep
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title.p "title" output.check
+ blank.sep
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications ACM"}
+
+MACRO {ibmjrd} {"IBM J. Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Trans. Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Computer-Aided Design"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM J. Computing"}
+
+MACRO {tocs} {"ACM Trans. Computer Systems"}
+
+MACRO {tods} {"ACM Trans. Database Systems"}
+
+MACRO {tog} {"ACM Trans. Graphics"}
+
+MACRO {toms} {"ACM Trans. Mathematical Software"}
+
+MACRO {toois} {"ACM Trans. Office Information Systems"}
+
+MACRO {toplas} {"ACM Trans. Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
diff --git a/Master/texmf-dist/bibtex/bst/swebib/sweabbrv.bst b/Master/texmf-dist/bibtex/bst/swebib/sweabbrv.bst
new file mode 100644
index 00000000000..30c1242b320
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/swebib/sweabbrv.bst
@@ -0,0 +1,1096 @@
+%% sweabbrv.bst (Swedish version of BibTeX standard bibliography style `abbrv')
+%% Copyright 2000 Lars Engebretsen
+%
+% This program may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% This program consists of the files sweabbrv.bst, swealpha.bst, sweplain.bst
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " m.fl." * }
+ { " och " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redaktrer" * }
+ { ", redaktr" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "band" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " av " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "nummer" }
+ { "Nummer" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " i " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " utgva" * }
+ { edition "t" change.case$ " utgva" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "ss" pages n.dashify tie.or.space.connect }
+ { "s" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "kapitel" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "I " booktitle emphasize * }
+ { "I " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Teknisk rapport" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "I {\em " journal * "\/}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " m.fl." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " m.fl." * }
+ { " och " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "I "
+ }
+ { "Band" volume tie.or.space.connect
+ " av " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "I {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ }
+ { "I " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Examensarbete" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Doktorsavhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"jan."}
+
+MACRO {feb} {"febr."}
+
+MACRO {mar} {"mars"}
+
+MACRO {apr} {"april"}
+
+MACRO {may} {"maj"}
+
+MACRO {jun} {"juni"}
+
+MACRO {jul} {"juli"}
+
+MACRO {aug} {"aug."}
+
+MACRO {sep} {"sept."}
+
+MACRO {oct} {"okt."}
+
+MACRO {nov} {"nov."}
+
+MACRO {dec} {"dec."}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/swebib/swealpha.bst b/Master/texmf-dist/bibtex/bst/swebib/swealpha.bst
new file mode 100644
index 00000000000..d5191bfca31
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/swebib/swealpha.bst
@@ -0,0 +1,1256 @@
+%% swealpha.bst (Swedish version of BibTeX standard bibliography style `alpha')
+%% Copyright 2000 Lars Engebretsen
+%
+% This program may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% This program consists of the files sweabbrv.bst, swealpha.bst, sweplain.bst
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " m.fl." * }
+ { " och " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redaktrer" * }
+ { ", redaktr" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "band" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " av " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "nummer" }
+ { "Nummer" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " i " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " utgva" * }
+ { edition "t" change.case$ " utgva" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "ss" pages n.dashify tie.or.space.connect }
+ { "s" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "kapitel" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "I " booktitle emphasize * }
+ { "I " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Teknisk rapport" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "I {\em " journal * "\/}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " m.fl." * }
+ { " och " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "I "
+ }
+ { "Band" volume tie.or.space.connect
+ " av " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "I {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ }
+ { "I " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Examensarbete" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Doktorsavhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"januari"}
+
+MACRO {feb} {"februari"}
+
+MACRO {mar} {"mars"}
+
+MACRO {apr} {"april"}
+
+MACRO {may} {"maj"}
+
+MACRO {jun} {"juni"}
+
+MACRO {jul} {"juli"}
+
+MACRO {aug} {"augusti"}
+
+MACRO {sep} {"september"}
+
+MACRO {oct} {"oktober"}
+
+MACRO {nov} {"november"}
+
+MACRO {dec} {"december"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/swebib/sweplain.bst b/Master/texmf-dist/bibtex/bst/swebib/sweplain.bst
new file mode 100644
index 00000000000..e9ca6644438
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/swebib/sweplain.bst
@@ -0,0 +1,1096 @@
+%% sweplain.bst (Swedish version of BibTeX standard bibliography style `plain')
+%% Copyright 2000 Lars Engebretsen
+%
+% This program may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% This program consists of the files sweabbrv.bst, swealpha.bst, sweplain.bst
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " m.fl." * }
+ { " och " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", redaktrer" * }
+ { ", redaktr" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "band" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " av " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "nummer" }
+ { "Nummer" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " i " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " utgva" * }
+ { edition "t" change.case$ " utgva" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "ss" pages n.dashify tie.or.space.connect }
+ { "s" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "kapitel" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "I " booktitle emphasize * }
+ { "I " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Teknisk rapport" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "I {\em " journal * "\/}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " m.fl." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " m.fl." * }
+ { " och " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "I "
+ }
+ { "Band" volume tie.or.space.connect
+ " av " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "I {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "I " key * }
+ if$
+ }
+ { "I " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Examensarbete" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Doktorsavhandling" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"januari"}
+
+MACRO {feb} {"februari"}
+
+MACRO {mar} {"mars"}
+
+MACRO {apr} {"april"}
+
+MACRO {may} {"maj"}
+
+MACRO {jun} {"juni"}
+
+MACRO {jul} {"juli"}
+
+MACRO {aug} {"augusti"}
+
+MACRO {sep} {"september"}
+
+MACRO {oct} {"oktober"}
+
+MACRO {nov} {"november"}
+
+MACRO {dec} {"december"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/texsis/texsis.bst b/Master/texmf-dist/bibtex/bst/texsis/texsis.bst
new file mode 100644
index 00000000000..ed9e3eb658b
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/texsis/texsis.bst
@@ -0,0 +1,1195 @@
+%%
+%% This is file `texsis.bst', generated
+%% on <1995/9/17> with the docstrip utility (2.2h).
+%%
+%% modified by Bernd Dammann <bernd@fki.dtu.dk> on <1995/9/17>
+%%
+%% The original source files were:
+%%
+%% texsis.mbs (with options: `,seq-no,nm-init,yr-par,tit-qq,atit-u,vol-bf,vnum-sp,volp-com,jpg-1,edpar,edby-par,blk-com,in-col,fin-bare,pp,ed,abr,ord,jabr,etal-it,em-it')
+%% ----------------------------------------
+%% *** ***
+%%
+ %-------------------------------------------------------------------
+ % The original source file contains the following version information:
+ % \ProvidesFile{merlin.mbs}[1995/09/04 3.3 (PWD)]
+ %
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ % Copyright (C) 1994, 1995 Patrick W. Daly
+ %-------------------------------------------------------------------
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is a numerical citation style, and as such is standard LaTeX.
+ % It requires no extra package to interface to the main text.
+ % The form of the \bibitem entries is
+ % \bibitem{key}...
+ % Usage of \cite is as follows:
+ % \cite{key} ==>> [#]
+ % \cite[chap. 2]{key} ==>> [#, chap. 2]
+ % where # is a number determined by the ordering in the reference list.
+ % This is the order in which the works were originally cited in the text.
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ duplicate$ empty$
+ 'pop$
+ 'write$
+ if$
+ newline$
+ "\endreference" write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\it " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edn." }
+
+FUNCTION {bbl.volume}
+{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " " * "et~al." emphasize * }
+ { bbl.and space.word * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (" * bbl.editors * ")" * }
+ { " (" * bbl.editor * ")" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title
+ "\enquote{" swap$ *
+ non.stop
+ { "}, " * }
+ { "} " * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\reference{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ ":" *
+ " " * }
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { bbl.of space.word * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ edition extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { convert.edition "l" change.case$ " " * bbl.edition * }
+ { convert.edition "t" change.case$ " " * bbl.edition * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ bolden
+ number empty$
+ 'skip$
+ {
+ "~(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages first.page * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize *
+ " (" *
+ bbl.edby
+ capitalize
+ * " " *
+ format.in.editors *
+ ")" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { bbl.techrep }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { word.in journal emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " * "et~al." emphasize * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " " * "et~al." emphasize * }
+ { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { bbl.volume volume tie.or.space.connect
+ bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { word.in booktitle emphasize * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ before.all 'output.state :=
+ ", " *
+ "\journal " * journal * ";" *
+ volume * "," *
+ pages first.page *
+ "(" * year * ")" *
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ before.all 'output.state :=
+ howpublished output
+ address output
+ format.date output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ before.all 'output.state :=
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ before.all 'output.state :=
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ {
+ address output
+ }
+ 'skip$
+ if$
+ }
+ {
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ before.all 'output.state :=
+ howpublished output
+ format.date output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ before.all 'output.state :=
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ before.all 'output.state :=
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\def\enquote#1{``#1''}"
+ write$ newline$
+ "\referencelist" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\endreferencelist" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% End of customized bst file
diff --git a/Master/texmf-dist/bibtex/bst/tugboat/ltugbib.bst b/Master/texmf-dist/bibtex/bst/tugboat/ltugbib.bst
new file mode 100644
index 00000000000..aefa8132e93
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/tugboat/ltugbib.bst
@@ -0,0 +1,1181 @@
+%% This is the file `ltugbib.bst', used by the harvardcite option
+%% to the ltug* LaTeX classes.
+%%
+%% \iffalse (this is a meta-comment (so they say))
+%% Copyright (C) 1995,1996,1997,1998,2000,2004 TeX Users Group.
+%% Copying of this file is authorized only if either:
+%% (1) you make absolutely no changes to your copy, OR
+%% (2) if you do make changes, you first rename it to some other name.
+%% \fi
+%%
+%% 7-Jun-04: (all related code marked OP) handle a title ending in, e.g., a
+%% question-mark; otherwise the same as the (CTAN-time) 9-Apr-02 version:
+%%
+%% This file used to be generated from tugboat.dtx, but is now distributed
+%% as a stand-alone file.
+%%
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label long.label short.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ suppress.period } % OP: after quoted title (trivalued)
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #0 'suppress.period := % OP: initialize to FALSE
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { suppress.period #2 = % OP: check for suppression this time
+ { #0 'suppress.period := } % suppress, reset to FALSE
+ 'add.period$
+ if$
+ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ "\protect\citeauthoryear{" long.label * "}{" * write$
+ short.label write$
+ "}{" year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ * extra.label * "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+ suppress.period #1 = % OP: check to suppress period
+ { #2 'suppress.period := } % for current (1st) output
+ 'skip$
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ nameptr #1 =
+ { "{vv~}{ll}{, jj}{, ff}" format.name$ }
+ { "{f.~}{vv~}{ll}{, jj}" format.name$ }
+ if$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " \etal{}" * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.names.ed}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " \etal{}" * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.ed
+ }
+ if$
+}
+
+FUNCTION {quote.period.spacing} % OP: reduce space between quotes and
+{ "\kern -.15em" % period; remove negative kern by
+} % replacing this simply with ""
+
+FUNCTION {format.title} % OP: a period follows the
+{ title empty$ % quotation marks in this style
+ { "" }
+ { title
+ "``" swap$ *
+ duplicate$ "''" * swap$ % OP: create the quoted title
+ duplicate$ add.period$ = % see if title needs period
+ { #1 'suppress.period := } % no: suppress next (2nd) output
+ { quote.period.spacing * } % yes: add desired spacing
+ if$
+ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ "In " }
+
+FUNCTION {format.date}
+{ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ 'skip$
+ if$
+ "\UseExtraLabel{" * extra.label * "}" *
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ bolden
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { word.in booktitle emphasize * }
+ { word.in booktitle emphasize * ", edited by " *
+ format.in.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ word.in
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ "\cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ " " * before.all 'output.state := % OP: sic (preexisting kludge)
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address output
+ new.sentence
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "Ph.D.\ thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output
+ new.sentence
+ organization output
+ publisher output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ % 2nd number of names
+ " \etal{}" *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " \etal{}" * }
+ { " and " * s #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.long.lab.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " \etal{}" * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.key}
+{ author empty$
+ { "{"
+ key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$ *
+ "}" *
+ }
+ 'author
+ if$
+}
+
+FUNCTION {author.editor.key}
+{ author empty$
+ { editor empty$
+ { "{"
+ key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$ *
+ "}" *
+ }
+ 'editor
+ if$
+ }
+ 'author
+ if$
+}
+
+FUNCTION {editor.key}
+{ editor empty$
+ { "{"
+ key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$ *
+ "}" *
+ }
+ 'editor
+ if$
+}
+
+FUNCTION {maybe.other.name.field}
+{ swap$ % [stack: other.field name]
+ duplicate$ empty$ % is the name empty?
+ { pop$ % discard it [stack: other.field]
+ #1 swap$ 'skip$ if$ % try the other one
+ }
+ { swap$ pop$ % discard other.field
+ }
+ if$
+}
+
+FUNCTION {calc.label.names}
+{ type$ "proceedings" =
+ 'editor
+ 'author
+ if$
+ 'editor maybe.other.name.field
+ 'organization maybe.other.name.field
+ 'key maybe.other.name.field
+ { "Cannot create a label name in " cite$ * warning$
+ cite$ #1 #3 substring$ } maybe.other.name.field
+}
+
+FUNCTION {calc.short.label}
+{ calc.label.names format.lab.names
+ 'short.label :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.label
+ short.label ", " *
+ year duplicate$ empty$
+ { pop$ "????" }
+ { purify$ #-1 #4 substring$ }
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {calc.long.label}
+{ calc.label.names format.long.lab.names
+ 'long.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+ calc.long.label
+}
+
+ITERATE {bib.sort.order}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `ltugbib.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/urlbst/abbrvurl.bst b/Master/texmf-dist/bibtex/bst/urlbst/abbrvurl.bst
new file mode 100644
index 00000000000..1a99ffbd620
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/urlbst/abbrvurl.bst
@@ -0,0 +1,1250 @@
+%%% Modification of BibTeX style file /local2/teTeX-1.0/share/texmf/bibtex/bst/base/abbrv.bst
+%%% to add webpage entry type, and url and lastchecked fields
+%%% Edits by urlbst.pl, version 0.1
+%%% (marked with % urlbst.pl)
+%%% Original headers follow...
+% BibTeX standard bibliography style `abbrv'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url % urlbst.pl
+ lastchecked
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } % urlbst.pl
+FUNCTION {init.state.consts}
+{ #0 'outside.brackets := % urlbst.pl
+ #1 'open.brackets :=
+ #2 'within.brackets :=
+ #3 'close.brackets :=
+
+ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+% urlbst.pl
+FUNCTION {output.nonnull.original}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% urlbst.pl...
+FUNCTION {output.nonnull}
+{ % Save the thing we've been asked to output
+ 's :=
+ % If the bracket-state is close.brackets, then add a close-bracket to what's
+ % currently at the top of the stack, and set bracket.state to outside.brackets
+ bracket.state close.brackets =
+ { "]" *
+ outside.brackets 'bracket.state :=
+ }
+ 'skip$
+ if$
+ bracket.state outside.brackets =
+ { % We're outside all brackets -- this is the normal situation.
+ % Write out what's currently at the top of the stack, using the
+ % original output.nonnull function.
+ s
+ output.nonnull.original
+ }
+ { % Still in brackets. Add open-bracket or (continuation) comma, add the
+ % new text (in s) to the top of the stack, and move to the close-brackets
+ % state, ready for next time (unless inbrackets resets it). If we come
+ % into this branch, then output.state is carefully undisturbed.
+ bracket.state open.brackets =
+ { " [" * }
+ { ", " * } % bracket.state will be within.brackets
+ if$
+ s *
+ close.brackets 'bracket.state :=
+ }
+ if$
+}
+
+% Call this function just before adding something which should be presented in
+% brackets. bracket.state is handled specially within output.nonnull.
+FUNCTION {inbrackets}
+{ bracket.state close.brackets =
+ { within.brackets 'bracket.state := } % reset the state: not open nor closed
+ { open.brackets 'bracket.state := }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "Available from World Wide Web: \url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { inbrackets "cited " lastchecked * }
+ if$
+}
+% ...% urlbst.pl
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state := % urlbst.pl
+ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{
+ bracket.state close.brackets = % urlbst.pl
+ { "]" * }
+ 'skip$
+ if$
+ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% urlbst.pl...
+% Output a URL. We can't use the more normal idiom (something like
+% `format.url output'), because the `inbrackets' within
+% format.lastchecked applies to everything between calls to `output',
+% so that `format.url format.lastchecked * output' ends up with both
+% the URL and the lastchecked in brackets.
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block
+ format.url output
+ format.lastchecked output
+ }
+ if$
+}
+
+% Webpage entry type.
+% Title and url fields required;
+% author, note, year, month, and lastchecked fields optional
+% See references
+% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
+% http://www.classroom.net/classroom/CitingNetResources.html
+% http://neal.ctstateu.edu/history/cite.html
+% http://www.cas.usf.edu/english/walker/mla.html
+% for citation formats for web pages.
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ 'skip$
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.title "title" output.check
+ inbrackets "online" output
+ new.block
+ year empty$
+ 'skip$
+ { format.date "year" output.check }
+ if$
+ lastchecked empty$
+ 'skip$
+ { format.lastchecked output }
+ if$
+ new.block
+ format.url "url" output.check
+ new.block
+ note output
+ fin.entry
+}
+% ...% urlbst.pl
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/urlbst/alphaurl.bst b/Master/texmf-dist/bibtex/bst/urlbst/alphaurl.bst
new file mode 100644
index 00000000000..d18332871bd
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/urlbst/alphaurl.bst
@@ -0,0 +1,1410 @@
+%%% Modification of BibTeX style file /local2/teTeX-1.0/share/texmf/bibtex/bst/base/alpha.bst
+%%% to add webpage entry type, and url and lastchecked fields
+%%% Edits by urlbst.pl, version 0.1
+%%% (marked with % urlbst.pl)
+%%% Original headers follow...
+% BibTeX standard bibliography style `alpha'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url % urlbst.pl
+ lastchecked
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } % urlbst.pl
+FUNCTION {init.state.consts}
+{ #0 'outside.brackets := % urlbst.pl
+ #1 'open.brackets :=
+ #2 'within.brackets :=
+ #3 'close.brackets :=
+
+ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+% urlbst.pl
+FUNCTION {output.nonnull.original}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% urlbst.pl...
+FUNCTION {output.nonnull}
+{ % Save the thing we've been asked to output
+ 's :=
+ % If the bracket-state is close.brackets, then add a close-bracket to what's
+ % currently at the top of the stack, and set bracket.state to outside.brackets
+ bracket.state close.brackets =
+ { "]" *
+ outside.brackets 'bracket.state :=
+ }
+ 'skip$
+ if$
+ bracket.state outside.brackets =
+ { % We're outside all brackets -- this is the normal situation.
+ % Write out what's currently at the top of the stack, using the
+ % original output.nonnull function.
+ s
+ output.nonnull.original
+ }
+ { % Still in brackets. Add open-bracket or (continuation) comma, add the
+ % new text (in s) to the top of the stack, and move to the close-brackets
+ % state, ready for next time (unless inbrackets resets it). If we come
+ % into this branch, then output.state is carefully undisturbed.
+ bracket.state open.brackets =
+ { " [" * }
+ { ", " * } % bracket.state will be within.brackets
+ if$
+ s *
+ close.brackets 'bracket.state :=
+ }
+ if$
+}
+
+% Call this function just before adding something which should be presented in
+% brackets. bracket.state is handled specially within output.nonnull.
+FUNCTION {inbrackets}
+{ bracket.state close.brackets =
+ { within.brackets 'bracket.state := } % reset the state: not open nor closed
+ { open.brackets 'bracket.state := }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "Available from World Wide Web: \url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { inbrackets "cited " lastchecked * }
+ if$
+}
+% ...% urlbst.pl
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state := % urlbst.pl
+ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{
+ bracket.state close.brackets = % urlbst.pl
+ { "]" * }
+ 'skip$
+ if$
+ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% urlbst.pl...
+% Output a URL. We can't use the more normal idiom (something like
+% `format.url output'), because the `inbrackets' within
+% format.lastchecked applies to everything between calls to `output',
+% so that `format.url format.lastchecked * output' ends up with both
+% the URL and the lastchecked in brackets.
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block
+ format.url output
+ format.lastchecked output
+ }
+ if$
+}
+
+% Webpage entry type.
+% Title and url fields required;
+% author, note, year, month, and lastchecked fields optional
+% See references
+% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
+% http://www.classroom.net/classroom/CitingNetResources.html
+% http://neal.ctstateu.edu/history/cite.html
+% http://www.cas.usf.edu/english/walker/mla.html
+% for citation formats for web pages.
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ 'skip$
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.title "title" output.check
+ inbrackets "online" output
+ new.block
+ year empty$
+ 'skip$
+ { format.date "year" output.check }
+ if$
+ lastchecked empty$
+ 'skip$
+ { format.lastchecked output }
+ if$
+ new.block
+ format.url "url" output.check
+ new.block
+ note output
+ fin.entry
+}
+% ...% urlbst.pl
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/urlbst/plainurl.bst b/Master/texmf-dist/bibtex/bst/urlbst/plainurl.bst
new file mode 100644
index 00000000000..78fecde3486
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/urlbst/plainurl.bst
@@ -0,0 +1,1250 @@
+%%% Modification of BibTeX style file /local2/teTeX-1.0/share/texmf/bibtex/bst/base/plain.bst
+%%% to add webpage entry type, and url and lastchecked fields
+%%% Edits by urlbst.pl, version 0.1
+%%% (marked with % urlbst.pl)
+%%% Original headers follow...
+% BibTeX standard bibliography style `plain'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url % urlbst.pl
+ lastchecked
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } % urlbst.pl
+FUNCTION {init.state.consts}
+{ #0 'outside.brackets := % urlbst.pl
+ #1 'open.brackets :=
+ #2 'within.brackets :=
+ #3 'close.brackets :=
+
+ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+% urlbst.pl
+FUNCTION {output.nonnull.original}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% urlbst.pl...
+FUNCTION {output.nonnull}
+{ % Save the thing we've been asked to output
+ 's :=
+ % If the bracket-state is close.brackets, then add a close-bracket to what's
+ % currently at the top of the stack, and set bracket.state to outside.brackets
+ bracket.state close.brackets =
+ { "]" *
+ outside.brackets 'bracket.state :=
+ }
+ 'skip$
+ if$
+ bracket.state outside.brackets =
+ { % We're outside all brackets -- this is the normal situation.
+ % Write out what's currently at the top of the stack, using the
+ % original output.nonnull function.
+ s
+ output.nonnull.original
+ }
+ { % Still in brackets. Add open-bracket or (continuation) comma, add the
+ % new text (in s) to the top of the stack, and move to the close-brackets
+ % state, ready for next time (unless inbrackets resets it). If we come
+ % into this branch, then output.state is carefully undisturbed.
+ bracket.state open.brackets =
+ { " [" * }
+ { ", " * } % bracket.state will be within.brackets
+ if$
+ s *
+ close.brackets 'bracket.state :=
+ }
+ if$
+}
+
+% Call this function just before adding something which should be presented in
+% brackets. bracket.state is handled specially within output.nonnull.
+FUNCTION {inbrackets}
+{ bracket.state close.brackets =
+ { within.brackets 'bracket.state := } % reset the state: not open nor closed
+ { open.brackets 'bracket.state := }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "Available from World Wide Web: \url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { inbrackets "cited " lastchecked * }
+ if$
+}
+% ...% urlbst.pl
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state := % urlbst.pl
+ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{
+ bracket.state close.brackets = % urlbst.pl
+ { "]" * }
+ 'skip$
+ if$
+ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% urlbst.pl...
+% Output a URL. We can't use the more normal idiom (something like
+% `format.url output'), because the `inbrackets' within
+% format.lastchecked applies to everything between calls to `output',
+% so that `format.url format.lastchecked * output' ends up with both
+% the URL and the lastchecked in brackets.
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block
+ format.url output
+ format.lastchecked output
+ }
+ if$
+}
+
+% Webpage entry type.
+% Title and url fields required;
+% author, note, year, month, and lastchecked fields optional
+% See references
+% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
+% http://www.classroom.net/classroom/CitingNetResources.html
+% http://neal.ctstateu.edu/history/cite.html
+% http://www.cas.usf.edu/english/walker/mla.html
+% for citation formats for web pages.
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ 'skip$
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.title "title" output.check
+ inbrackets "online" output
+ new.block
+ year empty$
+ 'skip$
+ { format.date "year" output.check }
+ if$
+ lastchecked empty$
+ 'skip$
+ { format.lastchecked output }
+ if$
+ new.block
+ format.url "url" output.check
+ new.block
+ note output
+ fin.entry
+}
+% ...% urlbst.pl
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/bst/urlbst/unsrturl.bst b/Master/texmf-dist/bibtex/bst/urlbst/unsrturl.bst
new file mode 100644
index 00000000000..7c4426bd0dc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/urlbst/unsrturl.bst
@@ -0,0 +1,1104 @@
+%%% Modification of BibTeX style file /local2/teTeX-1.0/share/texmf/bibtex/bst/base/unsrt.bst
+%%% to add webpage entry type, and url and lastchecked fields
+%%% Edits by urlbst.pl, version 0.1
+%%% (marked with % urlbst.pl)
+%%% Original headers follow...
+% BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url % urlbst.pl
+ lastchecked
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } % urlbst.pl
+FUNCTION {init.state.consts}
+{ #0 'outside.brackets := % urlbst.pl
+ #1 'open.brackets :=
+ #2 'within.brackets :=
+ #3 'close.brackets :=
+
+ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+% urlbst.pl
+FUNCTION {output.nonnull.original}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+% urlbst.pl...
+FUNCTION {output.nonnull}
+{ % Save the thing we've been asked to output
+ 's :=
+ % If the bracket-state is close.brackets, then add a close-bracket to what's
+ % currently at the top of the stack, and set bracket.state to outside.brackets
+ bracket.state close.brackets =
+ { "]" *
+ outside.brackets 'bracket.state :=
+ }
+ 'skip$
+ if$
+ bracket.state outside.brackets =
+ { % We're outside all brackets -- this is the normal situation.
+ % Write out what's currently at the top of the stack, using the
+ % original output.nonnull function.
+ s
+ output.nonnull.original
+ }
+ { % Still in brackets. Add open-bracket or (continuation) comma, add the
+ % new text (in s) to the top of the stack, and move to the close-brackets
+ % state, ready for next time (unless inbrackets resets it). If we come
+ % into this branch, then output.state is carefully undisturbed.
+ bracket.state open.brackets =
+ { " [" * }
+ { ", " * } % bracket.state will be within.brackets
+ if$
+ s *
+ close.brackets 'bracket.state :=
+ }
+ if$
+}
+
+% Call this function just before adding something which should be presented in
+% brackets. bracket.state is handled specially within output.nonnull.
+FUNCTION {inbrackets}
+{ bracket.state close.brackets =
+ { within.brackets 'bracket.state := } % reset the state: not open nor closed
+ { open.brackets 'bracket.state := }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "Available from World Wide Web: \url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { inbrackets "cited " lastchecked * }
+ if$
+}
+% ...% urlbst.pl
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state := % urlbst.pl
+ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{
+ bracket.state close.brackets = % urlbst.pl
+ { "]" * }
+ 'skip$
+ if$
+ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pages" pages n.dashify tie.or.space.connect }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% urlbst.pl...
+% Output a URL. We can't use the more normal idiom (something like
+% `format.url output'), because the `inbrackets' within
+% format.lastchecked applies to everything between calls to `output',
+% so that `format.url format.lastchecked * output' ends up with both
+% the URL and the lastchecked in brackets.
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block
+ format.url output
+ format.lastchecked output
+ }
+ if$
+}
+
+% Webpage entry type.
+% Title and url fields required;
+% author, note, year, month, and lastchecked fields optional
+% See references
+% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
+% http://www.classroom.net/classroom/CitingNetResources.html
+% http://neal.ctstateu.edu/history/cite.html
+% http://www.cas.usf.edu/english/walker/mla.html
+% for citation formats for web pages.
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ 'skip$
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.title "title" output.check
+ inbrackets "online" output
+ new.block
+ year empty$
+ 'skip$
+ { format.date "year" output.check }
+ if$
+ lastchecked empty$
+ 'skip$
+ { format.lastchecked output }
+ if$
+ new.block
+ format.url "url" output.check
+ new.block
+ note output
+ fin.entry
+}
+% ...% urlbst.pl
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ output.url % urlbst.pl
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/Master/texmf-dist/bibtex/csf/base/88592pl.csf b/Master/texmf-dist/bibtex/csf/base/88592pl.csf
new file mode 100644
index 00000000000..9d0856ee52b
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/base/88592pl.csf
@@ -0,0 +1,291 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE: 88592pl.csf
+%%
+%% External configuration file for the implementation of BiBTeX with
+%% 8-bit character set support which is available under GNU Public
+%% Licence in CTAN, also ftp.gust.org.pl/TeX/biblio/bibtex/8-bit/
+%%
+%% Prepared by Andrzej Borzyszkowski (A.Borzyszkowski@ipipan.gda.pl)
+%% This file is in the public domain.
+%%
+%% Date: 5 March 1999
+%%
+%% CHARACTER SET: ISO 8859-2
+%%
+%% ISO 8859-2 is the system character set used by Unix/X Window.
+%%
+%% SORTING ORDER: Polish
+%%
+%% Alphabetical sorting order of 0..9Aa..Zz
+%% (including accented characters)
+%% (non-Polish characters are ordered disregarding accents)
+%% (lower-upper case relation is defined for all accented characters)
+%%
+%% WARNING
+%%
+%% This is a BibTeX Codepage and Sort definition file (CSF). It is
+%% used to define the 8-bit character set used by BibTeX and the
+%% order in which those characters should be sorted. The file
+%% format is documented below this header section.
+%%
+%% This file will only work with the 8-bit implementation of BibTeX
+%% written by Niel Kempson and Alejandro Aguilar-Sierra. It is
+%% available by anonymous FTP from these Comprehensive TeX Archive
+%% Network (CTAN) sites:
+%%
+%% ftp.tex.ac.uk:/tex-archive/biblio/bibtex/8-bit
+%% ftp.shsu.edu:/tex-archive/biblio/bibtex/8-bit
+%% ftp.uni-stuttgart.de:/tex-archive/biblio/bibtex/8-bit
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE FORMAT
+%%
+%% The codepage and sorting order (CS) file defines how BibTeX will treat an
+%% 8-bit character set, specifically which characters are to be treated as
+%% letters, the upper/lower case relationships between characters, and the
+%% sorting order of characters.
+%%
+%% The CS file may contain a number of sections, each presented in the
+%% form of a TeX macro:
+%%
+%% \section-name{
+%% <section definitions>
+%% }
+%%
+%% Four sections are currently supported: \lowupcase, \lowercase, \uppercase
+%% and \order. The syntax of the four supported sections is summarised below.
+%%
+%% 8-bit characters may be entered naturally, but to avoid problems with
+%% character set translation or corruption, they can also be entered using
+%% the TeX-style portable notation for character codes, i.e. ^^XX, where XX
+%% is the hexadecimal value ofthe character code.
+%%
+%% Reading of the sections ends when the first '}' character is reached, so
+%% '}' can't be included in a section. You can't use ^^7d either.
+%%
+%% The percent sign ('%') is used to introduce a trailing comment - it and
+%% all remaining characters on a line are ignored. ^^25 has the same effect.
+%%
+%%
+%% \lowupcase section
+%%
+%% The \lowupcase section of the CS file is used to define the lower
+%% /upper and upper/lower case relationship of pairs of specified
+%% characters. It is only used if the relationship is symmetrical - use
+%% \lowercase or \upcase if it isn't.
+%%
+%% The syntax of the \lowupcase section is:
+%%
+%% \lowupcase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% equivalent of <LC-n> is <UC-n> *and* the lower case equivalent of
+%% <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower or upper case equivalent of an ASCII
+%% character (code < 128), so all instances of <LC-n> and <UC-n>
+%% (i.e. both sides of the relationship) must have codes > 127.
+%%
+%%
+%% \lowercase section
+%%
+%% The \lowercase section of the CS file is used to define the lower case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \lowercase section is:
+%%
+%% \lowercase{
+%% <UC-1> <LC-1> % Comment begins with a percent sign
+%% <UC-2> <LC-2>
+%% ...
+%% <UC-N> <LC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the lower case
+%% equivalent of <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower case equivalent of an ASCII character
+%% (code < 128), so all instances of <UC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \uppercase section
+%%
+%% The \uppercase section of the CS file is used to define the upper case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \uppercase section is:
+%%
+%% \uppercase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% case equivalent of <LC-n> is <UC-n>.
+%%
+%% You cannot redefine the upper case equivalent of an ASCII character
+%% (code < 128), so all instances of <LC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \order section
+%%
+%% The \order section of the CS file is used to define the order in which
+%% characters are sorted.
+%%
+%% The syntax of the \order section is:
+%%
+%% \order{
+%% <char-1> % Comment begins with a percent sign
+%% <char-2> <char-3> % whitespace between the chars
+%% <char-4> - <char-5> % a hyphen between the chars
+%% <char-4> _ <char-5> % an underscore between the chars
+%% ...
+%% <char-n>
+%% }
+%%
+%% All characters on the same line are given the same sorting weight.
+%%
+%% The construct <char-1> <underscore> <char-2> is used to denote that
+%% all characters in the range <char-1> to <char-2> should be given the
+%% same sorting weight. For example, "A _ Z"would cause all ASCII
+%% upper case alphabetical characters to have the same sorting weight
+%% and would be equivalent to placing all 26 characters on the same line.
+%%
+%% The construct <char-1> <hyphen> <char-2> is used to denote that all
+%% characters in the range <char-1> to <char-2> should be given an
+%% ascending set of sorting weights, starting with <char-1> and ending
+%% with <char-2>. For example, "A - Z"would cause all upper case ASCII
+%% alphabetical characters to be sorted in ascending order and would be
+%% equivalent to placing 'A' on the first line, 'B' on the second,
+%% through to 'Z' on the 26th line.
+%%
+%% The characters at the beginning of the order section are given a lower
+%% sorting weight than characters occuring later. When sorting
+%% alphabetically, characters with the lowest weight come first.
+%%
+%% All characters not in the \order section (including ASCII characters)
+%% are given the same very high sorting weight to ensure that they come
+%% last when sorting alphabetically.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%
+%% CHARACTER SET
+%%
+%% The ISO 8859-2 code page contains an equal number of upper and lower
+%% case accented characters so we can use the \lowupcase{} section. The
+%% \lowercase{} and \uppercase{} sections are not used.
+%%
+\lowupcase{ % Lowercase Uppercase remarks
+ % Code TeX Code TeX
+ %
+ % ^^e2 \^{a} ^^c2 \^{A}
+ % ^^e3 \u{a} ^^c3 \u{A}
+ % ^^e4 \"{a} ^^c4 \"{A}
+ % ^^e1 \'{a} ^^c1 \'{A}
+ % ^^b1 \k{a} ^^a1 \k{A} OT4
+ % ^^e7 \c{c} ^^c7 \c{C}
+ % ^^e8 \v{c} ^^c8 \v{C}
+ % ^^e6 \'{c} ^^c6 \'{C}
+ % ^^ef \v{d} ^^cf \v{D} d caron
+ % ^^f0 \dj{} ^^d0 \DJ{} eth/ETH, not in OT4
+ % ^^eb \"{e} ^^cb \"{E}
+ % ^^ec \v{e} ^^cc \v{E}
+ % ^^e9 \'{e} ^^c9 \'{E}
+ % ^^ea \k{e} ^^ca \k{E} OT4
+ % ^^ee \^{\i} ^^ce \^{I}
+ % ^^ed \'{\i} ^^cd \'{I}
+ % ^^b5 \v{l} ^^a5 \v{L} l caron
+ % ^^e5 \'{l} ^^c5 \'{L}
+ % ^^b3 \l{} ^^a3 \L{}
+ % ^^f2 \v{n} ^^d2 \v{N}
+ % ^^f1 \'{n} ^^d1 \'{N}
+ % ^^f5 \H{o} ^^d5 \H{O}
+ % ^^f6 \"{o} ^^d6 \"{O}
+ % ^^f4 \^{o} ^^d4 \^{O}
+ % ^^f3 \'{o} ^^d3 \'{O}
+ % ^^e0 \'{r} ^^c0 \'{R}
+ % ^^f8 \v{r} ^^d8 \v{R}
+ % ^^ba \c{s} ^^aa \c{S}
+ % ^^b9 \v{s} ^^a9 \v{S}
+ % ^^b6 \'{s} ^^a6 \'{S}
+ % ^^fe \c{t} ^^de \c{T}
+ % ^^bb \v{t} ^^ab \v{T} t caron
+ % ^^fb \H{u} ^^db \H{U}
+ % ^^fc \"{u} ^^dc \"{U}
+ % ^^f9 \r{u} ^^d9 \r{U}
+ % ^^fa \'{u} ^^da \'{U}
+ % ^^fd \'{y} ^^dd \'{Y}
+ % ^^be \v{z} ^^ae \v{Z}
+ % ^^bc \'{z} ^^ac \'{Z}
+ % ^^bf \.{z} ^^af \.{Z}
+}
+
+
+%%
+%% SORTING ORDER
+%%
+%% The sorting order defined is the natural language sorting order
+%% of 0..9Aa..Zz (including accented characters).
+%% (non-Polish characters are ordered disregarding accents)
+%%
+\order{
+ 0-9
+ a A
+
+ b B
+ c C
+
+ d D
+ e E
+
+ f F
+ g G
+ h H
+ i I
+ j J
+ k K
+ l L
+
+ m M
+ n N
+
+ o O
+
+ p P
+ q Q
+ r R
+ s S
+
+ t T
+ u U
+ v V
+ w W
+ x X
+ y Y
+ z Z
+
+
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END OF FILE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/bibtex/csf/base/cp1250pl.csf b/Master/texmf-dist/bibtex/csf/base/cp1250pl.csf
new file mode 100644
index 00000000000..c1047203ded
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/base/cp1250pl.csf
@@ -0,0 +1,292 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE: cp1250pl.csf
+%%
+%% External configuration file for the implementation of BiBTeX with
+%% 8-bit character set support which is available under GNU Public
+%% Licence in CTAN, also ftp.gust.org.pl/TeX/biblio/bibtex/8-bit/
+%%
+%% Prepared by Andrzej Borzyszkowski (A.Borzyszkowski@ipipan.gda.pl)
+%% This file is in the public domain.
+%%
+%% Date: 5 March 1999
+%%
+%% CHARACTER SET:
+%%
+%% MS Windows encoding for Central and Eastern Europe,
+%% known as Code Page 1250
+%%
+%% SORTING ORDER: Polish
+%%
+%% Alphabetical sorting order of 0..9Aa..Zz
+%% (including accented characters)
+%% (non-Polish characters are ordered disregarding accents)
+%% (lower-upper case relation is defined for all accented characters)
+%%
+%% WARNING
+%%
+%% This is a BibTeX Codepage and Sort definition file (CSF). It is
+%% used to define the 8-bit character set used by BibTeX and the
+%% order in which those characters should be sorted. The file
+%% format is documented below this header section.
+%%
+%% This file will only work with the 8-bit implementation of BibTeX
+%% written by Niel Kempson and Alejandro Aguilar-Sierra. It is
+%% available by anonymous FTP from these Comprehensive TeX Archive
+%% Network (CTAN) sites:
+%%
+%% ftp.tex.ac.uk:/tex-archive/biblio/bibtex/8-bit
+%% ftp.shsu.edu:/tex-archive/biblio/bibtex/8-bit
+%% ftp.uni-stuttgart.de:/tex-archive/biblio/bibtex/8-bit
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE FORMAT
+%%
+%% The codepage and sorting order (CS) file defines how BibTeX will treat an
+%% 8-bit character set, specifically which characters are to be treated as
+%% letters, the upper/lower case relationships between characters, and the
+%% sorting order of characters.
+%%
+%% The CS file may contain a number of sections, each presented in the
+%% form of a TeX macro:
+%%
+%% \section-name{
+%% <section definitions>
+%% }
+%%
+%% Four sections are currently supported: \lowupcase, \lowercase, \uppercase
+%% and \order. The syntax of the four supported sections is summarised below.
+%%
+%% 8-bit characters may be entered naturally, but to avoid problems with
+%% character set translation or corruption, they can also be entered using
+%% the TeX-style portable notation for character codes, i.e. ^^XX, where XX
+%% is the hexadecimal value ofthe character code.
+%%
+%% Reading of the sections ends when the first '}' character is reached, so
+%% '}' can't be included in a section. You can't use ^^7d either.
+%%
+%% The percent sign ('%') is used to introduce a trailing comment - it and
+%% all remaining characters on a line are ignored. ^^25 has the same effect.
+%%
+%%
+%% \lowupcase section
+%%
+%% The \lowupcase section of the CS file is used to define the lower
+%% /upper and upper/lower case relationship of pairs of specified
+%% characters. It is only used if the relationship is symmetrical - use
+%% \lowercase or \upcase if it isn't.
+%%
+%% The syntax of the \lowupcase section is:
+%%
+%% \lowupcase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% equivalent of <LC-n> is <UC-n> *and* the lower case equivalent of
+%% <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower or upper case equivalent of an ASCII
+%% character (code < 128), so all instances of <LC-n> and <UC-n>
+%% (i.e. both sides of the relationship) must have codes > 127.
+%%
+%%
+%% \lowercase section
+%%
+%% The \lowercase section of the CS file is used to define the lower case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \lowercase section is:
+%%
+%% \lowercase{
+%% <UC-1> <LC-1> % Comment begins with a percent sign
+%% <UC-2> <LC-2>
+%% ...
+%% <UC-N> <LC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the lower case
+%% equivalent of <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower case equivalent of an ASCII character
+%% (code < 128), so all instances of <UC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \uppercase section
+%%
+%% The \uppercase section of the CS file is used to define the upper case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \uppercase section is:
+%%
+%% \uppercase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% case equivalent of <LC-n> is <UC-n>.
+%%
+%% You cannot redefine the upper case equivalent of an ASCII character
+%% (code < 128), so all instances of <LC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \order section
+%%
+%% The \order section of the CS file is used to define the order in which
+%% characters are sorted.
+%%
+%% The syntax of the \order section is:
+%%
+%% \order{
+%% <char-1> % Comment begins with a percent sign
+%% <char-2> <char-3> % whitespace between the chars
+%% <char-4> - <char-5> % a hyphen between the chars
+%% <char-4> _ <char-5> % an underscore between the chars
+%% ...
+%% <char-n>
+%% }
+%%
+%% All characters on the same line are given the same sorting weight.
+%%
+%% The construct <char-1> <underscore> <char-2> is used to denote that
+%% all characters in the range <char-1> to <char-2> should be given the
+%% same sorting weight. For example, "A _ Z"would cause all ASCII
+%% upper case alphabetical characters to have the same sorting weight
+%% and would be equivalent to placing all 26 characters on the same line.
+%%
+%% The construct <char-1> <hyphen> <char-2> is used to denote that all
+%% characters in the range <char-1> to <char-2> should be given an
+%% ascending set of sorting weights, starting with <char-1> and ending
+%% with <char-2>. For example, "A - Z"would cause all upper case ASCII
+%% alphabetical characters to be sorted in ascending order and would be
+%% equivalent to placing 'A' on the first line, 'B' on the second,
+%% through to 'Z' on the 26th line.
+%%
+%% The characters at the beginning of the order section are given a lower
+%% sorting weight than characters occuring later. When sorting
+%% alphabetically, characters with the lowest weight come first.
+%%
+%% All characters not in the \order section (including ASCII characters)
+%% are given the same very high sorting weight to ensure that they come
+%% last when sorting alphabetically.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%
+%% CHARACTER SET
+%%
+%% The 1250 code page contains an equal number of upper and lower
+%% case accented characters so we can use the \lowupcase{} section. The
+%% \lowercase{} and \uppercase{} sections are not used.
+%%
+\lowupcase{ % Lowercase Uppercase remarks
+ % Code TeX Code TeX
+ %
+ % ^^e2 \^{a} ^^c2 \^{A}
+ % ^^e3 \u{a} ^^c3 \u{A}
+ % ^^e4 \"{a} ^^c4 \"{A} OT4
+ % ^^e1 \'{a} ^^c1 \'{A}
+ % ^^b9 \k{a} ^^a5 \k{A}
+ % ^^e7 \c{c} ^^c7 \c{C}
+ % ^^e8 \v{c} ^^c8 \v{C}
+ % ^^e6 \'{c} ^^c6 \'{C}
+ % ^^ef \v{d} ^^cf \v{D} d caron
+ % ^^f0 \dj{} ^^d0 \DJ{} eth/ETH, not in OT4
+ % ^^eb \"{e} ^^cb \"{E}
+ % ^^ec \v{e} ^^cc \v{E}
+ % ^^e9 \'{e} ^^c9 \'{E}
+ % ^^ea \k{e} ^^ca \k{E} OT4
+ % ^^ee \^{\i} ^^ce \^{I}
+ % ^^ed \'{\i} ^^cd \'{I}
+ % ^^be \v{l} ^^bc \v{L} l caron
+ % ^^e5 \'{l} ^^c5 \'{L}
+ % ^^b3 \l{} ^^a3 \L{}
+ % ^^f2 \v{n} ^^d2 \v{N}
+ % ^^f1 \'{n} ^^d1 \'{N}
+ % ^^f5 \H{o} ^^d5 \H{O}
+ % ^^f6 \"{o} ^^d6 \"{O}
+ % ^^f4 \^{o} ^^d4 \^{O}
+ % ^^f3 \'{o} ^^d3 \'{O}
+ % ^^e0 \'{r} ^^c0 \'{R}
+ % ^^f8 \v{r} ^^d8 \v{R}
+ % ^^ba \c{s} ^^aa \c{S}
+ % ^^9a \v{s} ^^8a \v{S}
+ % ^^9c \'{s} ^^8c \'{S}
+ % ^^fe \c{t} ^^de \c{T}
+ % ^^9d \v{t} ^^8d \v{T} t caron
+ % ^^fb \H{u} ^^db \H{U}
+ % ^^fc \"{u} ^^dc \"{U}
+ % ^^f9 \r{u} ^^d9 \r{U}
+ % ^^fa \'{u} ^^da \'{U}
+ % ^^fd \'{y} ^^dd \'{Y}
+ % ^^9e \v{z} ^^8e \v{Z}
+ % ^^9f \'{z} ^^8f \'{Z}
+ % ^^bf \.{z} ^^af \.{Z}
+}
+
+
+%%
+%% SORTING ORDER
+%%
+%% The sorting order defined is the natural language sorting order
+%% of 0..9Aa..Zz (including accented characters).
+%% (non-Polish characters are ordered disregarding accents)
+%%
+\order{
+ 0-9
+ a A
+
+ b B
+ c C
+
+ d D
+ e E
+
+ f F
+ g G
+ h H
+ i I
+ j J
+ k K
+ l L
+
+ m M
+ n N
+
+ o O
+
+ p P
+ q Q
+ r R
+ s S
+
+ t T
+ u U
+ v V
+ w W
+ x X
+ y Y
+ z Z
+
+
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END OF FILE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/bibtex/csf/base/cp852pl.csf b/Master/texmf-dist/bibtex/csf/base/cp852pl.csf
new file mode 100644
index 00000000000..cbb8136bfb0
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/base/cp852pl.csf
@@ -0,0 +1,292 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE: cp852pl.csf
+%%
+%% External configuration file for the implementation of BiBTeX with
+%% 8-bit character set support which is available under GNU Public
+%% Licence in CTAN, also ftp.gust.org.pl/TeX/biblio/bibtex/8-bit/
+%%
+%% Prepared by Andrzej Borzyszkowski (A.Borzyszkowski@ipipan.gda.pl)
+%% This file is in the public domain.
+%%
+%% Date: 5 March 1999
+%%
+%% CHARACTER SET: IBM Code Page 852
+%%
+%% Code page 852 for Central and Eastern Europe is used by
+%% DOS and OS/2 systems.
+%%
+%% SORTING ORDER: Polish
+%%
+%% Alphabetical sorting order of 0..9Aa..Zz
+%% (including accented characters)
+%% (non-Polish characters are ordered disregarding accents)
+%% (lower-upper case relation is defined for all accented characters)
+%%
+%% WARNING
+%%
+%% This is a BibTeX Codepage and Sort definition file (CSF). It is
+%% used to define the 8-bit character set used by BibTeX and the
+%% order in which those characters should be sorted. The file
+%% format is documented below this header section.
+%%
+%% This file will only work with the 8-bit implementation of BibTeX
+%% written by Niel Kempson and Alejandro Aguilar-Sierra. It is
+%% available by anonymous FTP from these Comprehensive TeX Archive
+%% Network (CTAN) sites:
+%%
+%% ftp.tex.ac.uk:/tex-archive/biblio/bibtex/8-bit
+%% ftp.shsu.edu:/tex-archive/biblio/bibtex/8-bit
+%% ftp.uni-stuttgart.de:/tex-archive/biblio/bibtex/8-bit
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE FORMAT
+%%
+%% The codepage and sorting order (CS) file defines how BibTeX will treat an
+%% 8-bit character set, specifically which characters are to be treated as
+%% letters, the upper/lower case relationships between characters, and the
+%% sorting order of characters.
+%%
+%% The CS file may contain a number of sections, each presented in the
+%% form of a TeX macro:
+%%
+%% \section-name{
+%% <section definitions>
+%% }
+%%
+%% Four sections are currently supported: \lowupcase, \lowercase, \uppercase
+%% and \order. The syntax of the four supported sections is summarised below.
+%%
+%% 8-bit characters may be entered naturally, but to avoid problems with
+%% character set translation or corruption, they can also be entered using
+%% the TeX-style portable notation for character codes, i.e. ^^XX, where XX
+%% is the hexadecimal value ofthe character code.
+%%
+%% Reading of the sections ends when the first '}' character is reached, so
+%% '}' can't be included in a section. You can't use ^^7d either.
+%%
+%% The percent sign ('%') is used to introduce a trailing comment - it and
+%% all remaining characters on a line are ignored. ^^25 has the same effect.
+%%
+%%
+%% \lowupcase section
+%%
+%% The \lowupcase section of the CS file is used to define the lower
+%% /upper and upper/lower case relationship of pairs of specified
+%% characters. It is only used if the relationship is symmetrical - use
+%% \lowercase or \upcase if it isn't.
+%%
+%% The syntax of the \lowupcase section is:
+%%
+%% \lowupcase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% equivalent of <LC-n> is <UC-n> *and* the lower case equivalent of
+%% <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower or upper case equivalent of an ASCII
+%% character (code < 128), so all instances of <LC-n> and <UC-n>
+%% (i.e. both sides of the relationship) must have codes > 127.
+%%
+%%
+%% \lowercase section
+%%
+%% The \lowercase section of the CS file is used to define the lower case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \lowercase section is:
+%%
+%% \lowercase{
+%% <UC-1> <LC-1> % Comment begins with a percent sign
+%% <UC-2> <LC-2>
+%% ...
+%% <UC-N> <LC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the lower case
+%% equivalent of <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower case equivalent of an ASCII character
+%% (code < 128), so all instances of <UC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \uppercase section
+%%
+%% The \uppercase section of the CS file is used to define the upper case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \uppercase section is:
+%%
+%% \uppercase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% case equivalent of <LC-n> is <UC-n>.
+%%
+%% You cannot redefine the upper case equivalent of an ASCII character
+%% (code < 128), so all instances of <LC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \order section
+%%
+%% The \order section of the CS file is used to define the order in which
+%% characters are sorted.
+%%
+%% The syntax of the \order section is:
+%%
+%% \order{
+%% <char-1> % Comment begins with a percent sign
+%% <char-2> <char-3> % whitespace between the chars
+%% <char-4> - <char-5> % a hyphen between the chars
+%% <char-4> _ <char-5> % an underscore between the chars
+%% ...
+%% <char-n>
+%% }
+%%
+%% All characters on the same line are given the same sorting weight.
+%%
+%% The construct <char-1> <underscore> <char-2> is used to denote that
+%% all characters in the range <char-1> to <char-2> should be given the
+%% same sorting weight. For example, "A _ Z" would cause all ASCII
+%% upper case alphabetical characters to have the same sorting weight
+%% and would be equivalent to placing all 26 characters on the same line.
+%%
+%% The construct <char-1> <hyphen> <char-2> is used to denote that all
+%% characters in the range <char-1> to <char-2> should be given an
+%% ascending set of sorting weights, starting with <char-1> and ending
+%% with <char-2>. For example, "A - Z" would cause all upper case ASCII
+%% alphabetical characters to be sorted in ascending order and would be
+%% equivalent to placing 'A' on the first line, 'B' on the second,
+%% through to 'Z' on the 26th line.
+%%
+%% The characters at the beginning of the order section are given a lower
+%% sorting weight than characters occuring later. When sorting
+%% alphabetically, characters with the lowest weight come first.
+%%
+%% All characters not in the \order section (including ASCII characters)
+%% are given the same very high sorting weight to ensure that they come
+%% last when sorting alphabetically.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%
+%% CHARACTER SET
+%%
+%% The 852 code page contains an equal number of upper and lower case
+%% accented characters so we can use the \lowupcase{} section. The
+%% \lowercase{} and \uppercase{} sections are not used.
+%%
+\lowupcase{ % Lowercase Uppercase remarks
+ % Code TeX Code TeX
+ %
+ % ^^83 \^{a} ^^b6 \^{A}
+ % ^^c7 \u{a} ^^c6 \u{A}
+ % ^^84 \"{a} ^^8e \"{A}
+ % ^^a0 \'{a} ^^b5 \'{A}
+ % ^^a5 \k{a} ^^a4 \k{A} OT4
+ % ^^87 \c{c} ^^80 \c{C}
+ % ^^9f \v{c} ^^ac \v{C}
+ % ^^86 \'{c} ^^8f \'{C}
+ % ^^d4 \v{d} ^^d2 \v{D} d caron
+ % ^^d0 \dj{} ^^d1 \DJ{} eth/ETH, not in OT4
+ % ^^89 \"{e} ^^d3 \"{E}
+ % ^^d8 \v{e} ^^b7 \v{E}
+ % ^^82 \'{e} ^^90 \'{E}
+ % ^^a9 \k{e} ^^a8 \k{E} OT4
+ % ^^8c \^{\i} ^^d7 \^{\I}
+ % ^^a1 \'{\i} ^^d6 \'{\I}
+ % ^^96 \v{l} ^^95 \v{L} l caron
+ % ^^92 \'{l} ^^91 \'{L}
+ % ^^88 \l{} ^^9d \L{}
+ % ^^e5 \v{n} ^^d5 \v{N}
+ % ^^e4 \'{n} ^^e3 \'{N}
+ % ^^8b \H{o} ^^8a \H{O}
+ % ^^94 \"{o} ^^99 \"{O}
+ % ^^93 \^{o} ^^e2 \^{O}
+ % ^^a2 \'{o} ^^e0 \'{O}
+ % ^^ea \'{r} ^^e8 \'{R}
+ % ^^fd \v{r} ^^fc \v{R}
+ % ^^ad \c{s} ^^b8 \c{S}
+ % ^^e7 \v{s} ^^e6 \v{S}
+ % ^^98 \'{s} ^^97 \'{S}
+ % ^^ee \c{t} ^^dd \c{T}
+ % ^^9c \v{t} ^^9b \v{T} t caron
+ % ^^fb \H{u} ^^eb \H{U}
+ % ^^81 \"{u} ^^9a \"{U}
+ % ^^85 \r{u} ^^de \r{U}
+ % ^^a3 \'{u} ^^e9 \'{U}
+ % ^^ec \'{y} ^^ed \'{Y}
+ % ^^a7 \v{z} ^^a6 \v{Z}
+ % ^^ab \'{z} ^^8d \'{Z}
+ % ^^be \.{z} ^^bd \.{Z}
+}
+
+
+%%
+%% SORTING ORDER
+%%
+%% The sorting order defined is the natural language sorting order
+%% of 0..9Aa..Zz (including accented characters).
+%% (non-Polish characters are ordered disregarding accents)
+%%
+\order{
+ 0-9
+ a A
+
+ b B
+ c C
+
+ d D
+ e E
+
+ f F
+ g G
+ h H
+ i I
+ j J
+ k K
+ l L
+
+ m M
+ n N
+
+ o O
+
+ p P
+ q Q
+ r R
+ s S
+
+ t T
+ u U
+ v V
+ w W
+ x X
+ y Y
+ z Z
+
+
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END OF FILE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/bibtex/csf/base/iso8859-7.csf b/Master/texmf-dist/bibtex/csf/base/iso8859-7.csf
new file mode 100644
index 00000000000..5984e51fc25
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/base/iso8859-7.csf
@@ -0,0 +1,107 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE: iso8859-7.csf
+%% $Version: 1.0 $
+%% $Date: 2001/03/31 20:48:15 $
+%%
+%% CHARACTER SET: ISO 8859-7
+%% Author : Apostolos Syropoulos apostolo@obelix.ee.duth.gr
+\lowupcase{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+%%
+%% SORTING ORDER
+%%
+%% The sorting order defined is the natural language sorting order
+%% of 0..9Aa..Zz (including accented characters).
+%%
+\order{
+ 0-9
+ A a
+ B b
+ C c
+ D d
+ E e
+ F f
+ G g
+ H h
+ I i
+ J j
+ K k
+ L l
+ M m
+ N n
+ O o
+ P p
+ Q q
+ R r
+ S s
+ T t
+ U u
+ V v
+ W w
+ X x
+ Y y
+ Z z
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END OF FILE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/bibtex/csf/dk-bib/88591-dk.csf b/Master/texmf-dist/bibtex/csf/dk-bib/88591-dk.csf
new file mode 100644
index 00000000000..6355c5421e3
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/dk-bib/88591-dk.csf
@@ -0,0 +1,106 @@
+%%% 88591-dk.csf --- Danish latin-1 sorting order file for bibtex8
+
+%% Copyright (C) 2005 Arne Jorgensen
+
+%% Author: Arne Jorgensen <arne.jorgensen@tug.dk>
+%% Version: $Id: 88591-dk.csf 71 2005-08-05 22:44:05Z arne $
+
+%% This file is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published
+%% by the Free Software Foundation; either version 2 of the License,
+%% or (at your option) any later version.
+
+%% This file is distributed in the hope that it will be useful, but
+%% WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%% General Public License for more details.
+
+%% You should have received a copy of the GNU General Public License
+%% along with this file; if not, write to the Free Software
+%% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%% 02110-1301, USA.
+
+%%% Commentary:
+
+%%% Code:
+
+%%% Character Set:
+
+\lowupcase{
+ % \`{a} \`{A}
+ % \'{a} \'{A}
+ % \^{a} \^{A}
+ % \~{a} \~{A}
+ % \"{a} \"{A}
+ % \ring{a} \ring{A}
+ % \ae \AE
+ % \c{c} \c{C}
+ % \`{e} \`{E}
+ % \'{e} \'{E}
+ % \^{e} \^{E}
+ % \"{e} \"{E}
+ % \`{\i} \`{I}
+ % \'{\i} \'{I}
+ % \^{\i} \^{I}
+ % \"{\i} \"{I}
+ % eth ETH
+ % \~{n} \~{N}
+ % \`{o} \`{O}
+ % \'{o} \'{O}
+ % \^{o} \^{O}
+ % \~{o} \~{O}
+ % \"{o} \"{O}
+ % \o \O
+ % \`{u} \`{U}
+ % \'{u} \'{U}
+ % \^{u} \^{U}
+ % \"{u} \"{U}
+ % \'{y} \'{Y}
+ % thorn THORN
+}
+
+%%% Sorting Order:
+
+%% Notice that / (THORN / thorn) will be sorted as T / t and not
+%% as Th / th as it should be. You are probably better off be putting
+%% \TH / \th into your .bib file.
+
+\order{
+ 0-9 % 0-9
+ A a % A \'{A} \`{A} \^{A} \~{A} a \'{a} \`{a} \^{a} \~{a}
+ B b % B b
+ C c % C \c{C} c \c{c}
+ D d % D ETH d eth
+ E e % E \'{E} \`{E} \"{E} \^{E} e \'{e} \`{e} \"{e} \^{e}
+ F f % F f
+ G g % G g
+ H h % H h
+ I i % I \'{I} \'{I} \"{I} \^{I} i \'{\i} \`{\i} \"{\i} \^{\i}
+ J j % J j
+ K k % K k
+ L l % L l
+ M m % M m
+ N n % N \~{N} n \~{n}
+ O o % O \'{O} \`{O} \^{O} \~{O} o \'{o} \`{o} \^{o} \~{o}
+ P p % P p
+ Q q % Q q
+ R r % R r
+ S s % S s
+ T t % T THORN t thorn
+ U u % U \'{U} \`{U} \^{U} u \'{u} \`{u} \^{u}
+ V v % V v
+ W w % W w
+ X x % X x
+ Y y % Y \"{U} \'{Y} y \"{u} \'{y} \"{y}
+ Z z % Z z
+ % \AE \"{A} \ae \"{a}
+ % \O \"{O} \o \"{o}
+ % \ring{A} \ring{a}
+}
+
+%% Local Variables:
+%% coding: iso-8859-1
+%% comment-start: "%% "
+%% End:
+
+%%% 88591-dk.csf ends here
diff --git a/Master/texmf-dist/bibtex/csf/dk-bib/cp850-dk.csf b/Master/texmf-dist/bibtex/csf/dk-bib/cp850-dk.csf
new file mode 100644
index 00000000000..263786360b8
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/dk-bib/cp850-dk.csf
@@ -0,0 +1,106 @@
+%%% cp850-dk.csf --- Danish CP 850 sorting order file for bibtex8
+
+%% Copyright (C) 2005 Arne Jorgensen
+
+%% Author: Arne Jorgensen <arne.jorgensen@tug.dk>
+%% Version: $Id: cp850-dk.csf 71 2005-08-05 22:44:05Z arne $
+
+%% This file is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published
+%% by the Free Software Foundation; either version 2 of the License,
+%% or (at your option) any later version.
+
+%% This file is distributed in the hope that it will be useful, but
+%% WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%% General Public License for more details.
+
+%% You should have received a copy of the GNU General Public License
+%% along with this file; if not, write to the Free Software
+%% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%% 02110-1301, USA.
+
+%%% Commentary:
+
+%%% Code:
+
+%%% Character Set:
+
+\lowupcase{
+ % \`{a} \`{A}
+ % \'{a} \'{A}
+ % \^{a} \^{A}
+ % \~{a} \~{A}
+ % \"{a} \"{A}
+ % \ring{a} \ring{A}
+ % \ae \AE
+ % \c{c} \c{C}
+ % \`{e} \`{E}
+ % \'{e} \'{E}
+ % \^{e} \^{E}
+ % \"{e} \"{E}
+ % \`{\i} \`{I}
+ % \'{\i} \'{I}
+ % \^{\i} \^{I}
+ % \"{\i} \"{I}
+ % eth ETH
+ % \~{n} \~{N}
+ % \`{o} \`{O}
+ % \'{o} \'{O}
+ % \^{o} \^{O}
+ % \~{o} \~{O}
+ % \"{o} \"{O}
+ % \o \O
+ % \`{u} \`{U}
+ % \'{u} \'{U}
+ % \^{u} \^{U}
+ % \"{u} \"{U}
+ % \'{y} \'{Y}
+ % thorn THORN
+}
+
+%%% Sorting Order:
+
+%% Notice that / (THORN / thorn) will be sorted as T / t and not
+%% as Th / th as it should be. You are probably better off be putting
+%% \TH / \th into your .bib file.
+
+\order{
+ 0-9 % 0-9
+ A a % A \'{A} \`{A} \^{A} \~{A} a \'{a} \`{a} \^{a} \~{a}
+ B b % B b
+ C c % C \c{C} c \c{c}
+ D d % D ETH d eth
+ E e % E \'{E} \`{E} \"{E} \^{E} e \'{e} \`{e} \"{e} \^{e}
+ F f % F f
+ G g % G g
+ H h % H h
+ I i % I \'{I} \'{I} \"{I} \^{I} i \'{\i} \`{\i} \"{\i} \^{\i}
+ J j % J j
+ K k % K k
+ L l % L l
+ M m % M m
+ N n % N \~{N} n \~{n}
+ O o % O \'{O} \`{O} \^{O} \~{O} o \'{o} \`{o} \^{o} \~{o}
+ P p % P p
+ Q q % Q q
+ R r % R r
+ S s % S s
+ T t % T THORN t thorn
+ U u % U \'{U} \`{U} \^{U} u \'{u} \`{u} \^{u}
+ V v % V v
+ W w % W w
+ X x % X x
+ Y y % Y \"{U} \'{Y} y \"{u} \'{y} \"{y}
+ Z z % Z z
+ % \AE \"{A} \ae \"{a}
+ % \O \"{O} \o \"{o}
+ % \ring{A} \ring{a}
+}
+
+%% Local Variables:
+%% coding: cp850
+%% comment-start: "%% "
+%% End:
+
+%%% cp850-dk.csf ends here
diff --git a/Master/texmf-dist/bibtex/csf/dk-bib/mac-dk.csf b/Master/texmf-dist/bibtex/csf/dk-bib/mac-dk.csf
new file mode 100644
index 00000000000..653459365b3
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/dk-bib/mac-dk.csf
@@ -0,0 +1,99 @@
+%%% mac-dk.csf --- Danish mac-roman sorting order file for bibtex8
+
+%% Copyright (C) 2005 Arne Jorgensen
+
+%% Author: Arne Jorgensen <arne.jorgensen@tug.dk>
+%% Version: $Id: mac-dk.csf 70 2005-08-03 11:13:09Z arne $
+
+%% This file is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published
+%% by the Free Software Foundation; either version 2 of the License,
+%% or (at your option) any later version.
+
+%% This file is distributed in the hope that it will be useful, but
+%% WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%% General Public License for more details.
+
+%% You should have received a copy of the GNU General Public License
+%% along with this file; if not, write to the Free Software
+%% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%% 02110-1301, USA.
+
+%%% Commentary:
+
+%%% Code:
+
+%%% Character Set:
+
+\lowupcase{
+ % \`{a} \`{A}
+ % \'{a} \'{A}
+ % \^{a} \^{A}
+ % \~{a} \~{A}
+ % \"{a} \"{A}
+ % \ring{a} \ring{A}
+ % \ae \AE
+ % \c{c} \c{C}
+ % \`{e} \`{E}
+ % \'{e} \'{E}
+ % \^{e} \^{E}
+ % \"{e} \"{E}
+ % \`{\i} \`{I}
+ % \'{\i} \'{I}
+ % \^{\i} \^{I}
+ % \"{\i} \"{I}
+ % \~{n} \~{N}
+ % \`{o} \`{O}
+ % \'{o} \'{O}
+ % \^{o} \^{O}
+ % \~{o} \~{O}
+ % \"{o} \"{O}
+ % \o \O
+ % \`{u} \`{U}
+ % \'{u} \'{U}
+ % \^{u} \^{U}
+ % \"{u} \"{U}
+}
+
+%%% Sorting Order:
+
+\order{
+ 0-9 % 0-9
+ A a % A \'{A} \`{A} \^{A} \~{A} a \'{a} \`{a} \^{a} \~{a}
+ B b % B b
+ C c % C \c{C} c \c{c}
+ D d % D d
+ E e % E \'{E} \`{E} \"{E} \^{E} e \'{e} \`{e} \"{e} \^{e}
+ F f % F f
+ G g % G g
+ H h % H h
+ I i % I \'{I} \'{I} \"{I} \^{I} i \'{\i} \`{\i} \"{\i} \^{\i}
+ J j % J j
+ K k % K k
+ L l % L l
+ M m % M m
+ N n % N \~{N} n \~{n}
+ O o % O \'{O} \`{O} \^{O} \~{O} o \'{o} \`{o} \^{o} \~{o}
+ P p % P p
+ Q q % Q q
+ R r % R r
+ S s % S s
+ T t % T t
+ U u % U \'{U} \`{U} \^{U} u \'{u} \`{u} \^{u}
+ V v % V v
+ W w % W w
+ X x % X x
+ Y y % Y \"{U} y \"{u} \"{y}
+ Z z % Z z
+ % \AE \"{A} \ae \"{a}
+ % \O \"{O} \o \"{o}
+ % \ring{A} \ring{a}
+}
+
+%% Local Variables:
+%% coding: mac-roman
+%% comment-start: "%% "
+%% End:
+
+%%% mac-dk.csf ends here
diff --git a/Master/texmf-dist/bibtex/csf/dk-bib/utf8-dk.csf b/Master/texmf-dist/bibtex/csf/dk-bib/utf8-dk.csf
new file mode 100644
index 00000000000..590841f46fc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/dk-bib/utf8-dk.csf
@@ -0,0 +1,127 @@
+%%% utf8-dk.csf --- Danish UTF-8 sorting order file for bibtex8
+
+%% Copyright (C) 2005 Arne Jorgensen
+
+%% Author: Arne Jorgensen <arne.jorgensen@tug.dk>
+%% Version: $Id: utf8-dk.csf 71 2005-08-05 22:44:05Z arne $
+
+%% This file is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published
+%% by the Free Software Foundation; either version 2 of the License,
+%% or (at your option) any later version.
+
+%% This file is distributed in the hope that it will be useful, but
+%% WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%% General Public License for more details.
+
+%% You should have received a copy of the GNU General Public License
+%% along with this file; if not, write to the Free Software
+%% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%% 02110-1301, USA.
+
+%%% Commentary:
+
+%% This is a VERY EXPERIMENTAL shot at making a sorting order file for
+%% the Danish language and the UTF-8 character set.
+
+%% Generally it should not be possible to fit a sorting of the UTF-8
+%% character set into bibtex8's scheme, but we try to use some hacks
+%% and unexplained behaviour to fit it in anyway.
+
+%% As we said VERY EXPERIMENTAL.
+
+%% Please report any experiences to the author.
+
+%%% Code:
+
+%%% Character Set:
+
+%% Whether this really works for UTF-8 is a big question. Please
+%% report expriences with it.
+
+\lowupcase{
+ ^^a0 ^^80 % \`{a} \`{A}
+ ^^a1 ^^81 % \'{a} \'{A}
+ ^^a2 ^^82 % \^{a} \^{A}
+ ^^a3 ^^83 % \~{a} \~{A}
+ ^^a4 ^^84 % \"{a} \"{A}
+ ^^a5 ^^85 % \ring{a} \ring{A}
+ ^^a6 ^^86 % \ae \AE
+ ^^a7 ^^87 % \c{c} \c{C}
+ ^^a8 ^^88 % \`{e} \`{E}
+ ^^a9 ^^89 % \'{e} \'{E}
+ ^^aa ^^8a % \^{e} \^{E}
+ ^^ab ^^8b % \"{e} \"{E}
+ ^^ac ^^8c % \`{\i} \`{I}
+ ^^ad ^^8d % \'{\i} \'{I}
+ ^^ae ^^8e % \^{\i} \^{I}
+ ^^af ^^8f % \"{\i} \"{I}
+ ^^b0 ^^90 % eth ETH
+ ^^b1 ^^91 % \~{n} \~{N}
+ ^^b2 ^^92 % \`{o} \`{O}
+ ^^b3 ^^93 % \'{o} \'{O}
+ ^^b4 ^^94 % \^{o} \^{O}
+ ^^b5 ^^95 % \~{o} \~{O}
+ ^^b6 ^^96 % \"{o} \"{O}
+ ^^b8 ^^98 % \o \O
+ ^^b9 ^^99 % \`{u} \`{U}
+ ^^ba ^^9a % \'{u} \'{U}
+ ^^bb ^^9b % \^{u} \^{U}
+ ^^bc ^^9c % \"{u} \"{U}
+ ^^bd ^^9d % \'{y} \'{Y}
+ ^^be ^^9e % thorn THORN
+}
+
+%%% Sorting Order:
+
+%% For sorting we rely on the fact that the most used and relevant
+%% parts of the special characters in Danish in UTF-8 is encoded as
+%% the two-byte combination of a ^^c3 and a second byte which is
+%% placed above value ^^7f and thus does not collide with the normal
+%% character ranges.
+
+%% So we leave out ^^c3 of the sorting order and there by ignoring
+%% it's presence (it shouldn't be ignored, but sorted last, but it
+%% actually IS ignored) and let the second byte decide the order of
+%% the character.
+
+\order{
+ 0-9 % 0-9
+ A ^^81 ^^80 ^^82 ^^83 a ^^a1 ^^a0 ^^a2 ^^a3 % A \'{A} \`{A} \^{A} \~{A} a \'{a} \`{a} \^{a} \~{a}
+ B b % B b
+ C ^^87 c ^^a7 % C \c{C} c \c{c}
+ D ^^90 d ^^b0 % D ETH d eth
+ E ^^89 ^^88 ^^8b ^^8a e ^^a9 ^^a8 ^^ab ^^aa % E \'{E} \`{E} \"{E} \^{E} e \'{e} \`{e} \"{e} \^{e}
+ F f % F f
+ G g % G g
+ H h % H h
+ I ^^8d ^^8c ^^8f ^^8e i ^^ad ^^ac ^^af ^^ae % I \'{I} \`{I} \"{I} \^{I} i \'{\i} \`{\i} \"{\i} \^{\i}
+ J j % J j
+ K k % K k
+ L l % L l
+ M m % M m
+ N ^^91 n ^^b1 % N \~{N} n \~{n}
+ O ^^93 ^^92 ^^94 ^^95 o ^^b3 ^^b2 ^^b4 ^^b5 % O \'{O} \`{O} \^{O} \~{O} o \'{o} \`{o} \^{o} \~{o}
+ P p % P p
+ Q q % Q q
+ R r % R r
+ S s % S s
+ T ^^9e t ^^be % T THORN t thorn
+ U ^^9a ^^99 ^^9b u ^^ba ^^b9 ^^bb % U \'{U} \`{U} \^{U} u \'{u} \`{u} \^{u}
+ V v % V v
+ W w % W w
+ X x % X x
+ Y ^^9c ^^9d y ^^bc ^^bd ^^bf % Y \"{U} \'{Y} y \"{u} \'{y} \"{y}
+ Z z % Z z
+ ^^86 ^^84 ^^a6 ^^a4 % \AE \"{A} \ae \"{a}
+ ^^98 ^^96 ^^b8 ^^b6 % \O \"{O} \o \"{o}
+ ^^85 ^^a5 % \ring{A} \ring{a}
+}
+
+%% Local Variables:
+%% coding: raw-text
+%% comment-start: "%% "
+%% End:
+
+%%% utf8-dk.csf ends here
diff --git a/Master/texmf-dist/bibtex/csf/gost/cp1251.csf b/Master/texmf-dist/bibtex/csf/gost/cp1251.csf
new file mode 100644
index 00000000000..692238930ba
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/gost/cp1251.csf
@@ -0,0 +1,275 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% CHARACTER SET: Cyrillic (CP 1251)
+%%
+%% SORTING ORDER: Ukrainian/Russian (First Cyrillic then Latin)
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE FORMAT
+%%
+%% The codepage and sorting order (CS) file defines how BibTeX will treat an
+%% 8-bit character set, specifically which characters are to be treated as
+%% letters, the upper/lower case relationships between characters, and the
+%% sorting order of characters.
+%%
+%% The CS file may contain a number of sections, each presented in the
+%% form of a TeX macro:
+%%
+%% \section-name{
+%% <section definitions>
+%% }
+%%
+%% Four sections are currently supported: \lowupcase, \lowercase, \uppercase
+%% and \order. The syntax of the four supported sections is summarised below.
+%%
+%% 8-bit characters may be entered naturally, but to avoid problems with
+%% character set translation or corruption, they can also be entered using
+%% the TeX-style portable notation for character codes, i.e. ^^XX, where XX
+%% is the hexadecimal value ofthe character code.
+%%
+%% Reading of the sections ends when the first '}' character is reached, so
+%% '}' can't be included in a section. You can't use ^^7d either.
+%%
+%% The percent sign ('%') is used to introduce a trailing comment - it and
+%% all remaining characters on a line are ignored. ^^25 has the same effect.
+%%
+%%
+%% \lowupcase section
+%%
+%% The \lowupcase section of the CS file is used to define the lower
+%% /upper and upper/lower case relationship of pairs of specified
+%% characters. It is only used if the relationship is symmetrical - use
+%% \lowercase or \upcase if it isn't.
+%%
+%% The syntax of the \lowupcase section is:
+%%
+%% \lowupcase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% equivalent of <LC-n> is <UC-n> *and* the lower case equivalent of
+%% <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower or upper case equivalent of an ASCII
+%% character (code < 128), so all instances of <LC-n> and <UC-n>
+%% (i.e. both sides of the relationship) must have codes > 127.
+%%
+%%
+%% \lowercase section
+%%
+%% The \lowercase section of the CS file is used to define the lower case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \lowercase section is:
+%%
+%% \lowercase{
+%% <UC-1> <LC-1> % Comment begins with a percent sign
+%% <UC-2> <LC-2>
+%% ...
+%% <UC-N> <LC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the lower case
+%% equivalent of <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower case equivalent of an ASCII character
+%% (code < 128), so all instances of <UC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \uppercase section
+%%
+%% The \uppercase section of the CS file is used to define the upper case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \uppercase section is:
+%%
+%% \uppercase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% case equivalent of <LC-n> is <UC-n>.
+%%
+%% You cannot redefine the upper case equivalent of an ASCII character
+%% (code < 128), so all instances of <LC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \order section
+%%
+%% The \order section of the CS file is used to define the order in which
+%% characters are sorted.
+%%
+%% The syntax of the \order section is:
+%%
+%% \order{
+%% <char-1> % Comment begins with a percent sign
+%% <char-2> <char-3> % whitespace between the chars
+%% <char-4> - <char-5> % a hyphen between the chars
+%% <char-4> _ <char-5> % an underscore between the chars
+%% ...
+%% <char-n>
+%% }
+%%
+%% All characters on the same line are given the same sorting weight.
+%%
+%% The construct <char-1> <underscore> <char-2> is used to denote that
+%% all characters in the range <char-1> to <char-2> should be given the
+%% same sorting weight. For example, "A _ Z" would cause all ASCII
+%% upper case alphabetical characters to have the same sorting weight
+%% and would be equivalent to placing all 26 characters on the same line.
+%%
+%% The construct <char-1> <hyphen> <char-2> is used to denote that all
+%% characters in the range <char-1> to <char-2> should be given an
+%% ascending set of sorting weights, starting with <char-1> and ending
+%% with <char-2>. For example, "A - Z" would cause all upper case ASCII
+%% alphabetical characters to be sorted in ascending order and would be
+%% equivalent to placing 'A' on the first line, 'B' on the second,
+%% through to 'Z' on the 26th line.
+%%
+%% The characters at the beginning of the order section are given a lower
+%% sorting weight than characters occuring later. When sorting
+%% alphabetically, characters with the lowest weight come first.
+%%
+%% All characters not in the \order section (including ASCII characters)
+%% are given the same very high sorting weight to ensure that they come
+%% last when sorting alphabetically.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%
+%% CHARACTER SET
+%%
+\lowupcase{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+%%
+%% SORTING ORDER
+%%
+%%
+\order{
+ 0-9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A a
+ B b
+ C c
+ D d
+ E e
+ F f
+ G g
+ H h
+ I i
+ J j
+ K k
+ L l
+ M m
+ N n
+ O o
+ P p
+ Q q
+ R r
+ S s
+ T t
+ U u
+ V v
+ W w
+ X x
+ Y y
+ Z z
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END OF FILE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/bibtex/csf/gost/koi8u.csf b/Master/texmf-dist/bibtex/csf/gost/koi8u.csf
new file mode 100644
index 00000000000..f84ae4870ad
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/gost/koi8u.csf
@@ -0,0 +1,275 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% CHARACTER SET: Cyrillic (koi8-u)
+%%
+%% SORTING ORDER: Ukrainian/Russian (First Cyrillic then Latin)
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE FORMAT
+%%
+%% The codepage and sorting order (CS) file defines how BibTeX will treat an
+%% 8-bit character set, specifically which characters are to be treated as
+%% letters, the upper/lower case relationships between characters, and the
+%% sorting order of characters.
+%%
+%% The CS file may contain a number of sections, each presented in the
+%% form of a TeX macro:
+%%
+%% \section-name{
+%% <section definitions>
+%% }
+%%
+%% Four sections are currently supported: \lowupcase, \lowercase, \uppercase
+%% and \order. The syntax of the four supported sections is summarised below.
+%%
+%% 8-bit characters may be entered naturally, but to avoid problems with
+%% character set translation or corruption, they can also be entered using
+%% the TeX-style portable notation for character codes, i.e. ^^XX, where XX
+%% is the hexadecimal value ofthe character code.
+%%
+%% Reading of the sections ends when the first '}' character is reached, so
+%% '}' can't be included in a section. You can't use ^^7d either.
+%%
+%% The percent sign ('%') is used to introduce a trailing comment - it and
+%% all remaining characters on a line are ignored. ^^25 has the same effect.
+%%
+%%
+%% \lowupcase section
+%%
+%% The \lowupcase section of the CS file is used to define the lower
+%% /upper and upper/lower case relationship of pairs of specified
+%% characters. It is only used if the relationship is symmetrical - use
+%% \lowercase or \upcase if it isn't.
+%%
+%% The syntax of the \lowupcase section is:
+%%
+%% \lowupcase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% equivalent of <LC-n> is <UC-n> *and* the lower case equivalent of
+%% <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower or upper case equivalent of an ASCII
+%% character (code < 128), so all instances of <LC-n> and <UC-n>
+%% (i.e. both sides of the relationship) must have codes > 127.
+%%
+%%
+%% \lowercase section
+%%
+%% The \lowercase section of the CS file is used to define the lower case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \lowercase section is:
+%%
+%% \lowercase{
+%% <UC-1> <LC-1> % Comment begins with a percent sign
+%% <UC-2> <LC-2>
+%% ...
+%% <UC-N> <LC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the lower case
+%% equivalent of <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower case equivalent of an ASCII character
+%% (code < 128), so all instances of <UC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \uppercase section
+%%
+%% The \uppercase section of the CS file is used to define the upper case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \uppercase section is:
+%%
+%% \uppercase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% case equivalent of <LC-n> is <UC-n>.
+%%
+%% You cannot redefine the upper case equivalent of an ASCII character
+%% (code < 128), so all instances of <LC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \order section
+%%
+%% The \order section of the CS file is used to define the order in which
+%% characters are sorted.
+%%
+%% The syntax of the \order section is:
+%%
+%% \order{
+%% <char-1> % Comment begins with a percent sign
+%% <char-2> <char-3> % whitespace between the chars
+%% <char-4> - <char-5> % a hyphen between the chars
+%% <char-4> _ <char-5> % an underscore between the chars
+%% ...
+%% <char-n>
+%% }
+%%
+%% All characters on the same line are given the same sorting weight.
+%%
+%% The construct <char-1> <underscore> <char-2> is used to denote that
+%% all characters in the range <char-1> to <char-2> should be given the
+%% same sorting weight. For example, "A _ Z" would cause all ASCII
+%% upper case alphabetical characters to have the same sorting weight
+%% and would be equivalent to placing all 26 characters on the same line.
+%%
+%% The construct <char-1> <hyphen> <char-2> is used to denote that all
+%% characters in the range <char-1> to <char-2> should be given an
+%% ascending set of sorting weights, starting with <char-1> and ending
+%% with <char-2>. For example, "A - Z" would cause all upper case ASCII
+%% alphabetical characters to be sorted in ascending order and would be
+%% equivalent to placing 'A' on the first line, 'B' on the second,
+%% through to 'Z' on the 26th line.
+%%
+%% The characters at the beginning of the order section are given a lower
+%% sorting weight than characters occuring later. When sorting
+%% alphabetically, characters with the lowest weight come first.
+%%
+%% All characters not in the \order section (including ASCII characters)
+%% are given the same very high sorting weight to ensure that they come
+%% last when sorting alphabetically.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%
+%% CHARACTER SET
+%%
+\lowupcase{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+%%
+%% SORTING ORDER
+%%
+%%
+\order{
+ 0-9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A a
+ B b
+ C c
+ D d
+ E e
+ F f
+ G g
+ H h
+ I i
+ J j
+ K k
+ L l
+ M m
+ N n
+ O o
+ P p
+ Q q
+ R r
+ S s
+ T t
+ U u
+ V v
+ W w
+ X x
+ Y y
+ Z z
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END OF FILE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/bibtex/csf/gost/ruscii.csf b/Master/texmf-dist/bibtex/csf/gost/ruscii.csf
new file mode 100644
index 00000000000..6f20a6f8af0
--- /dev/null
+++ b/Master/texmf-dist/bibtex/csf/gost/ruscii.csf
@@ -0,0 +1,275 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% CHARACTER SET: Cyrillic (CP 866nav aka RUSCII)
+%%
+%% SORTING ORDER: Ukrainian/Russian (First Cyrillic then Latin)
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% FILE FORMAT
+%%
+%% The codepage and sorting order (CS) file defines how BibTeX will treat an
+%% 8-bit character set, specifically which characters are to be treated as
+%% letters, the upper/lower case relationships between characters, and the
+%% sorting order of characters.
+%%
+%% The CS file may contain a number of sections, each presented in the
+%% form of a TeX macro:
+%%
+%% \section-name{
+%% <section definitions>
+%% }
+%%
+%% Four sections are currently supported: \lowupcase, \lowercase, \uppercase
+%% and \order. The syntax of the four supported sections is summarised below.
+%%
+%% 8-bit characters may be entered naturally, but to avoid problems with
+%% character set translation or corruption, they can also be entered using
+%% the TeX-style portable notation for character codes, i.e. ^^XX, where XX
+%% is the hexadecimal value ofthe character code.
+%%
+%% Reading of the sections ends when the first '}' character is reached, so
+%% '}' can't be included in a section. You can't use ^^7d either.
+%%
+%% The percent sign ('%') is used to introduce a trailing comment - it and
+%% all remaining characters on a line are ignored. ^^25 has the same effect.
+%%
+%%
+%% \lowupcase section
+%%
+%% The \lowupcase section of the CS file is used to define the lower
+%% /upper and upper/lower case relationship of pairs of specified
+%% characters. It is only used if the relationship is symmetrical - use
+%% \lowercase or \upcase if it isn't.
+%%
+%% The syntax of the \lowupcase section is:
+%%
+%% \lowupcase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% equivalent of <LC-n> is <UC-n> *and* the lower case equivalent of
+%% <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower or upper case equivalent of an ASCII
+%% character (code < 128), so all instances of <LC-n> and <UC-n>
+%% (i.e. both sides of the relationship) must have codes > 127.
+%%
+%%
+%% \lowercase section
+%%
+%% The \lowercase section of the CS file is used to define the lower case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \lowercase section is:
+%%
+%% \lowercase{
+%% <UC-1> <LC-1> % Comment begins with a percent sign
+%% <UC-2> <LC-2>
+%% ...
+%% <UC-N> <LC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the lower case
+%% equivalent of <UC-n> is <LC-n>.
+%%
+%% You cannot redefine the lower case equivalent of an ASCII character
+%% (code < 128), so all instances of <UC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \uppercase section
+%%
+%% The \uppercase section of the CS file is used to define the upper case
+%% equivalent of specified characters. It should normally only be used
+%% if the relationship isn't symmetrical - use \lowupcase if it is.
+%%
+%% The syntax of the \uppercase section is:
+%%
+%% \uppercase{
+%% <LC-1> <UC-1> % Comment begins with a percent sign
+%% <LC-2> <UC-2>
+%% ...
+%% <LC-N> <UC-N>
+%% }
+%%
+%% Each <LC-n> <UC-n> pair of characters defines that the upper case
+%% case equivalent of <LC-n> is <UC-n>.
+%%
+%% You cannot redefine the upper case equivalent of an ASCII character
+%% (code < 128), so all instances of <LC-n> (i.e. the left hand side
+%% of the relationship) must have codes > 127.
+%%
+%%
+%% \order section
+%%
+%% The \order section of the CS file is used to define the order in which
+%% characters are sorted.
+%%
+%% The syntax of the \order section is:
+%%
+%% \order{
+%% <char-1> % Comment begins with a percent sign
+%% <char-2> <char-3> % whitespace between the chars
+%% <char-4> - <char-5> % a hyphen between the chars
+%% <char-4> _ <char-5> % an underscore between the chars
+%% ...
+%% <char-n>
+%% }
+%%
+%% All characters on the same line are given the same sorting weight.
+%%
+%% The construct <char-1> <underscore> <char-2> is used to denote that
+%% all characters in the range <char-1> to <char-2> should be given the
+%% same sorting weight. For example, "A _ Z" would cause all ASCII
+%% upper case alphabetical characters to have the same sorting weight
+%% and would be equivalent to placing all 26 characters on the same line.
+%%
+%% The construct <char-1> <hyphen> <char-2> is used to denote that all
+%% characters in the range <char-1> to <char-2> should be given an
+%% ascending set of sorting weights, starting with <char-1> and ending
+%% with <char-2>. For example, "A - Z" would cause all upper case ASCII
+%% alphabetical characters to be sorted in ascending order and would be
+%% equivalent to placing 'A' on the first line, 'B' on the second,
+%% through to 'Z' on the 26th line.
+%%
+%% The characters at the beginning of the order section are given a lower
+%% sorting weight than characters occuring later. When sorting
+%% alphabetically, characters with the lowest weight come first.
+%%
+%% All characters not in the \order section (including ASCII characters)
+%% are given the same very high sorting weight to ensure that they come
+%% last when sorting alphabetically.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%
+%% CHARACTER SET
+%%
+\lowupcase{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
+
+
+
+%%
+%% SORTING ORDER
+%%
+%%
+\order{
+ 0-9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A a
+ B b
+ C c
+ D d
+ E e
+ F f
+ G g
+ H h
+ I i
+ J j
+ K k
+ L l
+ M m
+ N n
+ O o
+ P p
+ Q q
+ R r
+ S s
+ T t
+ U u
+ V v
+ W w
+ X x
+ Y y
+ Z z
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END OF FILE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%